diff --git a/.azure-pipelines-preproduction/package-lock.json b/.azure-pipelines-preproduction/package-lock.json
index 868605f56898..741489043b83 100644
--- a/.azure-pipelines-preproduction/package-lock.json
+++ b/.azure-pipelines-preproduction/package-lock.json
@@ -88,9 +88,9 @@
}
},
"@azure/rest-api-specs-scripts": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.5.0.tgz",
- "integrity": "sha512-UJ7IF1P1/j3N64WNUdazc1Sutna+mqfuoBAuzAhDu9Gwunkjbo0cx2UVmcdwctHJ81OnjWRak1so0Rsn2hPVOg==",
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.5.1.tgz",
+ "integrity": "sha512-Nwi4jsHMVG1Pd3hJAh5D8JxTlx6PaDpYNfDrQSG3QAvVwE5n+MK9SmHL47akDfhKJQibuPompKwgw55Gy23Reg==",
"dev": true,
"requires": {
"@azure/avocado": "^0.4.1",
@@ -100,7 +100,7 @@
"fs-extra": "^7.0.1",
"glob": "^7.1.3",
"js-yaml": "^3.13.1",
- "oav": "^0.18.1",
+ "oav": "^0.19.6",
"request": "^2.88.0"
},
"dependencies": {
@@ -151,21 +151,19 @@
"dev": true
},
"@octokit/endpoint": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.3.2.tgz",
- "integrity": "sha512-gRjteEM9I6f4D8vtwU2iGUTn9RX/AJ0SVXiqBUEuYEWVGGAVjSXdT0oNmghH5lvQNWs8mwt6ZaultuG6yXivNw==",
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.3.5.tgz",
+ "integrity": "sha512-f8KqzIrnzPLiezDsZZPB+K8v8YSv6aKFl7eOu59O46lmlW4HagWl1U6NWl6LmT8d1w7NsKBI3paVtzcnRGO1gw==",
"dev": true,
"requires": {
- "deepmerge": "4.0.0",
"is-plain-object": "^3.0.0",
- "universal-user-agent": "^3.0.0",
- "url-template": "^2.0.8"
+ "universal-user-agent": "^4.0.0"
}
},
"@octokit/request": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.0.2.tgz",
- "integrity": "sha512-z1BQr43g4kOL4ZrIVBMHwi68Yg9VbkRUyuAgqCp1rU3vbYa69+2gIld/+gHclw15bJWQnhqqyEb7h5a5EqgZ0A==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.1.0.tgz",
+ "integrity": "sha512-I15T9PwjFs4tbWyhtFU2Kq7WDPidYMvRB7spmxoQRZfxSmiqullG+Nz+KbSmpkfnlvHwTr1e31R5WReFRKMXjg==",
"dev": true,
"requires": {
"@octokit/endpoint": "^5.1.0",
@@ -174,7 +172,7 @@
"is-plain-object": "^3.0.0",
"node-fetch": "^2.3.0",
"once": "^1.4.0",
- "universal-user-agent": "^3.0.0"
+ "universal-user-agent": "^4.0.0"
}
},
"@octokit/request-error": {
@@ -188,9 +186,9 @@
}
},
"@octokit/rest": {
- "version": "16.28.7",
- "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.28.7.tgz",
- "integrity": "sha512-cznFSLEhh22XD3XeqJw51OLSfyL2fcFKUO+v2Ep9MTAFfFLS1cK1Zwd1yEgQJmJoDnj4/vv3+fGGZweG+xsbIA==",
+ "version": "16.28.9",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.28.9.tgz",
+ "integrity": "sha512-IKGnX+Tvzt7XHhs8f4ajqxyJvYAMNX5nWfoJm4CQj8LZToMiaJgutf5KxxpxoC3y5w7JTJpW5rnWnF4TsIvCLA==",
"dev": true,
"requires": {
"@octokit/request": "^5.0.0",
@@ -204,8 +202,7 @@
"lodash.uniq": "^4.5.0",
"octokit-pagination-methods": "^1.1.0",
"once": "^1.4.0",
- "universal-user-agent": "^3.0.0",
- "url-template": "^2.0.8"
+ "universal-user-agent": "^4.0.0"
}
},
"@ts-common/add-position": {
@@ -373,6 +370,12 @@
"integrity": "sha512-SGGAhXLHDx+PK4YLNcNGa6goPf9XRWQNAUUbffkwVGGXIxmDKWyGGL4inzq2sPmExu431Ekb9aEMn9BkPqEYFA==",
"dev": true
},
+ "@types/jsonpath": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@types/jsonpath/-/jsonpath-0.2.0.tgz",
+ "integrity": "sha512-v7qlPA0VpKUlEdhghbDqRoKMxFB3h3Ch688TApBJ6v+XLDdvWCGLJIYiPKGZnS6MAOie+IorCfNYVHOPIHSWwQ==",
+ "dev": true
+ },
"@types/minimatch": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
@@ -1473,12 +1476,6 @@
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
- "deepmerge": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.0.0.tgz",
- "integrity": "sha512-YZ1rOP5+kHor4hMAH+HRQnBQHg+wvS1un1hAOuIcxcBy0hzcUf6Jg2a1w65kpoOUnurOfZbERwjI1TfZxNjcww==",
- "dev": true
- },
"define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
@@ -2229,9 +2226,9 @@
"dev": true
},
"handlebars": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz",
- "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.2.0.tgz",
+ "integrity": "sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw==",
"dev": true,
"requires": {
"neo-async": "^2.6.0",
@@ -3582,21 +3579,22 @@
"dev": true
},
"oav": {
- "version": "0.18.6",
- "resolved": "https://registry.npmjs.org/oav/-/oav-0.18.6.tgz",
- "integrity": "sha512-qDMtwnEMZOCdqonzxR7ICbYcSsLkzXpcrZQHsFN9EgGXKUJ9cwPwV2zEba1+fk6WsW/id79cZWfFT0y3XBxiuA==",
+ "version": "0.19.6",
+ "resolved": "https://registry.npmjs.org/oav/-/oav-0.19.6.tgz",
+ "integrity": "sha512-JAATj7YPAm7v7ciPNn3MlnHHsd6GrTPyOJRqW6adWzUg2UQ8zor4jJuotNmsCes5Xq01MqbYOnTEwc/U+or2XA==",
"dev": true,
"requires": {
"@azure/openapi-markdown": "^0.9.0",
"@microsoft.azure/autorest-extension-base": "1.0.13",
"@ts-common/commonmark-to-markdown": "^1.2.0",
- "@ts-common/iterator": "^0.3.1",
- "@ts-common/json": "^0.3.0",
- "@ts-common/json-parser": "^0.7.0",
+ "@ts-common/iterator": "^0.3.6",
+ "@ts-common/json": "^0.3.1",
+ "@ts-common/json-parser": "^0.8.0",
"@ts-common/property-set": "^0.1.0",
"@ts-common/source-map": "^0.5.0",
"@ts-common/string-map": "^0.3.0",
"@ts-common/virtual-fs": "^0.2.0",
+ "@types/jsonpath": "^0.2.0",
"commonmark": "^0.29.0",
"glob": "^5.0.15",
"globby": "^9.2.0",
@@ -3614,24 +3612,11 @@
"vscode-jsonrpc": "^3.6.2",
"winston": "^3.2.1",
"yargs": "^6.6.0",
- "yasway": "^1.8.3",
+ "yasway": "^1.8.4",
"yuml2svg": "^4.2.1",
"z-schema": "^4.1.0"
},
"dependencies": {
- "@ts-common/json-parser": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/@ts-common/json-parser/-/json-parser-0.7.2.tgz",
- "integrity": "sha512-Rb0bA/maGzfjA7ZegDvfDABF+vz2norftJX80aTOLb88gLd2+SnD6gYVg3nZH9FpA5/34JXFDvMs4Fb5GuPoew==",
- "dev": true,
- "requires": {
- "@ts-common/iterator": "^0.3.4",
- "@ts-common/json": "^0.3.1",
- "@ts-common/source-map": "^0.5.0",
- "@ts-common/string-map": "^0.3.0",
- "tslib": "^1.9.3"
- }
- },
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
@@ -4186,9 +4171,9 @@
"dev": true
},
"psl": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz",
- "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
+ "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==",
"dev": true
},
"pump": {
@@ -5176,12 +5161,12 @@
}
},
"universal-user-agent": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-3.0.0.tgz",
- "integrity": "sha512-T3siHThqoj5X0benA5H0qcDnrKGXzU8TKoX15x/tQHw1hQBvIEBHjxQ2klizYsqBOO/Q+WuxoQUihadeeqDnoA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz",
+ "integrity": "sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA==",
"dev": true,
"requires": {
- "os-name": "^3.0.0"
+ "os-name": "^3.1.0"
}
},
"universalify": {
@@ -5251,12 +5236,6 @@
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
"dev": true
},
- "url-template": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz",
- "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=",
- "dev": true
- },
"use": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
@@ -5700,9 +5679,9 @@
}
},
"yasway": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/yasway/-/yasway-1.8.3.tgz",
- "integrity": "sha512-4cBs1eK6HiEe8AvwRNztRdWQnvkuermxRfFVRekk2y/fpna99AQ5b9ByDY/hwWkW80bGipAXoDMI3Ifqol2+tg==",
+ "version": "1.8.4",
+ "resolved": "https://registry.npmjs.org/yasway/-/yasway-1.8.4.tgz",
+ "integrity": "sha512-Oo6dFvmazhQU6ceazUm59BVraptSXTDhvpW2K14DcpgeyTAyUUpJjuE7HJ4qyF+Ci6blIaQq9mOVHj8pCFhEjQ==",
"dev": true,
"requires": {
"@ts-common/json": "^0.3.0",
diff --git a/.azure-pipelines-preproduction/package.json b/.azure-pipelines-preproduction/package.json
index 16d902361c0a..c21610ca5bc0 100644
--- a/.azure-pipelines-preproduction/package.json
+++ b/.azure-pipelines-preproduction/package.json
@@ -11,7 +11,7 @@
"license": "MIT",
"devDependencies": {
"@azure/avocado": "^0.6.0",
- "@azure/rest-api-specs-scripts": "^0.5.0",
+ "@azure/rest-api-specs-scripts": "^0.5.1",
"@ts-common/commonmark-to-markdown": "^1.2.0",
"@ts-common/fs": "0.2.0",
"@ts-common/iterator": "^0.3.6",
@@ -35,7 +35,7 @@
},
"scripts": {
"test": "tsc && mocha -t 500000 --reporter min",
- "spellcheck": "cspell \"specification/**/*.json\"",
+ "spellcheck": "ts-node ./scripts/spellcheck.ts",
"tsc": "tsc",
"multiapi": "ts-node ./scripts/multiapi.ts"
}
diff --git a/.azure-pipelines/SwaggerToSDK.yml b/.azure-pipelines/SwaggerToSDK.yml
index 1b460d95141b..10c37492cf05 100644
--- a/.azure-pipelines/SwaggerToSDK.yml
+++ b/.azure-pipelines/SwaggerToSDK.yml
@@ -1,6 +1,6 @@
jobs:
- job: "SDK"
- timeoutInMinutes: 120
+ timeoutInMinutes: 180
strategy:
matrix:
java:
@@ -9,9 +9,6 @@ jobs:
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: ''
@@ -25,4 +22,4 @@ jobs:
steps:
- script: echo $(NODE_OPTIONS)
- script: "scripts/swagger-to-sdk.sh Azure/$(AZURE_SDK_REPO) -v $(AZURE_SDK_PARAMS)"
- displayName: "Swagger to SDK script"
\ No newline at end of file
+ displayName: "Swagger to SDK script"
diff --git a/.github/reviewer.yml b/.github/reviewer.yml
new file mode 100644
index 000000000000..0fd114e380a7
--- /dev/null
+++ b/.github/reviewer.yml
@@ -0,0 +1,15 @@
+# This file is openapi-email-bot to store reviewer email address.
+---
+- group:
+ name: default
+ users:
+ - githubID: ruowan
+ email: ruowan@microsoft.com
+ - githubID: raych1
+ email: raychen@microsoft.com
+ - githubID: MyronFanQiu
+ email: fanqiu@microsoft.com
+ - githubID: yungezz
+ email: yungez@microsoft.com
+ - githubID: lirenhe
+ email: Renhe.Li@microsoft.com
diff --git a/.github/sla.yml b/.github/sla.yml
new file mode 100644
index 000000000000..1fcec5d02411
--- /dev/null
+++ b/.github/sla.yml
@@ -0,0 +1,25 @@
+---
+- scheduleTask:
+ action: sendEmailToAssignee
+ args:
+ ignoredLabels:
+ - WaitForARMFeedback
+ - DoNotMerge
+ - WaitingForAzureAPIBoard
+ limit: 48h
+ message: '
Dear Swagger reviewer,
Please response to the PR ${PR_URL}. The PR isn''t updated in 48 hours.
Quick info. - If no response from ARM review board, please send email to armapireview@microsoft.com.
- If need immediate ARM review, please get ARM review oncall contact point from ICM https://icm.ad.msft.net/imp/v3/oncall/current under Service "Azure Resource Manager" and Team "RP Manifest Approvers"
- If no response from Azure API review board, please send email to azureapirbcore@microsoft.com.
- If you have problem to fix CI task errors, please send email to Visual Studio China Swagger and Tool team vscswagger@microsoft.com.
- If you want to opt out from Swagger reviewing for out of office period, please set vacation date at https://inframonitorweb1.azurewebsites.net/Home/MyView.
- Pls refer to Swagger review process (onenote) for more about Swagger review process.
Best regards,
Azure Management Experience '
+ subject: "Action Required: Please respond to PR ${PR_URL}"
+ description: "None initial response in 48 hours"
+ name: no-initial-response
+- scheduleTask:
+ action: sendEmailToAssignee
+ args:
+ ignoredLabels:
+ - WaitForARMFeedback
+ - DoNotMerge
+ - WaitingForAzureAPIBoard
+ limit: 5d
+ message: ' Dear Swagger reviewer,
Please response to the PR ${PR_URL}. The PR isn''t updated in 5 days.
Quick info. - If no response from ARM review board, please send email to armapireview@microsoft.com.
- If need immediate ARM review, please get ARM review oncall contact point from ICM https://icm.ad.msft.net/imp/v3/oncall/current under Service "Azure Resource Manager" and Team "RP Manifest Approvers"
- If no response from Azure API review board, please send email to azureapirbcore@microsoft.com.
- If you have problem to fix CI task errors, please send email to Visual Studio China Swagger and Tool team vscswagger@microsoft.com.
- If you want to opt out from Swagger reviewing for out of office period, please set vacation date at https://inframonitorweb1.azurewebsites.net/Home/MyView.
- Pls refer to Swagger review process (onenote) for more about Swagger review process.
Best regards,
Azure Management Experience '
+ subject: "Action Required: Please respond to PR ${PR_URL}"
+ description: "None update in PR in 5 days"
+ name: no-update-in-5d
diff --git a/CODEOWNERS b/CODEOWNERS
index 752f00fb91f6..7ac07c79df28 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -10,11 +10,11 @@
/specification/billing/ @wilcobmsft
/specification/cdn/ @csmengwan @injyzarif @prakharsharma10
/specification/cognitiveservices/ @davidlicig @felixwa @yangyuan
-/specification/compute/ @huangpf @hyonholee
+/specification/compute/ @hyonholee @mabhard @danielli90 @smotwani @ppatwa @vikramd-ms @savyasachisamal @yunusm @ZhidongPeng @nkuchta @maheshnemichand @najams @changov
/specification/consumption/ @kjeur @panda-wang
/specification/containerinstance/ @samkreter
/specification/containerregistry/ @djyou
-/specification/containerservice/ @mboersma
+/specification/containerservice/ @yangl900
/specification/cosmos-db/ @dmakwana
/specification/customer-insights/ @tjlvtao
/specification/datafactory/ @zhangyd2015
@@ -43,7 +43,7 @@
/specification/mobileengagement/ @pshrosbree
/specification/monitor/ @gucalder
/specification/mysql/ @qingqingyuan
-/specification/network/ @MikhailTryakhov
+/specification/network/ @MikhailTryakhov @number213
/specification/notificationhubs/ @amolr @smithab
/specification/operationalinsights/ @sw47
/specification/operationsmanagement/ @dashimi16
diff --git a/README.md b/README.md
index 9095d0b4f4b2..9a164ec81fe5 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@ The structure of the directory should strictly follow these rules:
1. **Profile**: The profile holder contains the profiles' definition MD files. these files will contain information and references to the snapshots of the RPs' Resource types or Dataplane API versions that represent a specific profile.
-1. **Specification**: This folder the is root folder for all Specs (Management and Dataplane) related docs.
+1. **Specification**: This folder is the root folder for all Specs (Management and Dataplane) related docs.
1. **{RP-Name} Folders** - each RP will have a separate folder
diff --git a/arm-compute/quickstart-templates/aliases.json b/arm-compute/quickstart-templates/aliases.json
index c3166eef59fc..5d5b1214d514 100644
--- a/arm-compute/quickstart-templates/aliases.json
+++ b/arm-compute/quickstart-templates/aliases.json
@@ -36,7 +36,7 @@
"RHEL": {
"publisher": "RedHat",
"offer": "RHEL",
- "sku": "7-RAW",
+ "sku": "7-LVM",
"version": "latest"
},
"SLES": {
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index a1ee6e6fef43..e21073678f83 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -16,7 +16,9 @@ jobs:
- template: .azure-pipelines/Syntax.yml
- template: .azure-pipelines/Semantic.yml
- template: .azure-pipelines/Avocado.yml
+- template: .azure-pipelines/ModelValidation.yml
- template: .azure-pipelines/BreakingChange.yml
- template: .azure-pipelines/LintDiff.yml
- template: .azure-pipelines/SwaggerToSDK.yml
- template: .azure-pipelines/NetworkValidation.yml
+- template: .azure-pipelines/Spellcheck.yml
diff --git a/cSpell.json b/cSpell.json
index ca3148fdadb4..aa948df1ee57 100644
--- a/cSpell.json
+++ b/cSpell.json
@@ -192,7 +192,6 @@
"filename": "**/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json",
"words": [
"Miliseconds",
- "Eligibile",
"INITIALIAZING"
]
},
@@ -245,18 +244,6 @@
"Managementt"
]
},
- {
- "filename": "**/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/TasksCommon.json",
- "words": [
- "Eligibile"
- ]
- },
- {
- "filename": "**/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json",
- "words": [
- "Eligibile"
- ]
- },
{
"filename": "**/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/webapplicationfirewall.json",
"words": [
@@ -569,7 +556,13 @@
]
},
{
- "filename": "**/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/edgegateway.json",
+ "filename": "**/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json",
+ "words": [
+ "Fulfilment"
+ ]
+ },
+ {
+ "filename": "**/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json",
"words": [
"Fulfilment"
]
diff --git a/custom-words.txt b/custom-words.txt
index bc7f8736884e..6736c2d69cfa 100644
--- a/custom-words.txt
+++ b/custom-words.txt
@@ -1,5 +1,6 @@
AADDS
aadiam
+AADP
AATP
abcxyz
ABFS
@@ -129,6 +130,7 @@ autoscalesettings
autoscaling
Avro
avrodeflate
+AZFW
azns
azpkg
azureaccounts
@@ -157,6 +159,7 @@ backends
backfilling
Backoff
backupconfig
+backupengine
backupstorageconfig
bacpac
badpassword
@@ -259,6 +262,7 @@ Cloudamize
cloudapp
cloudsimple
clustermonitoring
+Cmdkey
cmdlet
CMMI
CNAME
@@ -275,6 +279,7 @@ compositeentities
computervision
CONCURRENTAPPEND
Conda
+configreferences
connectionstrings
consumergroups
containerid
@@ -326,6 +331,8 @@ customvision
customvisionprediction
customvisiontraining
CUTOVER
+CVEs
+CVSS
Cyrl
databox
Databricks
@@ -335,6 +342,7 @@ datacenters
datadisk
datafactory
datafactoryv
+dataflows
datafreshness
datagrain
datalake
@@ -342,6 +350,7 @@ datalakeanalytics
datalakestore
Datamasking
datamigration
+datapoint
Dataset
datasets
datasource
@@ -495,6 +504,7 @@ featurized
Featurizer
feedbacktype
FHIR
+filegroup
filepath
fileserver
fileservers
@@ -553,6 +563,7 @@ globalconfiguration
Gloo
gluster
glusterfs
+GOARCH
GPUs
Grammarly
GRANTACE
@@ -599,7 +610,6 @@ Hubspot
hybridconnection
hybriddata
hybriddatamanager
-hyperdrive
Hyperdrive
Hyperscale
hyperv
@@ -733,6 +743,7 @@ lifetimepoolstats
linkedservices
linkexpiryinminutes
LISTAFTERID
+listbackups
listbyrg
listbysubscription
listcertificates
@@ -772,6 +783,7 @@ LQUP
LRO's
Lucene
Lumia
+LUNs
machinelearning
machinelearningcompute
machinelearningexperimentation
@@ -800,6 +812,7 @@ maximumblobsize
maxmemory
maxpagesize
maxresults
+MAXSIZE
mbaldwin
Mbps
MCAS
@@ -916,6 +929,7 @@ nostore
notificationchannels
notificationhubs
notstarted
+nouploadcache
nsdname
nsku
ntext
@@ -943,6 +957,7 @@ oobe
Oozie
openapi
opencode
+opencontainers
openid
operationalinsights
Operationalization
@@ -1075,9 +1090,9 @@ quniform
quotametrics
quotastatus
racyscore
-randint
RAGRS
RAGZRS
+randint
Rankable
ravbhatnagar
rawxml
@@ -1097,6 +1112,8 @@ reconfiguring
recordset
recordsetnamesuffix
recordsets
+recoverypoint
+recoverypoints
recoveryservices
recoveryservicesbackup
recoveryservicessiterecovery
@@ -1114,6 +1131,7 @@ regionalized
regionproposals
registeredidentities
registryname
+rehydrated
Reimage
reimageall
reimaged
@@ -1192,6 +1210,7 @@ rsct
Rslp
RSNULL
RTMP
+RTSP
runbook
Runbooks
runcounts
@@ -1214,6 +1233,7 @@ scalesets
scanability
SCMS
SCOM
+scopemap
SCSV
sdks
searchindex
@@ -1275,6 +1295,7 @@ SKU's
skus
SLES
Sllb
+slotcopy
slotsdiffs
slotsswap
slowlog
@@ -1282,8 +1303,8 @@ smalldatetime
smallint
smallmoney
SMBIOS
-snapshotsdr
snapshotrun
+snapshotsdr
SNAT
softwareplan
SOHSV
@@ -1299,6 +1320,7 @@ southeastasia
southindia
sparkconf
sparql
+SPDX
SQLAG
SQLDB
SQLMI
@@ -1389,6 +1411,7 @@ tableservices
tabletypes
tablevaluedfunctions
tagname
+tagsandregions
tagvalue
taskcompletion
taskcounts
@@ -1430,6 +1453,7 @@ translatortext
trendingtopics
triggeredwebjobs
triggerruns
+TSVE
Turbonomic
Txns
Typeless
@@ -1480,6 +1504,7 @@ Unprovisions
Unpublish
Unregistering
Unregisters
+unrestorable
unsubstituted
untagged
Untracked
@@ -1530,6 +1555,7 @@ visualsearch
visualstudio
vlan
vlanid
+Vldb
VM's
vmextension
VMILR
@@ -1552,6 +1578,7 @@ vray
Vrops
vsphere
VSTS
+VSTSRM
VXLAN
waagent
WADL
diff --git a/documentation/Semantic-and-Model-Violations-Reference.md b/documentation/Semantic-and-Model-Violations-Reference.md
new file mode 100644
index 000000000000..de459aa90c63
--- /dev/null
+++ b/documentation/Semantic-and-Model-Violations-Reference.md
@@ -0,0 +1,782 @@
+# Semantic and Model Violations Reference
+This document lists the set of automated rules that can be validated against swagger spec by running [OAV](https://github.com/Azure/oav) tool. This document also have some *tips for the fix*. Most of the time, the error information has the position of violations in swagger. If the error is internal error and doesn't have much meaningful infomation toward the fix, please create an issue [here](https://github.com/azure/oav/issues).
+
+### Validation Errors
+
+| Code | Id |
+| --- | --- |
+| [INVALID_REFERENCE](#INVALID_REFERENCE) | |
+| [CIRCULAR_INHERITANCE](#CIRCULAR_INHERITANCE) | |
+| [DUPLICATE_PARAMETER](#DUPLICATE_PARAMETER) | |
+| [EMPTY_PATH_PARAMETER_DECLARATION](#EMPTY_PATH_PARAMETER_DECLARATION) | |
+| [DUPLICATE_OPERATIONID](#DUPLICATE_OPERATIONID) | |
+| [MULTIPLE_BODY_PARAMETERS](#MULTIPLE_BODY_PARAMETERS) | |
+| [INVALID_PARAMETER_COMBINATION](#INVALID_PARAMETER_COMBINATION) | |
+| [MISSING_PATH_PARAMETER_DEFINITION](#MISSING_PATH_PARAMETER_DEFINITION) | |
+| [MISSING_PATH_PARAMETER_DECLARATION](#MISSING_PATH_PARAMETER_DECLARATION) | |
+| [INVALID_CONTENT_TYPE](#INVALID_CONTENT_TYPE) | |
+| [INVALID_FORMAT](#INVALID_FORMAT) | |
+| [INVALID_TYPE](#INVALID_TYPE) | |
+| [ENUM_CASE_MISMATCH](#ENUM_CASE_MISMATCH) | |
+| [ENUM_MISMATCH](#ENUM_MISMATCH) | |
+| [ANY_OF_MISSING](#ANY_OF_MISSING) | |
+| [ONE_OF_MISSING](#ONE_OF_MISSING) | |
+| [ONE_OF_MULTIPLE](#ONE_OF_MULTIPLE) | |
+| [NOT_PASSED](#NOT_PASSED) | |
+| [ARRAY_LENGTH_SHORT](#ARRAY_LENGTH_SHORT) | |
+| [ARRAY_LENGTH_LONG](#ARRAY_LENGTH_LONG) | |
+| [ARRAY_UNIQUE](#ARRAY_UNIQUE) | |
+| [ARRAY_ADDITIONAL_ITEMS](#ARRAY_ADDITIONAL_ITEMS) | |
+| [MULTIPLE_OF](#MULTIPLE_OF) | |
+| [MINIMUM](#MINIMUM) | |
+| [MINIMUM_EXCLUSIVE](#MINIMUM_EXCLUSIVE) | |
+| [MAXIMUM](#MAXIMUM) | |
+| [MAXIMUM_EXCLUSIVE](#MAXIMUM_EXCLUSIVE) | |
+| [OBJECT_PROPERTIES_MINIMUM](#OBJECT_PROPERTIES_MINIMUM) | |
+| [OBJECT_PROPERTIES_MAXIMUM](#OBJECT_PROPERTIES_MAXIMUM) | |
+| [OBJECT_MISSING_REQUIRED_PROPERTY_DEFINITION](#OBJECT_MISSING_REQUIRED_PROPERTY_DEFINITION) | |
+| [OBJECT_MISSING_REQUIRED_PROPERTY](#OBJECT_MISSING_REQUIRED_PROPERTY) | |
+| [OBJECT_ADDITIONAL_PROPERTIES](#OBJECT_ADDITIONAL_PROPERTIES) | |
+| [OBJECT_DEPENDENCY_KEY](#OBJECT_DEPENDENCY_KEY) | |
+| [MIN_LENGTH](#MIN_LENGTH) | |
+| [MAX_LENGTH](#MAX_LENGTH) | |
+| [PATTERN](#PATTERN) | |
+| [KEYWORD_TYPE_EXPECTED](#KEYWORD_TYPE_EXPECTED) | |
+| [KEYWORD_UNDEFINED_STRICT](#KEYWORD_UNDEFINED_STRICT) | |
+| [KEYWORD_UNEXPECTED](#KEYWORD_UNEXPECTED) | |
+| [KEYWORD_MUST_BE](#KEYWORD_MUST_BE) | |
+| [KEYWORD_DEPENDENCY](#KEYWORD_DEPENDENCY) | |
+| [KEYWORD_PATTERN](#KEYWORD_PATTERN) | |
+| [KEYWORD_VALUE_TYPE](#KEYWORD_VALUE_TYPE) | |
+| [UNKNOWN_FORMAT](#UNKNOWN_FORMAT) | |
+| [CUSTOM_MODE_FORCE_PROPERTIES](#CUSTOM_MODE_FORCE_PROPERTIES) | |
+| [REF_UNRESOLVED](#REF_UNRESOLVED) | |
+| [UNRESOLVABLE_REFERENCE](#UNRESOLVABLE_REFERENCE) | |
+| [SCHEMA_NOT_REACHABLE](#SCHEMA_NOT_REACHABLE) | |
+| [SCHEMA_NOT_AN_OBJECT](#SCHEMA_NOT_AN_OBJECT) | |
+| [ASYNC_TIMEOUT](#ASYNC_TIMEOUT) | |
+| [PARENT_SCHEMA_VALIDATION_FAILED](#PARENT_SCHEMA_VALIDATION_FAILED) | |
+| [REMOTE_NOT_VALID](#REMOTE_NOT_VALID) | |
+| [INVALID_REQUEST_PARAMETER](#INVALID_REQUEST_PARAMETER) | |
+| [INVALID_RESPONSE_CODE](#INVALID_RESPONSE_CODE) | |
+| [MISSING_REQUIRED_PARAMETER](#MISSING_REQUIRED_PARAMETER) | |
+| [KEYWORD_TYPE_EXPECTED](#KEYWORD_TYPE_EXPECTED) | |
+| [READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST](#READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST) | |
+| [SCHEMA_VALIDATION_FAILED](#SCHEMA_VALIDATION_FAILED) | |
+| [DISCRIMINATOR_NOT_REQUIRED](#DISCRIMINATOR_NOT_REQUIRED) | [OAV131](#DISCRIMINATOR_NOT_REQUIRED) |
+| [RESPONSE_BODY_NOT_IN_EXAMPLE](#RESPONSE_BODY_NOT_IN_EXAMPLE) | [OAV130](#RESPONSE_BODY_NOT_IN_EXAMPLE) |
+| [DOUBLE_FORWARD_SLASHES_IN_URL](#DOUBLE_FORWARD_SLASHES_IN_URL) | [OAV129](#DOUBLE_FORWARD_SLASHES_IN_URL) |
+| [OPERATION_NOT_FOUND_IN_CACHE_WITH_PROVIDER](#OPERATION_NOT_FOUND_IN_CACHE_WITH_PROVIDER) | [OAV128](#OPERATION_NOT_FOUND_IN_CACHE_WITH_PROVIDER) |
+| [OPERATION_NOT_FOUND_IN_CACHE_WITH_API](#OPERATION_NOT_FOUND_IN_CACHE_WITH_API) | [OAV127](#OPERATION_NOT_FOUND_IN_CACHE_WITH_API) |
+| [OPERATION_NOT_FOUND_IN_CACHE_WITH_VERB](#OPERATION_NOT_FOUND_IN_CACHE_WITH_VERB) | [OAV126](#OPERATION_NOT_FOUND_IN_CACHE_WITH_VERB) |
+| [OPERATION_NOT_FOUND_IN_CACHE](#OPERATION_NOT_FOUND_IN_CACHE)] | [OAV125](#OPERATION_NOT_FOUND_IN_CACHE) |
+| [PATH_NOT_FOUND_IN_REQUEST_URL](#PATH_NOT_FOUND_IN_REQUEST_URL) | [OAV124](#PATH_NOT_FOUND_IN_REQUEST_URL) |
+| [POTENTIAL_OPERATION_SEARCH_ERROR](#POTENTIAL_OPERATION_SEARCH_ERROR) | [OAV123](#POTENTIAL_OPERATION_SEARCH_ERROR) |
+| [INCORRECT_INPUT](#INCORRECT_INPUT) | [OAV122](#INCORRECT_INPUT) |
+| [MULTIPLE_OPERATIONS_FOUND](#MULTIPLE_OPERATIONS_FOUND) | [OAV120](#MULTIPLE_OPERATIONS_FOUND) |
+| [SEMANTIC_VALIDATION_ERROR](#SEMANTIC_VALIDATION_ERROR) | [OAV119](#SEMANTIC_VALIDATION_ERROR) |
+| [CONSTRAINT_VALIDATION_ERROR](#CONSTRAINT_VALIDATION_ERROR) | [OAV117](#CONSTRAINT_VALIDATION_ERROR) |
+| [RESPONSE_SCHEMA_NOT_IN_SPEC](#RESPONSE_SCHEMA_NOT_IN_SPEC) | [OAV113](#RESPONSE_SCHEMA_NOT_IN_SPEC) |
+| [RESPONSE_STATUS_CODE_NOT_IN_SPEC](#RESPONSE_STATUS_CODE_NOT_IN_SPEC) | [OAV112](#RESPONSE_STATUS_CODE_NOT_IN_SPEC) |
+| [RESPONSE_VALIDATION_ERROR](#RESPONSE_VALIDATION_ERROR) | [OAV108](#RESPONSE_VALIDATION_ERROR) |
+| [X-MS-EXAMPLE_NOTFOUND_ERROR](#X-MS-EXAMPLE_NOTFOUND_ERROR) | [OAV107](#X-MS-EXAMPLE_NOTFOUND_ERROR) |
+| [ERROR_IN_PREPARING_REQUEST](#ERROR_IN_PREPARING_REQUEST) | [OAV106](#ERROR_IN_PREPARING_REQUEST) |
+| [REQUIRED_PARAMETER_EXAMPLE_NOT_FOUND](#REQUIRED_PARAMETER_EXAMPLE_NOT_FOUND) | [OAV105](#REQUIRED_PARAMETER_EXAMPLE_NOT_FOUND) |
+| [JSON_PARSING_ERROR](#JSON_PARSING_ERROR) | [OAV104](#JSON_PARSING_ERROR) |
+| [RESOLVE_SPEC_ERROR](#RESOLVE_SPEC_ERROR) | [OAV102](#RESOLVE_SPEC_ERROR) |
+| [INTERNAL_ERROR](#INTERNAL_ERROR) | [OAV100](#INTERNAL_ERROR) |
+| [REQUEST_VALIDATION_ERROR](#REQUEST_VALIDATION_ERROR) | [OAV109](#REQUEST_VALIDATION_ERROR) |
+| [RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE](#RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE) | [OAV111](#RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE) |
+
+
+### Validation Warnings
+
+| Code | Id |
+| --- | --- |
+| [UNUSED_DEFINITION](#UNUSED_DEFINITION) | |
+
+
+## Rule Descriptions
+
+### INTERNAL_ERROR
+
+**Output Message**: none.
+
+**Description**: All the errors without error code are clarified as internal_error.
+
+**How to fix the violation**: See the inner error details for the fix.
+
+### INVALID_CONTENT_TYPE
+
+**Output Message**: Invalid Content-Type {0}. These are supported: {1}.
+
+**Description**: The request/response doesn't have allowed content-type.
+
+**How to fix the violation**: Fix the content-type as one of the supported values.
+
+### MISSING_PATH_PARAMETER_DECLARATION
+
+**Output Message**: Path parameter is defined but is not declared: {0}.
+
+**Description**: It cannot find the declaration of this path parameter in operation.
+
+**How to fix the violation**: Add the declaration or remove the definition of this parameter.
+
+### MISSING_PATH_PARAMETER_DEFINITION
+
+**Output Message**: Path parameter is declared but is not defined: {0}.
+
+**Description**: It cannot find the definition of this path parameter.
+
+**How to fix the violation**: Add the detail definition for this path parameter.
+
+### INVALID_PARAMETER_COMBINATION
+
+**Output Message**: Operation cannot have a body parameter and a formData parameter.
+
+**Description**: Body parameter and formData parameter are mutually exclusive.
+
+**How to fix the violation**: Remove one of these two parameters.
+
+### MULTIPLE_BODY_PARAMETERS
+
+**Output Message**: Operation cannot have multiple body parameters.
+
+**Description**: There're multiple body parameters defined for an operation.
+
+**How to fix the violation**: Remove one of body parameter from this operation.
+
+### DUPLICATE_OPERATIONID
+
+**Output Message**: Cannot have multiple operations with the same operationId: {0}.
+
+**Description**: There're duplicated operation ids defined.
+
+**How to fix the violation**: Rename one of the operation id.
+
+### EQUIVALENT_PATH
+
+**Output Message**: Equivalent path already exists: {0}.
+
+**Description**: There're equivalent paths defined.
+
+**How to fix the violation**: Remove one of the equivalent paths or rename it.
+
+### EMPTY_PATH_PARAMETER_DECLARATION
+
+**Output Message**: Path parameter declaration cannot be empty: {0}.
+
+**Description**: The definition for a path parameter is empty.
+
+**How to fix the violation**: Add the detail definition or remove this parameter from path.
+
+### DUPLICATE_PARAMETER
+
+**Output Message**: Operation cannot have duplicate parameters: {0}.
+
+**Description**: There're duplicated parameters defined for this operation.
+
+**How to fix the violation**: Remove the duplicated parameter.
+
+### CIRCULAR_INHERITANCE
+
+**Output Message**: Schema object inherits from itself: {0}.
+
+**Description**: The definition references itself.
+
+**How to fix the violation**: Break the circular definition reference.
+
+### INVALID_REFERENCE
+
+**Output Message**: Missing required property definition: {0}.
+
+**Description**: The definition of a required property is missing.
+
+**How to fix the violation**: Add the definition for the required property.
+
+### INVALID_REFERENCE
+
+**Output Message**: xxx | Invalid JSON Reference.
+
+**Description**: The value of $ref is invalid.
+
+**How to fix the violation**: Fix the $ref as per the error details.
+
+### SCHEMA_VALIDATION_FAILED
+
+**Output Message**: Value failed JSON Schema validation.
+
+**Description**: The parameter value doesn't pass schema validation.
+
+**How to fix the violation**: Look into the inner errors to fix the value.
+
+### MISSING_REQUIRED_PARAMETER
+
+**Output Message**: Value is required but was not provided.
+
+**Description**: Missing required value in example.
+
+**How to fix the violation**: Add the required value in example.
+
+### REMOTE_NOT_VALID
+
+**Output Message**: Remote reference didn't compile successfully: {0}.
+
+**Description**: The remote schema reference fails to load and compile.
+
+**How to fix the violation**: It could be incorrect reference uri or network issue.
+
+### PARENT_SCHEMA_VALIDATION_FAILED
+
+**Output Message**: Schema failed to validate against its parent schema, see inner errors for details.
+
+**Description**: The schema fails to validate against its parent schema.
+
+**How to fix the violation**: Fix the schema by comparing against parent schema.
+
+### PARENT_SCHEMA_VALIDATION_FAILED
+
+**Output Message**: Schema failed to validate against its parent schema, see inner errors for details.
+
+**Description**: The schema fails to validate against its parent schema.
+
+**How to fix the violation**: Fix the schema by comparing against parent schema.
+
+### SCHEMA_NOT_AN_OBJECT
+
+**Output Message**: Schema is not an object: {0}.
+
+**Description**: The schema type is expected to be `object`.
+
+**How to fix the violation**: Correct the schema type.
+
+### ASYNC_TIMEOUT
+
+**Output Message**: {0} asynchronous task(s) have timed out after {1} ms.
+
+**Description**: The operation fails by time out issue.
+
+**How to fix the violation**: Retry.
+
+### SCHEMA_NOT_REACHABLE
+
+**Output Message**: Validator was not able to read schema with uri: {0}.
+
+**Description**: It fails to load the remote schema.
+
+**How to fix the violation**: Fix the uri of remote schema or network issue.
+
+### UNRESOLVABLE_REFERENCE
+
+**Output Message**: Reference could not be resolved: {0}.
+
+**Description**: It fails to resolve the reference uri of a remote schema.
+
+**How to fix the violation**: Fix the uri.
+
+### REF_UNRESOLVED
+
+**Output Message**: Reference has not been resolved during compilation: {0}.
+
+**Description**: It fails to resolve the reference.
+
+**How to fix the violation**: Maybe need to fix the format of the reference.
+
+### CUSTOM_MODE_FORCE_PROPERTIES
+
+**Output Message**: {0} must define at least one property if present.
+
+**Description**: It force a type must have properties.
+
+**How to fix the violation**: Add at least one property for this type.
+
+### UNKNOWN_FORMAT
+
+**Output Message**: There is no validation function for format '{0}'.
+
+**Description**: It doesnot support this format validation.
+
+**How to fix the violation**: Use another format or raise an design issue.
+
+### KEYWORD_VALUE_TYPE
+
+**Output Message**: Each element of keyword '{0}' array must be a '{1}'.
+
+**Description**: The value does not match the defined type.
+
+**How to fix the violation**: Fix the value to match the type.
+
+### KEYWORD_PATTERN
+
+**Output Message**: Keyword '{0}' is not a valid RegExp pattern: {1}'.
+
+**Description**: The value does not match the defined pattern.
+
+**How to fix the violation**: Fix the value to match the pattern.
+
+### KEYWORD_DEPENDENCY
+
+**Output Message**: Keyword '{0}' requires keyword '{1}'.
+
+**Description**: Some keywords have dependent keywords which have to be defined as well.
+
+**How to fix the violation**: Add the dependent keyword definition.
+
+### KEYWORD_MUST_BE
+
+**Output Message**: Keyword '{0}' must be {1}.
+
+**Description**: The value of keyword should be strictly correct.
+
+**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the value.
+
+### KEYWORD_UNEXPECTED
+
+**Output Message**: Keyword '{0}' is not expected to appear in the schema.
+
+**Description**: The schema doesn't allow extra keywords.
+
+**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and remove the keyword.
+
+### KEYWORD_UNDEFINED_STRICT
+
+**Output Message**: Keyword '{0}' must be defined in strict mode'.
+
+**Description**: The array items should have additionalItems defined in swagger.
+
+**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the array items.
+
+### KEYWORD_TYPE_EXPECTED
+
+**Output Message**: Keyword '{0}' is expected to be of type '{1}'.
+
+**Description**: The value of the keyword in swagger should be the specific type.
+
+**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the value type of keyword.
+
+### KEYWORD_TYPE_EXPECTED
+
+**Output Message**: Keyword '{0}' is expected to be of type '{1}'.
+
+**Description**: The value of the keyword in swagger should be the specific type.
+
+**How to fix the violation**: Fix the value type of keyword.
+
+### PATTERN
+
+**Output Message**: String does not match pattern {0}: {1}.
+
+**Description**: The provided string doesn't match defined pattern.
+
+**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the string value.
+
+### MAX_LENGTH
+
+**Output Message**: String is too long ({0} chars), maximum {1}.
+
+**Description**: The provided string is greater than maximum length.
+
+**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the string value.
+
+### MIN_LENGTH
+
+**Output Message**: String is too short ({0} chars), minimum {1}.
+
+**Description**: The provided string is less than minimum length.
+
+**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the string value.
+
+### OBJECT_DEPENDENCY_KEY
+
+**Output Message**: Dependency failed - key must exist: {0} (due to key: {1}).
+
+**Description**: The dependency value is an array, the object should have all the values in the array defined as property.
+
+**How to fix the violation**: Add the key {1} as property to the object.
+
+### OBJECT_PROPERTIES_MAXIMUM
+
+**Output Message**: Too many properties defined ({0}), maximum {1}.
+
+**Description**: The provided properties amount of a type is greater than the defined maximum properties amount.
+
+**How to fix the violation**: Delete some properties to meet the maximum requirement.
+
+### OBJECT_PROPERTIES_MINIMUM
+
+**Output Message**: Too few properties defined ({0}), minimum {1}.
+
+**Description**: The provided properties amount of a type is less than the defined minimum properties amount.
+
+**How to fix the violation**: Add more properties to meet the minimum requirement.
+
+### MAXIMUM_EXCLUSIVE
+
+**Output Message**: Value {0} is equal or greater than exclusive maximum {1}.
+
+**Description**: The value provided is greater than or equal to the defined maximum value.
+
+**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the value.
+
+### MAXIMUM
+
+**Output Message**: Value {0} is greater than maximum {1}.
+
+**Description**: The value provided is greater than the defined maximum value.
+
+**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the value.
+
+### MINIMUM_EXCLUSIVE
+
+**Output Message**: Value {0} is equal or less than exclusive minimum {1}.
+
+**Description**: The value provided is less than or equal to defined minimum value.
+
+**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the value.
+
+### MULTIPLE_OF
+
+**Output Message**: Value {0} is not a multiple of {1}.
+
+**Description**: The value provided isn't a multiple of defined value.
+
+**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the value.
+
+### MINIMUM
+
+**Output Message**: Value {0} is less than minimum {1}.
+
+**Description**: The value provided is less than the defined minimum value.
+
+**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the value.
+
+### ARRAY_ADDITIONAL_ITEMS
+
+**Output Message**: Additional items not allowed.
+
+**Description**: The size of array is more than the array items length in schema.
+
+**How to fix the violation**: Make the size of array less than or equal to the array items length in schema.
+
+### ARRAY_UNIQUE
+
+**Output Message**: Array items are not unique (indexes {0} and {1}).
+
+**Description**: Array items doesn't match the schema of `uniqueItems = true`.
+
+**How to fix the violation**: Make array items unique.
+
+### ARRAY_LENGTH_LONG
+
+**Output Message**: Array is too long ({0}), maximum {1}.
+
+**Description**: Array items is too much.
+
+**How to fix the violation**: Make array items less than maximum number.
+
+### ARRAY_LENGTH_SHORT
+
+**Output Message**: Array is too short ({0}), minimum {1}.
+
+**Description**: Array items is too little.
+
+**How to fix the violation**: Make array have at least minimum item.
+
+### NOT_PASSED
+
+**Output Message**: Data matches schema from 'not'.
+
+**Description**: Data is valid for the schema but it should not be valid because the `not` keyword.
+
+**How to fix the violation**: See inner errors for the detail issue and fix the data to not match the schema.
+
+### ONE_OF_MULTIPLE
+
+**Output Message**: Data is valid against more than one schema from 'oneOf'.
+
+**Description**: Data is valid for more than one sub-schemas.
+
+**How to fix the violation**: See inner errors for the detail issue and fix the data to match only one sub-schema.
+
+### ONE_OF_MISSING
+
+**Output Message**: Data does not match any schemas from 'oneOf'.
+
+**Description**: None of the sub-schemas passes the validation.
+
+**How to fix the violation**: See inner errors for the detail issue.
+
+### ANY_OF_MISSING
+
+**Output Message**: Data does not match any schemas from 'anyOf'.
+
+**Description**: None of the sub-schemas passes the validation.
+
+**How to fix the violation**: See inner errors for the detail issue.
+
+### REQUEST_VALIDATION_ERROR
+
+**Output Message**: Found errors in validating the request for x-ms-example {0} in operation {1}.
+
+**Description**: Validate the request of each x-ms-example.
+
+**How to fix the violation**: The request parameter defined in example should match with the swagger spec.
+
+### RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE
+
+**Output Message**: Following response status codes {0} for operation {1} were present in the swagger spec, however they were not present in x-ms-examples. Please provide them.
+
+**Description**: All the response cases with different response code should have correspondent response defined in example.
+
+**How to fix the violation**: Add them to example if they are not present.
+
+### INVALID_REQUEST_PARAMETER
+
+**Output Message**: Invalid parameter ({0}): Value failed JSON Schema validation.
+
+**Description**: There's error in the request parameter validation.
+
+**How to fix the violation**: Check the inner errors for the fix solution.
+
+### INVALID_RESPONSE_CODE
+
+**Output Message**: This operation does not have a defined {0} response code.
+
+**Description**: There's extra response code defined in example file.
+
+**How to fix the violation**: Remove extra response code definition in example or correct it.
+
+### KEYWORD_TYPE_EXPECTED
+
+**Output Message**: Keyword 'type' is expected to be of type 'array,boolean,integer,number,null,object,string'.
+
+**Description**: According to Json schema spec, the allowed value for [type](http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.1.1) is 'array,boolean,integer,number,null,object,string'.
+
+**How to fix the violation**: Set the value of type to one of the values above.
+
+### OBJECT_ADDITIONAL_PROPERTIES
+
+**Output Message**: Additional properties not allowed:{0}.
+
+**Description**: Additional property {0} defined in example but not defined in swagger spec. It could be the property name does not match exactly.
+
+**How to fix the violation**: The error info has the position of swagger. Look for the violation location of the swagger, ensure the property name specified in example appears exact the same in the definition or remove this property from example if it's not defined in swagger spec. Remind all the characters are case sensitive.
+
+
+### INVALID_FORMAT
+
+**Output Message**: Object didn't pass validation for format {0}:{1}.
+
+**Description**: The format provided for the param {0} is {1} which is not allowed format.
+
+**How to fix the violation**: The error info has the position of swagger. Look for the violation location of the swagger, correct the format of the param. e.g. error info containing params: [ 'int32', '2'] means the param type is `int32`, so the format should be number `2` instead of string '2'.
+
+### INVALID_TYPE
+
+**Output Message**: Expected type {0} but found type {1}.
+
+**Description**: The type provided for the property doesn't match to the defined type.
+
+**How to fix the violation**: Correct the type defined in example file. Sometimes this could be false positive when it peers with other errors which belongs to same parent `ANY_OF_MISSING` error or `ONE_OF_MISSING` error, in this case this error can be ignored and just fix other peer errors eventually this error will be cleared out automatically.
+
+### ENUM_CASE_MISMATCH
+
+**Output Message**: Enum does not match case for:{0}.
+
+**Description**: The enum value provided in exmaple doesn't match the case of an allowed value.
+
+**How to fix the violation**: The error info has the position of swagger. Look for the violation location of the swagger, correct the value case in example.
+
+### ENUM_MISMATCH
+
+**Output Message**: Enum does not match case for:{0}.
+
+**Description**: The enum value provided in exmaple doesn't match the case of an allowed value.
+
+**How to fix the violation**: The error info has the position of swagger. Look for the violation location of the swagger, correct the value case in example.
+
+### READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST
+
+**Output Message**: ReadOnly property `{0}: {1}`, cannot be sent in the request.
+
+**Description**: The value of a readonly property is managed exclusively by the owning authority and cannot be supplied in request.
+
+**How to fix the violation**: Remove the readonly property from the request parameters in example.
+
+### OBJECT_MISSING_REQUIRED_PROPERTY
+
+**Output Message**: Missing required property: {0}.
+
+**Description**: The property {0} is required and has to provide in request or response of example.
+
+**How to fix the violation**: Provide the requried property in example or remove this property from the required list of the definition in swagger spec. Or add items property if the type is array.
+
+
+### DISCRIMINATOR_NOT_REQUIRED
+
+**Output Message**: discriminator must be a required property.
+
+**Description**: The property used as discriminator must be a required property, otherwise it cannot be resolved correctly.
+
+**How to fix the violation**: Set the property as required property in swagger.
+
+### RESPONSE_BODY_NOT_IN_EXAMPLE
+
+**Output Message**: Response statusCode {0} for operation {1} has no response body provided in the example, however the response does have a "schema" defined in the swagger spec.
+
+**Description**: It should have response body provided in exmaple even empty when it has schema defined for this response in swagger.
+
+**How to fix the violation**: Add the response body in example which could be empty value {}.
+
+### DOUBLE_FORWARD_SLASHES_IN_URL
+
+**Output Message**: In operation {0}, example for parameter {1}: {2} starts with a forward slash and the path template: {3} contains a forward slash before the parameter starts. This will cause double forward slashes in the request url. Thus making it incorrect. Please rectify the example.
+
+**Description**: There's two forward slashes before this parameter.
+
+**How to fix the violation**: Remove one of it from path or parameter.
+
+### OPERATION_NOT_FOUND_IN_CACHE_WITH_PROVIDER
+
+**Output Message**: Could not find provider {0} in the cache.
+
+**Description**: There's none matched resouce provider in the cache.
+
+**How to fix the violation**: Fix resouce provider.
+
+### OPERATION_NOT_FOUND_IN_CACHE_WITH_VERB
+
+**Output Message**: Could not find any methods with verb {0} for api-version {1 }and provider {2} in the cache.
+
+### OPERATION_NOT_FOUND_IN_CACHE_WITH_API
+
+**Output Message**: Could not find exact api-version {0} for provider {1} in the cache.
+
+**Description**: There's none api methods based on api-version and resouce provider.
+
+**How to fix the violation**: Fix api-version or resouce provider.
+
+### OPERATION_NOT_FOUND_IN_CACHE_WITH_VERB
+
+**Output Message**: Could not find any methods with verb {0} for api-version {1 }and provider {2} in the cache.
+
+**Description**: It fails to search for any matched api method based on verb, api-version and resouce provider.
+
+**How to fix the violation**: Fix the verb, api-version or resouce provider.
+
+### OPERATION_NOT_FOUND_IN_CACHE
+
+**Output Message**: Could not find best match operation for verb {0} for api-version {1} and provider {2} in the cache.
+
+**Description**: It fails to search for any matched operation based on verb, api-version, path and resouce provider.
+
+**How to fix the violation**: Fix the verb, api-version, path or resouce provider.
+
+### PATH_NOT_FOUND_IN_REQUEST_URL
+
+**Output Message**: Could not find path from requestUrl: {0}.
+
+**Description**: It fails to search for the matched path in swagger based on the HTTP url.
+
+**How to fix the violation**: Fix the path.
+
+### POTENTIAL_OPERATION_SEARCH_ERROR
+
+**Output Message**: An error occurred while trying to search for potential operations: {0}.
+
+**Description**: It fails to search for the matched operation in swagger based on the HTTP url and method.
+
+**How to fix the violation**: Fix the url or http method.
+
+### INCORRECT_INPUT
+
+**Output Message**: requestResponseObj cannot be null or undefined and must be of type "object" | Found errors {0} in the provided input {1}.
+
+**Description**: The input request/response has issues when running live validation.
+
+**How to fix the violation**: See inner detail errors toward the fix.
+
+### MULTIPLE_OPERATIONS_FOUND
+
+**Output Message**: Found multiple matching operations with operationIds {0} for request url {1} with HTTP Method {2}.
+
+**Description**: There're duplicated operations defined with same operationId.
+
+**How to fix the violation**: Make the operationId as unique across the swagger.
+
+### SEMANTIC_VALIDATION_ERROR
+
+**Output Message**: The spec {0} has semantic validation errors.
+
+**Description**: There're errors when run semantic validation against this spec.
+
+**How to fix the violation**: See inner detail errors toward the fix.
+
+### RESPONSE_SCHEMA_NOT_IN_SPEC
+
+**Output Message**: Response statusCode {0} for operation {1} has response body provided in the example, however the response does not have a "schema" defined in the swagger spec.
+
+**Description**: Every type of response provided in example should have correspondent definition in swagger spec.
+
+**How to fix the violation**: Add the missing schema definition in swagger spec.
+
+### RESPONSE_STATUS_CODE_NOT_IN_SPEC
+
+**Output Message**: Response statusCode {0} for operation {1} is provided in exampleResponseValue, however it is not present in the swagger spec.
+
+**Description**: Every type of response provided in example should have correspondent definition in swagger spec.
+
+**How to fix the violation**: Add the missing status code definition in swagger spec or remove the unmatched status code part from example.
+
+### RESPONSE_VALIDATION_ERROR
+
+**Output Message**: Found errors in validating the response with statusCode {} ...
+
+**Description**: Found errors when validate the response defined in example.
+
+**How to fix the violation**: See inner details for the violations and fix.
+
+### X-MS-EXAMPLE_NOTFOUND_ERROR
+
+**Output Message**: x-ms-example not found in {0}.
+
+**Description**: Each operation should have example defined.
+
+**How to fix the violation**: Add `x-ms-example` declaration for this operation.
+
+### ERROR_IN_PREPARING_REQUEST
+
+**Description**: Error when preparing the request for validation.
+
+**How to fix the violation**: Fix by the inner error details or raise an issue at [oav](https://github.com/azure/oav/issues).
+
+### REQUIRED_PARAMETER_EXAMPLE_NOT_FOUND
+
+**Output Message**: In operation {0}, parameter {1} is required in the swagger spec but is not present in the provided example parameter values.
+
+**Description**: Required parameter is not provided in example.
+
+**How to fix the violation**: Add the requried parameter in example.
+
+### RESOLVE_SPEC_ERROR
+
+**Description**: Error happens when try to resolve the swagger.
+
+**How to fix the violation**: See the inner error details for the fix.
+
+### JSON_PARSING_ERROR
+
+**Description**: Error happens when try to parse the JSON.
+
+**How to fix the violation**: See the inner error details for the fix.
+
+
+### UNUSED_DEFINITION
+
+**Output Message**: Definition is not used: {0}.
+
+**Description**: There's none reference to this definition.
+
+**How to fix the violation**: Remove this definition if it's not used.
+
+
diff --git a/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json b/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json
new file mode 100644
index 000000000000..43165d3ad9ca
--- /dev/null
+++ b/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json
@@ -0,0 +1,132 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-12-01",
+ "title": "YourServiceName",
+ "description": "Description of the new service",
+ "x-ms-code-generation-settings": {
+ "name": "YourServiceNameClient"
+ }
+ },
+ "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.YourServiceName/operations": {
+ "get": {
+ "tags": ["Tag1"],
+ "operationId": "OperationGroup_Get",
+ "x-ms-examples": {
+ "BatchAccountDelete": { "$ref": "./examples/OperationGroupGet.json" }
+ },
+ "description": "This is a sample get operation, please see guidelines in azure-rest-api-specs repository for more info",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/Result"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Result": {
+ "description": "Sample result definition",
+ "properties": {
+ "sampleProperty": {
+ "type": "string",
+ "description": "Sample property of type string"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDefinition",
+ "description": "The error details."
+ }
+ }
+ },
+ "ErrorDefinition": {
+ "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
+ },
+ "details": {
+ "description": "Internal error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDefinition"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "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)"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to be used with the HTTP request."
+ }
+ }
+}
diff --git a/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/examples/OperationGroupGet.json b/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/examples/OperationGroupGet.json
new file mode 100644
index 000000000000..a192d62cb610
--- /dev/null
+++ b/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/examples/OperationGroupGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "YourServiceNameClient",
+ "api-version": "2019-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "uswest",
+ "id": "/subscriptions/subid/resourceGroups/YourServiceNameClient/providers/Microsoft.YourServiceName/batchAccounts/sampleacct",
+ "type": "Microsoft.YourServiceName/YourServiceName"
+ }
+ }
+ }
+}
diff --git a/documentation/samplefiles/readme.chsarp.md b/documentation/samplefiles/readme.chsarp.md
new file mode 100644
index 000000000000..965ae218fdcb
--- /dev/null
+++ b/documentation/samplefiles/readme.chsarp.md
@@ -0,0 +1,15 @@
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+```yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ client-side-validation: false
+ namespace: Microsoft.YourServiceName
+ output-folder: $(csharp-sdks-folder)/YourServiceName/management/Microsoft.YourServiceName/GeneratedProtocol
+```
diff --git a/documentation/samplefiles/readme.go.md b/documentation/samplefiles/readme.go.md
new file mode 100644
index 000000000000..14f46860e4d1
--- /dev/null
+++ b/documentation/samplefiles/readme.go.md
@@ -0,0 +1,19 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+```
+
+### Tag: package-2019-12-01 and go
+
+These settings apply only when `--tag=package-2019-12-01 --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2019-12-01' && $(go)
+namespace: Microsoft.YourServiceName
+output-folder: $(go-sdks-folder)/YourServiceName/Generated
+```
diff --git a/documentation/samplefiles/readme.python.md b/documentation/samplefiles/readme.python.md
new file mode 100644
index 000000000000..f9e093c5a0ec
--- /dev/null
+++ b/documentation/samplefiles/readme.python.md
@@ -0,0 +1,21 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+```yaml $(python)
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: Microsoft.YourServiceName
+ package-name: YourServiceName
+ package-version: 2019-12-01
+ clear-output-folder: true
+```
+
+```yaml $(python)
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt/YourServiceName
+```
diff --git a/documentation/samplefiles/readme.ruby.md b/documentation/samplefiles/readme.ruby.md
new file mode 100644
index 000000000000..13f97a12c69d
--- /dev/null
+++ b/documentation/samplefiles/readme.ruby.md
@@ -0,0 +1,19 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+```yaml
+package-name: azure_mgmt_YourServiceName
+package-version: 2019-12-01
+azure-arm: true
+```
+
+### Tag: package-2019-12-01 and ruby
+
+These settings apply only when `--tag=package-2019-12-01 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2019-12-01' && $(ruby)
+namespace: Microsoft.YourServiceName
+output-folder: $(ruby-sdks-folder)/YourServiceName
+```
diff --git a/documentation/samplefiles/readme.typescript.md b/documentation/samplefiles/readme.typescript.md
new file mode 100644
index 000000000000..db7937f5e1bb
--- /dev/null
+++ b/documentation/samplefiles/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: "YourServiceName"
+ output-folder: "$(typescript-sdks-folder)/packages/YourServiceName"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/documentation/samplefiles/samplereadme.md b/documentation/samplefiles/samplereadme.md
new file mode 100644
index 000000000000..f76fab965fc8
--- /dev/null
+++ b/documentation/samplefiles/samplereadme.md
@@ -0,0 +1,79 @@
+# YourServiceName
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for YourServiceName.
+
+## Getting Started
+
+To build the SDKs for My API, 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 YourServiceName.
+
+```yaml
+openapi-type: arm
+tag: package-YYYY-MM-DD
+```
+
+### Tag: package-YYYY-MM-DD
+
+These settings apply only when `--tag=package-YYYY-MM-DD` is specified on the command line.
+
+```yaml $(tag) == 'package-YYYY-MM-DD'
+input-file:
+ - Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.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
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_YourServiceName']
+```
+
+## Go
+
+See configuration in [readme.go.md](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/readme.python.md)
+
+## Ruby
+
+See configuration in [readme.ruby.md](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/readme.ruby.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/readme.chsarp.md)
diff --git a/package-lock.json b/package-lock.json
index 137fa8046f9c..18eec5df7ddd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1067,16 +1067,16 @@
"dev": true
},
"cspell": {
- "version": "4.0.28",
- "resolved": "https://registry.npmjs.org/cspell/-/cspell-4.0.28.tgz",
- "integrity": "sha512-2YH8pOUnaGCjHHKKUC2K247nAKx2/ah/JsyMYgSe0U3R1Lokl6+HwTsU2+I01o8u5GbM5sLjxsQRPzceYQkzLg==",
+ "version": "4.0.30",
+ "resolved": "https://registry.npmjs.org/cspell/-/cspell-4.0.30.tgz",
+ "integrity": "sha512-dazX00rCgRSL8TAphqFSw7D9p3QdBGh09J8/bFH+hLpz01Yry/XzXjDiyKPlAXFkeFH5Sikgq0Cy/t3cHaLBeQ==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"commander": "^2.20.0",
"comment-json": "^1.1.3",
"cspell-glob": "^0.1.11",
- "cspell-lib": "^4.0.25",
+ "cspell-lib": "^4.1.0",
"fs-extra": "^8.1.0",
"gensequence": "^2.1.2",
"get-stdin": "^7.0.0",
@@ -1104,9 +1104,9 @@
}
},
"cspell-dict-companies": {
- "version": "1.0.14",
- "resolved": "https://registry.npmjs.org/cspell-dict-companies/-/cspell-dict-companies-1.0.14.tgz",
- "integrity": "sha512-q4Xfe/vNteOs57r+YeEYzVsoQe2YGsi3uVMv06w0CkMa9y8llDXpBv7UJniLZVyW19491jlxIORkHx4i39MBUw==",
+ "version": "1.0.15",
+ "resolved": "https://registry.npmjs.org/cspell-dict-companies/-/cspell-dict-companies-1.0.15.tgz",
+ "integrity": "sha512-IS3rnqkkZhgyKVsure5g+88q3PyLpgZw3xRB3Fo2W30NgoNW2Zpbh4/H6NR839f94IX2/qUvM/zanQy0B7ogMQ==",
"dev": true,
"requires": {
"configstore": "^5.0.0"
@@ -1158,9 +1158,9 @@
}
},
"cspell-dict-fullstack": {
- "version": "1.0.17",
- "resolved": "https://registry.npmjs.org/cspell-dict-fullstack/-/cspell-dict-fullstack-1.0.17.tgz",
- "integrity": "sha512-XmFyvt5r9JXcIjnycFfZfc/82dmMBUSowL4Oa/Mubx0Tm66bKOTmhrDatXl96qo6J0cIoyoPXitsfj5YaDV17g==",
+ "version": "1.0.18",
+ "resolved": "https://registry.npmjs.org/cspell-dict-fullstack/-/cspell-dict-fullstack-1.0.18.tgz",
+ "integrity": "sha512-vEVf+ppML1PP9vdfkXnydABIYNyDORVN28sniBo0ILLhqFjCJvs1SNQuZxWhak5sgSZ9z4xiHU9TqCEUqhf1jw==",
"dev": true,
"requires": {
"configstore": "^5.0.0"
@@ -1230,9 +1230,9 @@
}
},
"cspell-dict-powershell": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/cspell-dict-powershell/-/cspell-dict-powershell-1.0.2.tgz",
- "integrity": "sha512-BW2Bdpet0yRQKB+7HjA75O0aJnh1VjdnMLNYb1SLvow73uCsC8GpvYLtvFyDm0Q717FYKoPzuZiSrXhyHerNAw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/cspell-dict-powershell/-/cspell-dict-powershell-1.0.3.tgz",
+ "integrity": "sha512-YHVe8NkjtZmBvdclXev7dkoTODxweiq8H/Z8N0H5jc8pW1IJGBIXIFxlk1AjRW3bS19D5OZIx13J8ims6i5s8w==",
"dev": true,
"requires": {
"configstore": "^5.0.0"
@@ -1320,9 +1320,9 @@
}
},
"cspell-io": {
- "version": "4.0.17",
- "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-4.0.17.tgz",
- "integrity": "sha512-srJnvfTm9QdrAGPx7OIR6MIZeXJPgwWupderhy4ywDQKgds4Yj1w3f10JWzHgsfWAwExAaEs3GZ4fEMUeWhnAA==",
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-4.0.18.tgz",
+ "integrity": "sha512-gE3C9bzE8+1W0ThLZ5xeYY5/xqbvUTtnEdsSGQ4VStNyAzcMTzfvWDTtL478z4luAiOxiyNPtQ4clWLGAugSJQ==",
"dev": true,
"requires": {
"iconv-lite": "^0.4.24",
@@ -1330,9 +1330,9 @@
}
},
"cspell-lib": {
- "version": "4.0.25",
- "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-4.0.25.tgz",
- "integrity": "sha512-EltUo+BBx15gCCYuDQ2V/pSPu1xIje9mdzCaEDoTJXIl1J5QVONmc91sukXLNEoymG4cdoZlnd2xg4fV/orynQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-4.1.0.tgz",
+ "integrity": "sha512-2ems0LpIONO51TIQRSiLvECR8RLT8dE2kcEtJS1TVAbh3VQMB2KnAWLLcbBCgqqmCRnYZ/hDrRScd5ZJ+9uZxQ==",
"dev": true,
"requires": {
"comment-json": "^1.1.3",
@@ -1355,8 +1355,8 @@
"cspell-dict-python": "^1.0.14",
"cspell-dict-rust": "^1.0.10",
"cspell-dict-scala": "^1.0.9",
- "cspell-io": "^4.0.17",
- "cspell-trie-lib": "^4.0.15",
+ "cspell-io": "^4.0.18",
+ "cspell-trie-lib": "^4.1.0",
"cspell-util-bundle": "^4.0.5",
"fs-extra": "^8.1.0",
"gensequence": "^2.1.2",
@@ -1377,9 +1377,9 @@
}
},
"cspell-trie-lib": {
- "version": "4.0.15",
- "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-4.0.15.tgz",
- "integrity": "sha512-k3P03msJJh6Fhic9db7kva3+VodhvywvxxB5Q8Y7qF1xCu9zL2Zeoi+gA8ziL1QtUFqAqpzbDNPfiHhz6BaJsQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-4.1.0.tgz",
+ "integrity": "sha512-R7omOBBhiz1yu0Wp1an1Vcv+upNREQEel8c4XcUp3kJFpQIP39T4KQc4+oJ4D1g5To3flB0567vVuLAY9orMdg==",
"dev": true,
"requires": {
"gensequence": "^2.1.2",
diff --git a/package.json b/package.json
index f8038ca00de7..48ec6018caff 100644
--- a/package.json
+++ b/package.json
@@ -17,7 +17,7 @@
"@ts-common/iterator": "^0.3.6",
"@types/js-yaml": "^3.12.1",
"@types/mocha": "^5.2.6",
- "cspell": "^4.0.12",
+ "cspell": "^4.0.30",
"js-yaml": "^3.13.1",
"json-schema-ref-parser": "^6.1.0",
"mocha": "*",
@@ -36,7 +36,7 @@
"scripts": {
"postinstall": "scripts/switch-to-preproduction.sh",
"test": "tsc && mocha -t 500000 --reporter min",
- "spellcheck": "cspell \"specification/**/*.json\"",
+ "spellcheck": "ts-node ./scripts/spellcheck.ts",
"tsc": "tsc",
"multiapi": "ts-node ./scripts/multiapi.ts"
}
diff --git a/preproduction-azure-pipelines.yml b/preproduction-azure-pipelines.yml
index 6f6ae83a177a..4315811071f5 100644
--- a/preproduction-azure-pipelines.yml
+++ b/preproduction-azure-pipelines.yml
@@ -14,5 +14,5 @@ variables:
jobs:
- template: .azure-pipelines/BranchProtectionForPrivateRepo.yml
-- template: .azure-pipelines/Spellcheck.yml
- template: .azure-pipelines/BreakingChange.yml
+- template: .azure-pipelines/ModelValidation.yml
diff --git a/profile/2019-07-01-profile.json b/profile/2019-07-01-profile.json
index 7e73f48c4980..c032110efdd6 100644
--- a/profile/2019-07-01-profile.json
+++ b/profile/2019-07-01-profile.json
@@ -18,23 +18,8 @@
"operations": [
"AzureGov"
],
- "agents": [
- "AzureGov"
- ],
- "aadsupportcases": [
- "AzureGov"
- ],
"reports": [
"AzureGov"
- ],
- "servicehealthmetrics": [
- "AzureGov"
- ],
- "logs": [
- "AzureGov"
- ],
- "anonymousapiusers": [
- "AzureGov"
]
}
},
@@ -80,2662 +65,1720 @@
"AzureGov",
"AzureChina"
]
+ }
+ },
+ "Microsoft.AnalysisServices": {
+ "2017-08-01-beta": {
+ "servers": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/operationresults": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/operationstatuses": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.ApiManagement": {
+ "2019-01-01": {
+ "service": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Authorization": {
+ "2015-06-01": {
+ "classicAdministrators": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.AnalysisServices": {
- "2017-08-01-beta": {
- "servers": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationresults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationstatuses": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.ApiManagement": {
- "2019-01-01": {
- "service": [
- "AzureGov",
- "AzureChina"
- ],
- "validateServiceName": [
- "AzureGov",
- "AzureChina"
- ],
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "reportFeedback": [
- "AzureGov",
- "AzureChina"
- ],
- "checkFeedbackRequired": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.Authorization": {
- "2018-07-01": {
- "roleDefinitions": [
- "AzureGov",
- "AzureChina"
- ],
- "permissions": [
- "AzureGov",
- "AzureChina"
- ],
- "providerOperations": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2015-06-01": {
- "classicAdministrators": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-07-01-preview": {
- "denyAssignments": [
- "AzureGov"
- ]
- },
- "2017-04-01": {
- "locks": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-05-01": {
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-05-01": {
- "policyDefinitions": [
- "AzureGov",
- "AzureChina"
- ],
- "policySetDefinitions": [
- "AzureGov",
- "AzureChina"
- ],
- "policyAssignments": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-09-01-preview": {
- "checkAccess": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.Automation": {
- "2018-06-30": {
- "automationAccounts": [
- "AzureGov",
- "AzureChina"
- ],
- "automationAccounts/runbooks": [
- "AzureGov",
- "AzureChina"
- ],
- "automationAccounts/configurations": [
- "AzureGov",
- "AzureChina"
- ],
- "automationAccounts/webhooks": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "automationAccounts/softwareUpdateConfigurations": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.AzureStack": {
- "2017-06-01": {
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "registrations": [
- "AzureGov",
- "AzureChina"
- ],
- "registrations/products": [
- "AzureGov",
- "AzureChina"
- ],
- "registrations/customerSubscriptions": [
- "AzureGov"
- ]
- }
- },
- "Microsoft.Batch": {
- "2019-04-01": {
- "batchAccounts": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/quotas": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/accountOperationResults": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.BatchAI": {
- "2018-03-01": {
- "clusters": [
- "AzureGov"
- ],
- "jobs": [
- "AzureGov"
- ],
- "fileservers": [
- "AzureGov"
- ]
- },
- "2018-05-01": {
- "workspaces": [
- "AzureGov"
- ],
- "workspaces/clusters": [
- "AzureGov"
- ],
- "workspaces/fileservers": [
- "AzureGov"
- ],
- "workspaces/experiments": [
- "AzureGov"
- ],
- "workspaces/experiments/jobs": [
- "AzureGov"
- ],
- "operations": [
- "AzureGov"
- ],
- "locations": [
- "AzureGov"
- ],
- "locations/operationresults": [
- "AzureGov"
- ],
- "locations/operationstatuses": [
- "AzureGov"
- ],
- "locations/usages": [
- "AzureGov"
- ]
- }
- },
- "Microsoft.BotService": {
- "2018-07-12": {
- "botServices": [
- "AzureGov"
- ],
- "botServices/channels": [
- "AzureGov"
- ],
- "botServices/connections": [
- "AzureGov"
- ],
- "listAuthServiceProviders": [
- "AzureGov"
- ],
- "checkNameAvailability": [
- "AzureGov"
- ],
- "languages": [
- "AzureGov"
- ],
- "templates": [
- "AzureGov"
- ],
- "operations": [
- "AzureGov"
- ]
- }
- },
- "Microsoft.Cache": {
- "2018-03-01": {
- "Redis": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "RedisConfigDefinition": [
- "AzureChina"
- ]
- }
- },
- "Microsoft.CognitiveServices": {
- "2017-04-18": {
- "accounts": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/checkSkuAvailability": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.Compute": {
- "2018-10-01": {
- "availabilitySets": [
- "AzureGov",
- "AzureChina"
- ],
- "virtualMachines": [
- "AzureGov",
- "AzureChina"
- ],
- "virtualMachines/extensions": [
- "AzureGov",
- "AzureChina"
- ],
- "virtualMachineScaleSets": [
- "AzureGov",
- "AzureChina"
- ],
- "virtualMachineScaleSets/extensions": [
- "AzureGov",
- "AzureChina"
- ],
- "virtualMachineScaleSets/virtualMachines": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/vmSizes": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/runCommands": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/usages": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/systemInfo": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/virtualMachines": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/publishers": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "restorePointCollections": [
- "AzureGov",
- "AzureChina"
- ],
- "restorePointCollections/restorePoints": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/capsoperations": [
- "AzureGov",
- "AzureChina"
- ],
- "galleries": [
- "AzureGov",
- "AzureChina"
- ],
- "galleries/images": [
- "AzureGov",
- "AzureChina"
- ],
- "galleries/images/versions": [
- "AzureGov",
- "AzureChina"
- ],
- "images": [
- "AzureGov",
- "AzureChina"
- ],
- "virtualMachineScaleSets/networkInterfaces": [
- "AzureGov",
- "AzureChina"
- ],
- "virtualMachineScaleSets/virtualMachines/networkInterfaces": [
- "AzureGov",
- "AzureChina"
- ],
- "virtualMachineScaleSets/publicIPAddresses": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-10-15-preview": {
- "sharedVMImages": [
- "AzureGov",
- "AzureChina"
- ],
- "sharedVMImages/versions": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/artifactPublishers": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-09-30": {
- "disks": [
- "AzureGov",
- "AzureChina"
- ],
- "snapshots": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/diskoperations": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.Consumption": {
- "2018-10-01": {
- "CostTags": [
- "AzureGov"
- ],
- "products": [
- "AzureGov"
- ]
- },
- "2018-11-01-preview": {
- "credits": [
- "AzureGov"
- ],
- "events": [
- "AzureGov"
- ],
- "lots": [
- "AzureGov"
- ]
- }
- },
- "Microsoft.ContainerRegistry": {
- "2017-10-01": {
- "registries": [
- "AzureGov",
- "AzureChina"
- ],
- "registries/importImage": [
- "AzureGov",
- "AzureChina"
- ],
- "registries/replications": [
- "AzureGov",
- "AzureChina"
- ],
- "registries/webhooks": [
- "AzureGov",
- "AzureChina"
- ],
- "registries/webhooks/ping": [
- "AzureGov",
- "AzureChina"
- ],
- "registries/webhooks/getCallbackConfig": [
- "AzureGov",
- "AzureChina"
- ],
- "registries/webhooks/listEvents": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "registries/listCredentials": [
- "AzureGov",
- "AzureChina"
- ],
- "registries/regenerateCredential": [
- "AzureGov",
- "AzureChina"
- ],
- "registries/listUsages": [
- "AzureGov",
- "AzureChina"
- ],
- "registries/eventGridFilters": [
- "AzureGov",
- "AzureChina"
- ],
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "swagger": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-03-01": {
- "registries/GetCredentials": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2016-06-27-preview": {
- "registries/regenerateCredentials": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.CostManagement": {
- "2018-05-31": {
- "Reportconfigs": [
- "AzureGov"
- ]
- }
- },
- "Microsoft.DataBox": {
- "2018-01-01": {
- "jobs": [
- "AzureGov"
- ],
- "locations": [
- "AzureGov"
- ],
- "locations/validateAddress": [
- "AzureGov"
- ],
- "locations/expresspods": [
- "AzureGov"
- ],
- "locations/checkNameAvailability": [
- "AzureGov"
- ],
- "locations/operationresults": [
- "AzureGov"
- ],
- "operations": [
- "AzureGov"
- ],
- "locations/serviceHealth": [
- "AzureGov"
- ],
- "locations/availableSkus": [
- "AzureGov"
- ]
- }
- },
- "Microsoft.DataFactory": {
- "2018-06-01": {
- "factories": [
- "AzureGov",
- "AzureChina"
- ],
- "factories/integrationRuntimes": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/configureFactoryRepo": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/getFeatureValue": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.DataMigration": {
- "2018-07-15-preview": {
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "services": [
- "AzureGov",
- "AzureChina"
- ],
- "services/projects": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationStatuses": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "slots": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.DBforMySQL": {
- "2017-12-01-preview": {
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "servers": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/recoverableServers": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/virtualNetworkRules": [
- "AzureGov",
- "AzureChina"
- ],
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/azureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/performanceTiers": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.DBforPostgreSQL": {
- "2017-12-01-preview": {
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "servers": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/recoverableServers": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/virtualNetworkRules": [
- "AzureGov",
- "AzureChina"
- ],
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/azureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/performanceTiers": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-12-01": {
- "locations/securityAlertPoliciesAzureAsyncOperation": [
- "AzureGov"
- ],
- "locations/securityAlertPoliciesOperationResults": [
- "AzureGov"
- ]
- }
- },
- "Microsoft.Devices": {
- "2018-12-01-preview": {
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "usages": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "operationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "IotHubs": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.DevTestLab": {
- "2018-10-15-preview": {
- "labs": [
- "AzureGov"
- ],
- "schedules": [
- "AzureGov"
- ],
- "labs/virtualMachines": [
- "AzureGov"
- ],
- "operations": [
- "AzureGov"
- ],
- "locations": [
- "AzureGov"
- ],
- "locations/operations": [
- "AzureGov"
- ]
- }
- },
- "Microsoft.EventHub": {
- "2018-01-01-preview": {
- "namespaces": [
- "AzureGov",
- "AzureChina"
- ],
- "clusters": [
- "AzureChina"
- ]
- },
- "2015-08-01": {
- "checkNamespaceAvailability": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-04-01": {
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "sku": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.Features": {
- "2015-12-01": {
- "features": [
- "AzureGov",
- "AzureChina"
- ],
- "providers": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.ImportExport": {
- "2016-11-01": {
- "jobs": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "microsoft.insights": {
- "2018-05-01-preview": {
- "components": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2015-05-01": {
- "webtests": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-04-16": {
- "scheduledqueryrules": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-10-01": {
- "components/pricingPlans": [
- "AzureGov",
- "AzureChina"
- ],
- "migrateToNewPricingModel": [
- "AzureGov",
- "AzureChina"
- ],
- "rollbackToLegacyPricingModel": [
- "AzureGov",
- "AzureChina"
- ],
- "listMigrationdate": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2016-03-01": {
- "logprofiles": [
- "AzureGov",
- "AzureChina"
- ],
- "alertrules": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-03-01": {
- "metricalerts": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2015-04-01": {
- "autoscalesettings": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "eventCategories": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-03-01-preview": {
- "eventtypes": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-05-01-preview": {
- "diagnosticSettings": [
- "AzureGov",
- "AzureChina"
- ],
- "diagnosticSettingsCategories": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-01-01": {
- "metricDefinitions": [
- "AzureGov",
- "AzureChina"
- ],
- "metrics": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2015-07-01": {
- "logDefinitions": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-09-01": {
- "actiongroups": [
- "AzureGov",
- "AzureChina"
- ],
- "baseline": [
- "AzureGov"
- ],
- "calculatebaseline": [
- "AzureGov"
- ]
- },
- "2017-04-01": {
- "activityLogAlerts": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-06-17-preview": {
- "workbooks": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-08-01-preview": {
- "logs": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.KeyVault": {
- "2018-02-14-preview": {
- "vaults": [
- "AzureGov",
- "AzureChina"
- ],
- "vaults/secrets": [
- "AzureGov",
- "AzureChina"
- ],
- "vaults/accessPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "deletedVaults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/deletedVaults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/deleteVirtualNetworkOrSubnets": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationResults": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.Logic": {
- "2018-07-01-preview": {
- "integrationAccounts": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.MarketplaceOrdering": {
- "2015-06-01": {
- "agreements": [
- "AzureGov"
- ],
- "operations": [
- "AzureGov"
- ],
- "offertypes": [
- "AzureGov"
- ]
- }
+ "2018-07-01-preview": {
+ "denyAssignments": [
+ "AzureGov"
+ ]
},
- "Microsoft.Media": {
- "2018-07-01": {
- "mediaservices": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/assets": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/contentKeyPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/streamingLocators": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/streamingPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/transforms": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/transforms/jobs": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/streamingEndpoints": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/liveEvents": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/liveEvents/liveOutputs": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/streamingEndpointOperations": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/liveEventOperations": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/liveOutputOperations": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/assets/assetFilters": [
- "AzureGov",
- "AzureChina"
- ],
- "mediaservices/accountFilters": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2015-10-01": {
- "checknameavailability": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2018-05-01": {
+ "policyDefinitions": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "policySetDefinitions": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "policyAssignments": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.Migrate": {
- "2018-02-02": {
- "projects": [
- "AzureGov"
- ],
- "operations": [
- "AzureGov"
- ],
- "locations": [
- "AzureGov"
- ],
- "locations/checkNameAvailability": [
- "AzureGov"
- ],
- "locations/assessmentOptions": [
- "AzureGov"
- ]
- }
+ "2018-01-01-preview": {
+ "roleDefinitions": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Automation": {
+ "2015-10-31": {
+ "automationAccounts": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.AzureStack": {
+ "2017-06-01": {
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "registrations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "registrations/products": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "registrations/customerSubscriptions": [
+ "AzureGov"
+ ]
+ }
+ },
+ "Microsoft.Batch": {
+ "2019-04-01": {
+ "batchAccounts": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/quotas": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.BatchAI": {
+ "2018-03-01": {
+ "clusters": [
+ "AzureGov"
+ ],
+ "jobs": [
+ "AzureGov"
+ ],
+ "fileservers": [
+ "AzureGov"
+ ]
},
- "Microsoft.Network": {
- "2019-02-01": {
- "virtualNetworks": [
- "AzureGov",
- "AzureChina"
- ],
- "publicIPAddresses": [
- "AzureGov",
- "AzureChina"
- ],
- "networkInterfaces": [
- "AzureGov",
- "AzureChina"
- ],
- "privateEndpoints": [
- "AzureGov",
- "AzureChina"
- ],
- "loadBalancers": [
- "AzureGov",
- "AzureChina"
- ],
- "networkSecurityGroups": [
- "AzureGov",
- "AzureChina"
- ],
- "applicationSecurityGroups": [
- "AzureGov",
- "AzureChina"
- ],
- "serviceEndpointPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "networkIntentPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "routeTables": [
- "AzureGov",
- "AzureChina"
- ],
- "publicIPPrefixes": [
- "AzureGov",
- "AzureChina"
- ],
- "ddosCustomPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "networkWatchers": [
- "AzureGov",
- "AzureChina"
- ],
- "networkWatchers/connectionMonitors": [
- "AzureGov",
- "AzureChina"
- ],
- "networkWatchers/pingMeshes": [
- "AzureGov",
- "AzureChina"
- ],
- "virtualNetworkGateways": [
- "AzureGov",
- "AzureChina"
- ],
- "localNetworkGateways": [
- "AzureGov",
- "AzureChina"
- ],
- "connections": [
- "AzureGov",
- "AzureChina"
- ],
- "applicationGateways": [
- "AzureGov",
- "AzureChina"
- ],
- "applicationGatewayWebApplicationFirewallPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/CheckDnsNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/usages": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/virtualNetworkAvailableEndpointServices": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/availableDelegations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/serviceTags": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/availablePrivateEndpointResources": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/supportedVirtualMachineSizes": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/checkAcceleratedNetworkingSupport": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/validateResourceOwnership": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/setResourceOwnership": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/effectiveResourceOwnership": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "expressRouteCircuits": [
- "AzureGov",
- "AzureChina"
- ],
- "expressRouteCrossConnections": [
- "AzureGov",
- "AzureChina"
- ],
- "expressRouteServiceProviders": [
- "AzureGov",
- "AzureChina"
- ],
- "applicationGatewayAvailableWafRuleSets": [
- "AzureGov",
- "AzureChina"
- ],
- "applicationGatewayAvailableSslOptions": [
- "AzureGov",
- "AzureChina"
- ],
- "applicationGatewayAvailableServerVariables": [
- "AzureGov",
- "AzureChina"
- ],
- "applicationGatewayAvailableRequestHeaders": [
- "AzureGov",
- "AzureChina"
- ],
- "applicationGatewayAvailableResponseHeaders": [
- "AzureGov",
- "AzureChina"
- ],
- "routeFilters": [
- "AzureGov",
- "AzureChina"
- ],
- "bgpServiceCommunities": [
- "AzureGov",
- "AzureChina"
- ],
- "azureFirewalls": [
- "AzureGov",
- "AzureChina"
- ],
- "azureFirewallFqdnTags": [
- "AzureGov",
- "AzureChina"
- ],
- "virtualNetworkTaps": [
- "AzureGov",
- "AzureChina"
- ],
- "privateLinkServices": [
- "AzureGov",
- "AzureChina"
- ],
- "ddosProtectionPlans": [
- "AzureGov",
- "AzureChina"
- ],
- "networkProfiles": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/bareMetalTenants": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-05-01": {
- "dnszones": [
- "AzureGov",
- "AzureChina"
- ],
- "dnsOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "dnsOperationStatuses": [
- "AzureGov",
- "AzureChina"
- ],
- "getDnsResourceReference": [
- "AzureGov",
- "AzureChina"
- ],
- "internalNotify": [
- "AzureGov",
- "AzureChina"
- ],
- "dnszones/A": [
- "AzureGov",
- "AzureChina"
- ],
- "dnszones/AAAA": [
- "AzureGov",
- "AzureChina"
- ],
- "dnszones/CNAME": [
- "AzureGov",
- "AzureChina"
- ],
- "dnszones/PTR": [
- "AzureGov",
- "AzureChina"
- ],
- "dnszones/MX": [
- "AzureGov",
- "AzureChina"
- ],
- "dnszones/TXT": [
- "AzureGov",
- "AzureChina"
- ],
- "dnszones/SRV": [
- "AzureGov",
- "AzureChina"
- ],
- "dnszones/SOA": [
- "AzureGov",
- "AzureChina"
- ],
- "dnszones/NS": [
- "AzureGov",
- "AzureChina"
- ],
- "dnszones/CAA": [
- "AzureGov",
- "AzureChina"
- ],
- "dnszones/recordsets": [
- "AzureGov",
- "AzureChina"
- ],
- "dnszones/all": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-08-01": {
- "trafficmanagerprofiles": [
- "AzureGov",
- "AzureChina"
- ],
- "checkTrafficManagerNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "trafficManagerGeographicHierarchies": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2018-05-01": {
+ "workspaces": [
+ "AzureGov"
+ ],
+ "workspaces/clusters": [
+ "AzureGov"
+ ],
+ "workspaces/fileservers": [
+ "AzureGov"
+ ],
+ "workspaces/experiments": [
+ "AzureGov"
+ ],
+ "workspaces/experiments/jobs": [
+ "AzureGov"
+ ],
+ "operations": [
+ "AzureGov"
+ ],
+ "locations": [
+ "AzureGov"
+ ],
+ "locations/usages": [
+ "AzureGov"
+ ]
+ }
+ },
+ "Microsoft.BotService": {
+ "2018-07-12": {
+ "botServices": [
+ "AzureGov"
+ ],
+ "botServices/channels": [
+ "AzureGov"
+ ],
+ "botServices/connections": [
+ "AzureGov"
+ ],
+ "listAuthServiceProviders": [
+ "AzureGov"
+ ],
+ "checkNameAvailability": [
+ "AzureGov"
+ ],
+ "operations": [
+ "AzureGov"
+ ]
+ }
+ },
+ "Microsoft.Cache": {
+ "2018-03-01": {
+ "Redis": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.CognitiveServices": {
+ "2017-04-18": {
+ "accounts": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/checkSkuAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "skus": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Compute": {
+ "2019-03-01": {
+ "galleries": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "galleries/images": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "galleries/images/versions": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.NotificationHubs": {
- "2017-04-01": {
- "namespaces": [
- "AzureGov",
- "AzureChina"
- ],
- "namespaces/notificationHubs": [
- "AzureGov",
- "AzureChina"
- ],
- "checkNamespaceAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2016-03-01": {
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "operationResults": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2018-10-01": {
+ "availabilitySets": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "virtualMachines": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "virtualMachines/extensions": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "virtualMachineScaleSets": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "virtualMachineScaleSets/extensions": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "virtualMachineScaleSets/virtualMachines": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/vmSizes": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/runCommands": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/usages": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/virtualMachines": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/publishers": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "images": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.OperationalInsights": {
- "2015-03-20": {
- "linkTargets": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2018-09-30": {
+ "disks": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "snapshots": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Consumption": {
+ "2018-06-30": {
+ "CostTags": [
+ "AzureGov"
+ ]
},
- "Microsoft.OperationsManagement": {
- "2015-11-01-preview": {
- "solutions": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-08-21-preview": {
- "views": [
- "AzureChina"
- ]
- }
- },
- "Microsoft.PolicyInsights": {
- "2018-04-04": {
- "policyEvents": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-07-01-preview": {
- "policyStates": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "asyncOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "remediations": [
- "AzureGov",
- "AzureChina"
- ],
- "policyTrackedResources": [
- "AzureGov",
- "AzureChina"
- ]
- }
- },
- "Microsoft.Portal": {
- "2018-10-01-preview": {
- "dashboards": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2015-08-01-preview": {
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2018-11-01-preview": {
+ "credits": [
+ "AzureGov"
+ ],
+ "events": [
+ "AzureGov"
+ ],
+ "lots": [
+ "AzureGov"
+ ]
+ }
+ },
+ "Microsoft.ContainerRegistry": {
+ "2017-10-01": {
+ "registries": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "registries/importImage": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "registries/replications": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "registries/webhooks": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "registries/webhooks/ping": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "registries/webhooks/getCallbackConfig": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "registries/webhooks/listEvents": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "registries/listCredentials": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "registries/regenerateCredential": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "registries/listUsages": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.PowerBI": {
- "2016-01-29": {
- "workspaceCollections": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2016-06-27-preview": {
+ "registries/GetCredentials": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "registries/regenerateCredentials": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.CostManagement": {
+ "2018-05-31": {
+ "Reportconfigs": [
+ "AzureGov"
+ ]
+ }
+ },
+ "Microsoft.DataBox": {
+ "2018-01-01": {
+ "jobs": [
+ "AzureGov"
+ ],
+ "locations": [
+ "AzureGov"
+ ],
+ "locations/validateAddress": [
+ "AzureGov"
+ ],
+ "operations": [
+ "AzureGov"
+ ],
+ "locations/availableSkus": [
+ "AzureGov"
+ ]
+ }
+ },
+ "Microsoft.DataFactory": {
+ "2018-06-01": {
+ "factories": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "factories/integrationRuntimes": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/configureFactoryRepo": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/getFeatureValue": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.DataMigration": {
+ "2018-07-15-preview": {
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "services": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "services/projects": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.DBforMySQL": {
+ "2017-12-01-preview": {
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/virtualNetworkRules": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/performanceTiers": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.DBforPostgreSQL": {
+ "2017-12-01-preview": {
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/virtualNetworkRules": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/performanceTiers": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Devices": {
+ "2018-12-01-preview": {
+ "checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "usages": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "IotHubs": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.EventHub": {
+ "2018-01-01-preview": {
+ "namespaces": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "clusters": [
+ "AzureChina"
+ ]
},
- "Microsoft.PowerBIDedicated": {
- "2017-10-01": {
- "capacities": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationresults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationstatuses": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-01-01-preview": {
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2014-09-01": {
+ "checkNamespaceAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.RecoveryServices": {
- "2016-08-10": {
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2016-06-01": {
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/backupStatus": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/allocatedStamp": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/allocateStamp": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-01-10": {
- "locations/checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-07-01": {
- "locations/backupValidateFeatures": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/backupPreValidateProtection": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2017-04-01": {
+ "checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "sku": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Features": {
+ "2015-12-01": {
+ "features": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "providers": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.ImportExport": {
+ "2016-11-01": {
+ "jobs": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "microsoft.insights": {
+ "2018-04-16": {
+ "scheduledqueryrules": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.Relay": {
- "2017-04-01": {
- "namespaces": [
- "AzureGov",
- "AzureChina"
- ],
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2016-03-01": {
+ "logprofiles": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "alertrules": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.ResourceHealth": {
- "2017-07-01": {
- "availabilityStatuses": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2015-01-01": {
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2018-03-01": {
+ "metricalerts": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.Resources": {
- "2016-09-01": {
- "tenants": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "providers": [
- "AzureGov",
- "AzureChina"
- ],
- "checkresourcename": [
- "AzureGov",
- "AzureChina"
- ],
- "resources": [
- "AzureGov",
- "AzureChina"
- ],
- "subscriptions": [
- "AzureGov",
- "AzureChina"
- ],
- "subscriptions/resources": [
- "AzureGov",
- "AzureChina"
- ],
- "subscriptions/providers": [
- "AzureGov",
- "AzureChina"
- ],
- "subscriptions/operationresults": [
- "AzureGov",
- "AzureChina"
- ],
- "resourceGroups": [
- "AzureGov",
- "AzureChina"
- ],
- "subscriptions/resourceGroups": [
- "AzureGov",
- "AzureChina"
- ],
- "subscriptions/resourcegroups/resources": [
- "AzureGov",
- "AzureChina"
- ],
- "subscriptions/locations": [
- "AzureGov",
- "AzureChina"
- ],
- "subscriptions/tagnames": [
- "AzureGov",
- "AzureChina"
- ],
- "subscriptions/tagNames/tagValues": [
- "AzureGov",
- "AzureChina"
- ],
- "deployments": [
- "AzureGov",
- "AzureChina"
- ],
- "deployments/operations": [
- "AzureGov",
- "AzureChina"
- ],
- "links": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2015-05-01": {
+ "webtests": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.Scheduler": {
- "2016-03-01": {
- "jobcollections": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "operationResults": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2015-04-01": {
+ "autoscalesettings": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "eventCategories": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.Search": {
- "2015-08-19": {
- "searchServices": [
- "AzureGov",
- "AzureChina"
- ],
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "resourceHealthMetadata": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2015-02-28": {
- "checkServiceNameAvailability": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2017-05-01-preview": {
+ "diagnosticSettings": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "diagnosticSettingsCategories": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.ServiceBus": {
- "2018-01-01-preview": {
- "namespaces": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-04-01": {
- "namespaces/authorizationrules": [
- "AzureGov"
- ],
- "namespaces/queues": [
- "AzureGov"
- ],
- "namespaces/queues/authorizationrules": [
- "AzureGov"
- ],
- "namespaces/topics": [
- "AzureGov"
- ],
- "namespaces/topics/authorizationrules": [
- "AzureGov"
- ],
- "namespaces/topics/subscriptions": [
- "AzureGov"
- ],
- "namespaces/topics/subscriptions/rules": [
- "AzureGov"
- ],
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "sku": [
- "AzureGov",
- "AzureChina"
- ],
- "premiumMessagingRegions": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2015-08-01": {
- "checkNamespaceAvailability": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2018-06-17-preview": {
+ "workbooks": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.ServiceFabric": {
- "2018-02-01": {
- "clusters": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/clusterVersions": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/operationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2018-01-01": {
+ "metricDefinitions": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "metrics": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.Solutions": {
- "2018-09-01-preview": {
- "applications": [
- "AzureGov"
- ],
- "applicationDefinitions": [
- "AzureGov"
- ],
- "locations": [
- "AzureGov"
- ],
- "locations/operationstatuses": [
- "AzureGov"
- ],
- "operations": [
- "AzureGov"
- ]
- }
+ "2018-09-01": {
+ "actiongroups": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "baseline": [
+ "AzureGov"
+ ],
+ "calculatebaseline": [
+ "AzureGov"
+ ]
},
- "Microsoft.Sql": {
- "2017-03-01-preview": {
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/backupLongTermRetentionPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/automaticTuning": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/automaticTuning": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/securityAlertPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/extendedAuditingSettings": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/extendedAuditingSettingsAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/extendedAuditingSettingsOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/jobAgents": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/jobAgentOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/jobAgentAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/jobAgents/jobs": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/jobAgents/jobs/steps": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/jobAgents/jobs/executions": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/dnsAliases": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/dnsAliasAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/dnsAliasOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/databaseRestoreAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/VulnerabilityAssessment": [
- "AzureGov",
- "AzureChina"
- ],
- "managedInstances/administrators": [
- "AzureGov",
- "AzureChina"
- ],
- "managedInstances/databases": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedDatabaseAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedDatabaseOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedDatabaseRestoreAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedDatabaseRestoreOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedServerSecurityAlertPoliciesAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedServerSecurityAlertPoliciesOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/securityAlertPoliciesAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/securityAlertPoliciesOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/administratorAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/administratorOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/longTermRetentionServers": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/longTermRetentionBackups": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/longTermRetentionPolicyOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/longTermRetentionPolicyAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/longTermRetentionBackupOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/longTermRetentionBackupAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedShortTermRetentionPolicyOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedShortTermRetentionPolicyAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2014-04-01-preview": {
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/serviceObjectives": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/communicationLinks": [
- "AzureGov"
- ],
- "servers/administrators": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/administratorOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/restorableDroppedDatabases": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/recoverableDatabases": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/import": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/importExportOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/operationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databaseSecurityPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/auditingPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/recommendedElasticPools": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/auditingPolicies": [
- "AzureGov"
- ],
- "servers/databases/connectionPolicies": [
- "AzureGov"
- ],
- "servers/connectionPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/dataMaskingPolicies": [
- "AzureGov"
- ],
- "servers/databases/dataMaskingPolicies/rules": [
- "AzureGov"
- ],
- "servers/disasterRecoveryConfiguration": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/metricDefinitions": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/metrics": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/aggregatedDatabaseMetrics": [
- "AzureGov"
- ],
- "servers/elasticpools/metrics": [
- "AzureGov"
- ],
- "servers/elasticpools/metricdefinitions": [
- "AzureGov"
- ],
- "servers/databases/topQueries": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/topQueries/queryText": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/extensions": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-06-01-preview": {
- "locations/capabilities": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/databaseAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/databaseOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/serverKeyAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/serverKeyOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/keys": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/encryptionProtector": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/encryptionProtectorOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/encryptionProtectorAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/serverAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/serverOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "servers": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/transparentDataEncryption": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/securityAlertPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/vulnerabilityAssessments": [
- "AzureGov",
- "AzureChina"
- ],
- "managedInstances/vulnerabilityAssessments": [
- "AzureGov",
- "AzureChina"
- ],
- "managedInstances": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedInstanceAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedInstanceOperationResults": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-10-01-preview": {
- "locations/managedInstanceKeyAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedInstanceKeyOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedInstanceEncryptionProtectorOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedInstanceEncryptionProtectorAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/tdeCertificates": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/tdeCertAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/tdeCertOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/elasticPoolAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/elasticPoolOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/elasticpools": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/vulnerabilityAssessments": [
- "AzureGov",
- "AzureChina"
- ],
- "managedInstances/databases/vulnerabilityAssessments": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/vulnerabilityAssessmentScanAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/vulnerabilityAssessmentScanOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "managedInstances/recoverableDatabases": [
- "AzureGov",
- "AzureChina"
- ],
- "managedInstances/metrics": [
- "AzureGov",
- "AzureChina"
- ],
- "managedInstances/metricDefinitions": [
- "AzureGov",
- "AzureChina"
- ],
- "managedInstances/tdeCertificates": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedInstanceTdeCertAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedInstanceTdeCertOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/shortTermRetentionPolicyOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/shortTermRetentionPolicyAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/instanceFailoverGroups": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/instanceFailoverGroupAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/instanceFailoverGroupOperationResults": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2015-05-01-preview": {
- "servers/databases/geoBackupPolicies": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/failoverGroups": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/failoverGroupAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/failoverGroupOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/deleteVirtualNetworkOrSubnets": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/virtualNetworkRules": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/virtualNetworkRulesOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/virtualNetworkRulesAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/deleteVirtualNetworkOrSubnetsOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/deleteVirtualNetworkOrSubnetsAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/advisors": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/elasticPools/advisors": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/advisors": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/elasticPoolEstimates": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/auditRecords": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/VulnerabilityAssessmentScans": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/VulnerabilityAssessmentSettings": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/syncGroups": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/databases/syncGroups/syncMembers": [
- "AzureGov",
- "AzureChina"
- ],
- "servers/syncAgents": [
- "AzureGov",
- "AzureChina"
- ],
- "virtualClusters": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/syncGroupOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/syncMemberOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/syncAgentOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/syncDatabaseIds": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/firewallRulesOperationResults": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/firewallRulesAzureAsyncOperation": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2017-04-01": {
+ "activityLogAlerts": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2017-10-01": {
+ "components/pricingplans": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "migrateToNewPricingModel": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "rollbackToLegacyPricingModel": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "listMigrationdate": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.KeyVault": {
+ "2018-02-14-preview": {
+ "vaults": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "vaults/secrets": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "vaults/accessPolicies": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "deletedVaults": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/deletedVaults": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Logic": {
+ "2018-07-01-preview": {
+ "integrationAccounts": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.MarketplaceOrdering": {
+ "2015-06-01": {
+ "agreements": [
+ "AzureGov"
+ ],
+ "operations": [
+ "AzureGov"
+ ],
+ "offertypes": [
+ "AzureGov"
+ ]
+ }
+ },
+ "Microsoft.Media": {
+ "2018-07-01": {
+ "mediaservices": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "mediaservices/assets": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "mediaservices/contentKeyPolicies": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "mediaservices/streamingLocators": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "mediaservices/streamingPolicies": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "mediaservices/transforms": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "mediaservices/transforms/jobs": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "mediaservices/streamingEndpoints": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "mediaservices/liveEvents": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "mediaservices/liveEvents/liveOutputs": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "mediaservices/assets/assetFilters": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "mediaservices/accountFilters": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2015-10-01": {
+ "checknameavailability": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Migrate": {
+ "2018-02-02": {
+ "projects": [
+ "AzureGov"
+ ],
+ "operations": [
+ "AzureGov"
+ ],
+ "locations": [
+ "AzureGov"
+ ],
+ "locations/checkNameAvailability": [
+ "AzureGov"
+ ],
+ "locations/assessmentOptions": [
+ "AzureGov"
+ ]
+ }
+ },
+ "Microsoft.Network": {
+ "2019-02-01": {
+ "virtualNetworks": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "publicIPAddresses": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "networkInterfaces": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "loadBalancers": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "networkSecurityGroups": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "applicationSecurityGroups": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "serviceEndpointPolicies": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "routeTables": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "publicIPPrefixes": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "ddosCustomPolicies": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "networkWatchers": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "networkWatchers/connectionMonitors": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "virtualNetworkGateways": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "localNetworkGateways": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "connections": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "applicationGateways": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "applicationGatewayWebApplicationFirewallPolicies": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/CheckDnsNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/usages": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/virtualNetworkAvailableEndpointServices": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/availableDelegations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "expressRouteCircuits": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "expressRouteCrossConnections": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "expressRouteServiceProviders": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "applicationGatewayAvailableWafRuleSets": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "applicationGatewayAvailableSslOptions": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "applicationGatewayAvailableServerVariables": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "applicationGatewayAvailableRequestHeaders": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "applicationGatewayAvailableResponseHeaders": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "routeFilters": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "bgpServiceCommunities": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "azureFirewalls": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "azureFirewallFqdnTags": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "virtualNetworkTaps": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "ddosProtectionPlans": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "networkProfiles": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2018-05-01": {
+ "dnszones": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "dnszones/A": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2018-04-01": {
+ "trafficmanagerprofiles": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "checkTrafficManagerNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "trafficManagerGeographicHierarchies": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.NotificationHubs": {
+ "2017-04-01": {
+ "namespaces": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "namespaces/notificationHubs": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "checkNamespaceAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.OperationalInsights": {
+ "2015-03-20": {
+ "linkTargets": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.OperationsManagement": {
+ "2015-11-01-preview": {
+ "solutions": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.PolicyInsights": {
+ "2018-04-04": {
+ "policyEvents": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2018-07-01-preview": {
+ "policyStates": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "remediations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "policyTrackedResources": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Portal": {
+ "2015-08-01-preview": {
+ "dashboards": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.PowerBI": {
+ "2016-01-29": {
+ "workspaceCollections": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.PowerBIDedicated": {
+ "2017-10-01": {
+ "capacities": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.RecoveryServices": {
+ "2016-08-10": {
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2016-06-01": {
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2017-07-01": {
+ "locations/backupValidateFeatures": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/backupStatus": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/backupPreValidateProtection": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Relay": {
+ "2017-04-01": {
+ "namespaces": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.ResourceHealth": {
+ "2017-07-01": {
+ "availabilityStatuses": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2015-01-01": {
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Resources": {
+ "2016-09-01": {
+ "providers": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "resources": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "subscriptions/resources": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "subscriptions/providers": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "resourceGroups": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "subscriptions/resourceGroups": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "subscriptions/resourcegroups/resources": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "subscriptions/tagnames": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "subscriptions/tagNames/tagValues": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "deployments": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "deployments/operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "links": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2016-06-01": {
+ "subscriptions": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Scheduler": {
+ "2016-03-01": {
+ "jobcollections": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Search": {
+ "2015-08-19": {
+ "searchServices": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.ServiceBus": {
+ "2018-01-01-preview": {
+ "namespaces": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2017-04-01": {
+ "namespaces/authorizationrules": [
+ "AzureGov"
+ ],
+ "namespaces/queues": [
+ "AzureGov"
+ ],
+ "namespaces/queues/authorizationrules": [
+ "AzureGov"
+ ],
+ "namespaces/topics": [
+ "AzureGov"
+ ],
+ "namespaces/topics/authorizationrules": [
+ "AzureGov"
+ ],
+ "namespaces/topics/subscriptions": [
+ "AzureGov"
+ ],
+ "namespaces/topics/subscriptions/rules": [
+ "AzureGov"
+ ],
+ "checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "sku": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "premiumMessagingRegions": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.ServiceFabric": {
+ "2018-02-01": {
+ "clusters": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/clusterVersions": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Solutions": {
+ "2018-06-01": {
+ "applications": [
+ "AzureGov"
+ ],
+ "applicationDefinitions": [
+ "AzureGov"
+ ]
+ }
+ },
+ "Microsoft.Sql": {
+ "2014-04-01": {
+ "servers/databases/backupLongTermRetentionPolicies": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/databases/transparentDataEncryption": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/databases/geoBackupPolicies": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2017-03-01-preview": {
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/managedDatabaseRestoreAzureAsyncOperation": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/automaticTuning": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/securityAlertPolicies": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/extendedAuditingSettings": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/jobAgents": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/jobAgents/jobs": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/jobAgents/jobs/steps": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/jobAgents/jobs/executions": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/dnsAliases": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/databases/VulnerabilityAssessment": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "managedInstances/administrators": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "managedInstances/databases": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/longTermRetentionServers": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/longTermRetentionBackups": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2018-06-01-preview": {
+ "servers": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/databases": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/databases/securityAlertPolicies": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/vulnerabilityAssessments": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "managedInstances/vulnerabilityAssessments": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "managedInstances": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2017-10-01-preview": {
+ "locations/capabilities": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/tdeCertificates": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/elasticpools": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/databases/vulnerabilityAssessments": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "managedInstances/databases/vulnerabilityAssessments": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "managedInstances/recoverableDatabases": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "managedInstances/tdeCertificates": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/instanceFailoverGroups": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ },
+ "2015-05-01-preview": {
+ "servers/keys": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/encryptionProtector": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/databases/automaticTuning": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/failoverGroups": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/virtualNetworkRules": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/advisors": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/databases/advisors": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/databases/syncGroups": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/databases/syncGroups/syncMembers": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "servers/syncAgents": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "virtualClusters": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/syncDatabaseIds": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.Storage": {
+ "2019-04-01": {
+ "storageAccounts": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "storageAccounts/listAccountSas": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "storageAccounts/listServiceSas": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "storageAccounts/blobServices": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "storageAccounts/fileServices": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/usages": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.Storage": {
- "2019-04-01": {
- "storageAccounts": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/asyncoperations": [
- "AzureGov",
- "AzureChina"
- ],
- "storageAccounts/listAccountSas": [
- "AzureGov",
- "AzureChina"
- ],
- "storageAccounts/listServiceSas": [
- "AzureGov",
- "AzureChina"
- ],
- "storageAccounts/blobServices": [
- "AzureGov",
- "AzureChina"
- ],
- "storageAccounts/tableServices": [
- "AzureGov",
- "AzureChina"
- ],
- "storageAccounts/queueServices": [
- "AzureGov",
- "AzureChina"
- ],
- "storageAccounts/fileServices": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/usages": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/deleteVirtualNetworkOrSubnets": [
- "AzureGov",
- "AzureChina"
- ],
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2017-10-01": {
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "usages": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2017-10-01": {
+ "usages": [
+ "AzureGov",
+ "AzureChina"
+ ]
+ }
+ },
+ "Microsoft.StorageSync": {
+ "2019-02-01": {
+ "storageSyncServices": [
+ "AzureGov"
+ ],
+ "storageSyncServices/syncGroups": [
+ "AzureGov"
+ ],
+ "storageSyncServices/syncGroups/cloudEndpoints": [
+ "AzureGov"
+ ],
+ "storageSyncServices/syncGroups/serverEndpoints": [
+ "AzureGov"
+ ],
+ "storageSyncServices/registeredServers": [
+ "AzureGov"
+ ],
+ "storageSyncServices/workflows": [
+ "AzureGov"
+ ],
+ "operations": [
+ "AzureGov"
+ ],
+ "locations": [
+ "AzureGov"
+ ],
+ "locations/checkNameAvailability": [
+ "AzureGov"
+ ]
+ }
+ },
+ "Microsoft.Web": {
+ "2018-02-01": {
+ "publishingUsers": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "sourceControls": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "availableStacks": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "listSitesAssignedToHostName": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "sites/hostNameBindings": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "sites/slots/hostNameBindings": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "operations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "serverFarms": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "georegions": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "sites/premieraddons": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "deploymentLocations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "checkNameAvailability": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "billingMeters": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "hostingEnvironments": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "hostingEnvironments/multiRolePools": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "hostingEnvironments/workerPools": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.StorageSync": {
- "2019-02-01": {
- "storageSyncServices": [
- "AzureGov"
- ],
- "storageSyncServices/syncGroups": [
- "AzureGov"
- ],
- "storageSyncServices/syncGroups/cloudEndpoints": [
- "AzureGov"
- ],
- "storageSyncServices/syncGroups/serverEndpoints": [
- "AzureGov"
- ],
- "storageSyncServices/registeredServers": [
- "AzureGov"
- ],
- "storageSyncServices/workflows": [
- "AzureGov"
- ],
- "operations": [
- "AzureGov"
- ],
- "locations": [
- "AzureGov"
- ],
- "locations/checkNameAvailability": [
- "AzureGov"
- ],
- "locations/workflows": [
- "AzureGov"
- ]
- }
+ "2016-06-01": {
+ "connections": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "customApis": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "locations/managedApis": [
+ "AzureGov",
+ "AzureChina"
+ ],
+ "connectionGateways": [
+ "AzureGov",
+ "AzureChina"
+ ]
},
- "Microsoft.Web": {
- "2018-02-01": {
- "publishingUsers": [
- "AzureGov",
- "AzureChina"
- ],
- "ishostnameavailable": [
- "AzureGov",
- "AzureChina"
- ],
- "isusernameavailable": [
- "AzureGov",
- "AzureChina"
- ],
- "sourceControls": [
- "AzureGov",
- "AzureChina"
- ],
- "availableStacks": [
- "AzureGov",
- "AzureChina"
- ],
- "listSitesAssignedToHostName": [
- "AzureGov",
- "AzureChina"
- ],
- "sites/hostNameBindings": [
- "AzureGov",
- "AzureChina"
- ],
- "sites/slots/hostNameBindings": [
- "AzureGov",
- "AzureChina"
- ],
- "operations": [
- "AzureGov",
- "AzureChina"
- ],
- "serverFarms": [
- "AzureGov",
- "AzureChina"
- ],
- "runtimes": [
- "AzureGov",
- "AzureChina"
- ],
- "georegions": [
- "AzureGov",
- "AzureChina"
- ],
- "sites/premieraddons": [
- "AzureGov",
- "AzureChina"
- ],
- "deploymentLocations": [
- "AzureGov",
- "AzureChina"
- ],
- "ishostingenvironmentnameavailable": [
- "AzureGov",
- "AzureChina"
- ],
- "checkNameAvailability": [
- "AzureGov",
- "AzureChina"
- ],
- "billingMeters": [
- "AzureGov",
- "AzureChina"
- ],
- "hostingEnvironments": [
- "AzureGov",
- "AzureChina"
- ],
- "hostingEnvironments/multiRolePools": [
- "AzureGov",
- "AzureChina"
- ],
- "hostingEnvironments/workerPools": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-07-01-preview": {
- "connections": [
- "AzureGov",
- "AzureChina"
- ],
- "customApis": [
- "AzureGov",
- "AzureChina"
- ],
- "locations": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/managedApis": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/apiOperations": [
- "AzureGov",
- "AzureChina"
- ]
- },
- "2018-03-01-preview": {
- "locations/listWsdlInterfaces": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/extractApiDefinitionFromWsdl": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/runtimes": [
- "AzureGov"
- ],
- "connectionGateways": [
- "AzureGov",
- "AzureChina"
- ],
- "locations/connectionGatewayInstallations": [
- "AzureGov",
- "AzureChina"
- ]
- }
+ "2015-08-01": {
+ "ishostingenvironmentnameavailable": [
+ "AzureGov",
+ "AzureChina"
+ ]
}
}
}
diff --git a/scripts/spellcheck.ts b/scripts/spellcheck.ts
new file mode 100644
index 000000000000..17c411f3e115
--- /dev/null
+++ b/scripts/spellcheck.ts
@@ -0,0 +1,68 @@
+import { devOps, cli, childProcess } from '@azure/avocado';
+import { ExecOptions } from 'child_process';
+
+const logToAzureDevops = (msg: string, type: string) => {
+ const lines = msg.split('\n');
+ for (const line of lines) {
+ console.log(`##vso[task.logissue type=${type}]${line}`);
+ }
+}
+
+const logError = (msg: string) => logToAzureDevops(msg, 'error');
+const logWarn = (msg: string) => logToAzureDevops(msg, 'warning');
+
+const verboseExec = async (commandLine: string, options: ExecOptions = {}) => {
+ console.log(commandLine);
+ let result: any = {};
+ try {
+ result = await childProcess.exec(commandLine, options);
+ } catch (e) {
+ result = e;
+ }
+
+ if (!result.code) {
+ return 0;
+ }
+
+ if (result.stdout) {
+ logError(result.stdout);
+ }
+ if (result.stderr) {
+ console.error(result.stderr);
+ }
+ return result.code;
+}
+
+const main = async () => {
+ const config = cli.defaultConfig();
+ const pr = await devOps.createPullRequestProperties(config);
+ if (pr === undefined) {
+ logWarn("Not in CI environment. Run against all the spec json.");
+ return verboseExec(`cspell "specification/**/*.json"`);
+ }
+
+ const changedJsonFiles = await pr.structuralDiff()
+ .filter(filePath => filePath.endsWith('.json') && filePath.startsWith('specification/'))
+ .toArray();
+ if (changedJsonFiles.length === 0) {
+ logWarn("No changed spec json file");
+ return 0;
+ }
+
+ let retCode = 0;
+ for (const jsonFile of changedJsonFiles) {
+ const code = await verboseExec(`cspell ${jsonFile}`);
+ if (code !== 0) {
+ retCode = code;
+ }
+ }
+
+ return retCode;
+}
+
+main().then(retCode => {
+ if (retCode !== 0) {
+ logError('Please fix the error or add words to ./custom-words.txt');
+ }
+ process.exit(retCode);
+});
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json
index b89d61772bcd..013e94209e92 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json
@@ -850,10 +850,6 @@
"openid": {
"$ref": "#/definitions/OpenIdAuthenticationSettingsContract",
"description": "OpenID Connect Authentication Settings"
- },
- "subscriptionKeyRequired": {
- "type": "boolean",
- "description": "Specifies whether subscription key is required during call to this API, true - API is included into closed products only, false - API is included into open products alone, null - there is a mix of products."
}
},
"description": "API Authentication Settings."
@@ -2158,6 +2154,10 @@
},
"description": "Identity Provider Type identifier."
},
+ "signinTenant": {
+ "type": "string",
+ "description": "The TenantId to use instead of Common when logging into Active Directory"
+ },
"allowedTenants": {
"type": "array",
"items": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementGetIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementGetIdentityProvider.json
index 194c9b30d93f..179fa76ace8d 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementGetIdentityProvider.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementGetIdentityProvider.json
@@ -9,18 +9,21 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/aadB2C",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/AadB2C",
"type": "Microsoft.ApiManagement/service/identityProviders",
- "name": "aadB2C",
+ "name": "AadB2C",
"properties": {
- "clientId": "315c8e2b-29fc-413d-822f-4efab7f43c42",
- "clientSecret": "SnE4laLjmxc2QKWTPoRxOiwvSnnwMCFN+jLYDpBCUXw=",
+ "clientId": "f02dafe2-b8b8-48ec-a38e-27e5c16c51e5",
+ "clientSecret": "XXXXXXX",
"type": "aadB2C",
+ "authority": "login.microsoftonline.com",
+ "signinTenant": "contosoaadb2c.onmicrosoft.com",
"allowedTenants": [
- "samirtestbc.onmicrosoft.com"
+ "contosoaadb2c.onmicrosoft.com",
+ "contoso2aadb2c.onmicrosoft.com"
],
- "signupPolicyName": "B2C_1_Signup_Default",
- "signinPolicyName": "B2C_1_signup-policy"
+ "signupPolicyName": "B2C_1_policy-signup",
+ "signinPolicyName": "B2C_1_policy-signin"
}
}
}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json
index 7977d3c055a6..f0c71e749ecb 100644
--- a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json
@@ -497,6 +497,57 @@
"nextLinkName": "nextLink"
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/listKeyValue": {
+ "post": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists a configuration store key-value.",
+ "operationId": "ConfigurationStores_ListKeyValue",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "listKeyValueParameters",
+ "in": "body",
+ "description": "The parameters for retrieving a key-value.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ListKeyValueParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/KeyValue"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_ListKeyValue": {
+ "$ref": "./examples/ConfigurationStoresListKeyValue.json"
+ }
+ }
+ }
}
},
"definitions": {
@@ -703,6 +754,73 @@
}
}
},
+ "ListKeyValueParameters": {
+ "description": "The parameters used to list a configuration store key-value",
+ "required": [
+ "key"
+ ],
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The key to retrieve.",
+ "type": "string"
+ },
+ "label": {
+ "description": "The label of the key.",
+ "type": "string"
+ }
+ }
+ },
+ "KeyValue": {
+ "description": "The result of a request to retrieve a key-value from the specified configuration store.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The primary identifier of a key-value.\r\nThe key is used in unison with the label to uniquely identify a key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "label": {
+ "description": "A value used to group key-values.\r\nThe label is used in unison with the key to uniquely identify a key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The value of the key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "contentType": {
+ "description": "The content type of the key-value's value.\r\nProviding a proper content-type can enable transformations of values when they are retrieved by applications.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "An ETag indicating the state of a key-value within a configuration store.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "The last time a modifying operation was performed on the given key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "locked": {
+ "description": "A value indicating whether the key-value is locked.\r\nA locked key-value may not be modified until it is unlocked.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "A dictionary of tags that can help identify what a key-value may be applicable for.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
"OperationDefinitionListResult": {
"description": "The result of a request to list configuration store operations.",
"type": "object",
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-02-01-preview/examples/ConfigurationStoresListKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-02-01-preview/examples/ConfigurationStoresListKeyValue.json
new file mode 100644
index 000000000000..bfd846a9076c
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-02-01-preview/examples/ConfigurationStoresListKeyValue.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "fayeh",
+ "api-version": "2019-02-01-preview",
+ "listKeyValueParameters": {
+ "key": "MaxRequests",
+ "label": "dev"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key": "MaxRequests",
+ "label": "dev",
+ "value": "100",
+ "contentType": "",
+ "eTag": "4f6dd610dd5e4deebc7fbaef685fb903",
+ "lastModified": "2017-12-05T02:41:26+00:00",
+ "locked": false,
+ "tags": {
+ "t1": "value1",
+ "t2": "value2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json
new file mode 100644
index 000000000000..bfc436c74c53
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json
@@ -0,0 +1,1071 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-10-01",
+ "title": "AppConfigurationManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AppConfiguration/configurationStores": {
+ "get": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists the configuration stores for a given subscription.",
+ "operationId": "ConfigurationStores_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns 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.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStoreListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_List": {
+ "$ref": "./examples/ConfigurationStoresList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores": {
+ "get": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists the configuration stores for a given resource group.",
+ "operationId": "ConfigurationStores_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns 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.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStoreListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_ListByResourceGroup": {
+ "$ref": "./examples/ConfigurationStoresListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}": {
+ "get": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Gets the properties of the specified configuration store.",
+ "operationId": "ConfigurationStores_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Get": {
+ "$ref": "./examples/ConfigurationStoresGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Creates a configuration store with the specified parameters.",
+ "operationId": "ConfigurationStores_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "configStoreCreationParameters",
+ "in": "body",
+ "description": "The parameters for creating a configuration store.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "201": {
+ "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Create": {
+ "$ref": "./examples/ConfigurationStoresCreate.json"
+ },
+ "ConfigurationStores_Create_WithIdentity": {
+ "$ref": "./examples/ConfigurationStoresCreateWithIdentity.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Deletes a configuration store.",
+ "operationId": "ConfigurationStores_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content - the specified resource was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Delete": {
+ "$ref": "./examples/ConfigurationStoresDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Updates a configuration store with the specified parameters.",
+ "operationId": "ConfigurationStores_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "configStoreUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a configuration store.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStoreUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "201": {
+ "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Update": {
+ "$ref": "./examples/ConfigurationStoresUpdate.json"
+ },
+ "ConfigurationStores_Update_WithIdentity": {
+ "$ref": "./examples/ConfigurationStoresUpdateWithIdentity.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AppConfiguration/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Checks whether the configuration store name is available for use.",
+ "operationId": "Operations_CheckNameAvailability",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "checkNameAvailabilityParameters",
+ "in": "body",
+ "description": "The object containing information for the availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_CheckNameAvailable": {
+ "$ref": "./examples/CheckNameAvailable.json"
+ },
+ "ConfigurationStores_CheckNameNotAvailable": {
+ "$ref": "./examples/CheckNameNotAvailable.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/ListKeys": {
+ "post": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists the access key for the specified configuration store.",
+ "operationId": "ConfigurationStores_ListKeys",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns 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.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ApiKeyListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_ListKeys": {
+ "$ref": "./examples/ConfigurationStoresListKeys.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/RegenerateKey": {
+ "post": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Regenerates an access key for the specified configuration store.",
+ "operationId": "ConfigurationStores_RegenerateKey",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "regenerateKeyParameters",
+ "in": "body",
+ "description": "The parameters for regenerating an access key.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateKeyParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ApiKey"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_RegenerateKey": {
+ "$ref": "./examples/ConfigurationStoresRegenerateKey.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AppConfiguration/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists the operations available from this provider.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns 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.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/OperationDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {},
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/listKeyValue": {
+ "post": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists a configuration store key-value.",
+ "operationId": "ConfigurationStores_ListKeyValue",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "listKeyValueParameters",
+ "in": "body",
+ "description": "The parameters for retrieving a key-value.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ListKeyValueParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/KeyValue"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_ListKeyValue": {
+ "$ref": "./examples/ConfigurationStoresListKeyValue.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConfigurationStoreListResult": {
+ "description": "The result of a request to list configuration stores.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigurationStore": {
+ "description": "The configuration store along with all resource properties. The Configuration Store will have all information to begin utilizing it.",
+ "required": [
+ "location",
+ "sku"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "The managed identity information, if configured."
+ },
+ "properties": {
+ "$ref": "#/definitions/ConfigurationStoreProperties",
+ "description": "The properties of a configuration store.",
+ "x-ms-client-flatten": true
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The sku of the configuration store."
+ }
+ }
+ },
+ "ConfigurationStoreProperties": {
+ "description": "The properties of a configuration store.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioning state of the configuration store.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "creationDate": {
+ "format": "date-time",
+ "description": "The creation date of configuration store.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endpoint": {
+ "description": "The DNS endpoint where the configuration store API will be available.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ConfigurationStoreUpdateParameters": {
+ "description": "The parameters for updating a configuration store.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigurationStorePropertiesUpdateParameters",
+ "description": "The properties for updating a configuration store.",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "The managed identity information for the configuration store."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the configuration store."
+ },
+ "tags": {
+ "description": "The ARM resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ConfigurationStorePropertiesUpdateParameters": {
+ "description": "The properties for updating a configuration store.",
+ "type": "object",
+ "properties": {}
+ },
+ "CheckNameAvailabilityParameters": {
+ "description": "Parameters used for checking whether a resource name is available.",
+ "required": [
+ "name",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name to check for availability.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The resource type to check for name availability.",
+ "enum": [
+ "Microsoft.AppConfiguration/configurationStores"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ConfigurationResourceType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "NameAvailabilityStatus": {
+ "description": "The result of a request to check the availability of a resource name.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value indicating whether the resource name is available.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "message": {
+ "description": "If any, the error message that provides more detail for the reason that the name is not available.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "If any, the reason that the name is not available.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ApiKeyListResult": {
+ "description": "The result of a request to list API keys.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiKey"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "ApiKey": {
+ "description": "An API key used for authenticating with a configuration store endpoint.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The key ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "A name for the key describing its usage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The value of the key that is used for authentication purposes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "connectionString": {
+ "description": "A connection string that can be used by supporting clients for authentication.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "The last time any of the key's properties were modified.",
+ "type": "string",
+ "readOnly": true
+ },
+ "readOnly": {
+ "description": "Whether this key can only be used for read operations.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "RegenerateKeyParameters": {
+ "description": "The parameters used to regenerate an API key.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the key to regenerate.",
+ "type": "string"
+ }
+ }
+ },
+ "ListKeyValueParameters": {
+ "description": "The parameters used to list a configuration store key-value",
+ "required": [
+ "key"
+ ],
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The key to retrieve.",
+ "type": "string"
+ },
+ "label": {
+ "description": "The label of the key.",
+ "type": "string"
+ }
+ }
+ },
+ "KeyValue": {
+ "description": "The result of a request to retrieve a key-value from the specified configuration store.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The primary identifier of a key-value.\r\nThe key is used in unison with the label to uniquely identify a key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "label": {
+ "description": "A value used to group key-values.\r\nThe label is used in unison with the key to uniquely identify a key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The value of the key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "contentType": {
+ "description": "The content type of the key-value's value.\r\nProviding a proper content-type can enable transformations of values when they are retrieved by applications.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "An ETag indicating the state of a key-value within a configuration store.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "The last time a modifying operation was performed on the given key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "locked": {
+ "description": "A value indicating whether the key-value is locked.\r\nA locked key-value may not be modified until it is unlocked.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "A dictionary of tags that can help identify what a key-value may be applicable for.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "OperationDefinitionListResult": {
+ "description": "The result of a request to list configuration store operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDefinition": {
+ "description": "The definition of a configuration store operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDefinitionDisplay",
+ "description": "The display information for the configuration store operation."
+ }
+ }
+ },
+ "OperationDefinitionDisplay": {
+ "description": "The display information for a configuration store operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The resource provider name: Microsoft App Configuration.\"",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The operation that users can perform.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description for the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceIdentity": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities.",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "userAssignedIdentities": {
+ "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserIdentity"
+ }
+ },
+ "principalId": {
+ "description": "The principal id of the identity. This property will only be provided for a system-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "The tenant id associated with the resource's identity. This property will only be provided for a system-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserIdentity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal ID of the user-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientId": {
+ "description": "The client ID of the user-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Sku": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The SKU name of the configuration store.",
+ "type": "string"
+ }
+ },
+ "description": "Describes a configuration store SKU."
+ },
+ "Error": {
+ "description": "AppConfiguration error object.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message.",
+ "type": "string"
+ }
+ }
+ },
+ "Resource": {
+ "description": "An Azure resource.",
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "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
+ },
+ "location": {
+ "description": "The location of the resource. This cannot be changed after the resource is created.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The tags of the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-azure-resource": true
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Microsoft Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group to which the container registry belongs.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigStoreNameParameter": {
+ "name": "configStoreName",
+ "in": "path",
+ "description": "The name of the configuration store.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9_-]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The client API version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/CheckNameAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/CheckNameAvailable.json
new file mode 100644
index 000000000000..b3ec50508083
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/CheckNameAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2019-10-01",
+ "checkNameAvailabilityParameters": {
+ "name": "contoso",
+ "type": "Microsoft.AppConfiguration/configurationStores"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "message": "The specified name is available.",
+ "reason": null
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/CheckNameNotAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/CheckNameNotAvailable.json
new file mode 100644
index 000000000000..db90b2407d89
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/CheckNameNotAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2019-10-01",
+ "checkNameAvailabilityParameters": {
+ "name": "contoso",
+ "type": "Microsoft.AppConfiguration/configurationStores"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "The specified name is already in use."
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresCreate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresCreate.json
new file mode 100644
index 000000000000..deef65ee22cf
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-10-01",
+ "configStoreCreationParameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io"
+ },
+ "sku": {
+ "name": "Basic"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Creating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io"
+ },
+ "sku": {
+ "name": "Basic"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresCreateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresCreateWithIdentity.json
new file mode 100644
index 000000000000..5f31753d44e7
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresCreateWithIdentity.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-10-01",
+ "configStoreCreationParameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "tags": {
+ "myTag": "myTagValue"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io"
+ },
+ "sku": {
+ "name": "Basic"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Creating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io"
+ },
+ "sku": {
+ "name": "Basic"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresDelete.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresDelete.json
new file mode 100644
index 000000000000..a329360649c5
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresGet.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresGet.json
new file mode 100644
index 000000000000..5e1c22ec30b9
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io"
+ },
+ "sku": {
+ "name": "Basic"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresList.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresList.json
new file mode 100644
index 000000000000..a803a8e5218d
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io"
+ },
+ "sku": {
+ "name": "Basic"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ },
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T23:06:59+00:00",
+ "endpoint": "https://contoso2.azconfig.io"
+ },
+ "sku": {
+ "name": "Basic"
+ },
+ "identity": {
+ "principalId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso2",
+ "name": "contoso2",
+ "location": "westus",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresListByResourceGroup.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresListByResourceGroup.json
new file mode 100644
index 000000000000..64e9eb2b6644
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresListByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io"
+ },
+ "sku": {
+ "name": "Basic"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ },
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T23:06:59+00:00",
+ "endpoint": "https://contoso2.azconfig.io"
+ },
+ "sku": {
+ "name": "Basic"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso2",
+ "name": "contoso2",
+ "location": "westus",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresListKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresListKeyValue.json
new file mode 100644
index 000000000000..bfd846a9076c
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresListKeyValue.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "fayeh",
+ "api-version": "2019-02-01-preview",
+ "listKeyValueParameters": {
+ "key": "MaxRequests",
+ "label": "dev"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key": "MaxRequests",
+ "label": "dev",
+ "value": "100",
+ "contentType": "",
+ "eTag": "4f6dd610dd5e4deebc7fbaef685fb903",
+ "lastModified": "2017-12-05T02:41:26+00:00",
+ "locked": false,
+ "tags": {
+ "t1": "value1",
+ "t2": "value2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresListKeys.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresListKeys.json
new file mode 100644
index 000000000000..4e7ff03b6664
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresListKeys.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "439AD01B4BE67DB1",
+ "name": "Primary",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": false
+ },
+ {
+ "id": "CB45E100456857B9",
+ "name": "Secondary",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": false
+ },
+ {
+ "id": "B3AC55B7E71431A9",
+ "name": "Primary Read Only",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": true
+ },
+ {
+ "id": "E2AF6A9A89DCC177",
+ "name": "Secondary Read Only",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresRegenerateKey.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresRegenerateKey.json
new file mode 100644
index 000000000000..3e391d37690d
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresRegenerateKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-10-01",
+ "regenerateKeyParameters": {
+ "id": "439AD01B4BE67DB1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "439AD01B4BE67DB1",
+ "name": "Primary",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-26T22:59:24.2370906+00:00",
+ "readOnly": false
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresUpdate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresUpdate.json
new file mode 100644
index 000000000000..190d8c58dda1
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresUpdate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-10-01",
+ "configStoreUpdateParameters": {
+ "tags": {
+ "Category": "Marketing"
+ },
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresUpdateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresUpdateWithIdentity.json
new file mode 100644
index 000000000000..11e591961c37
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2019-10-01/examples/ConfigurationStoresUpdateWithIdentity.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-10-01",
+ "configStoreUpdateParameters": {
+ "tags": {
+ "Category": "Marketing"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/readme.md b/specification/appconfiguration/resource-manager/readme.md
index b61dcadf6862..b9eaa1b90216 100644
--- a/specification/appconfiguration/resource-manager/readme.md
+++ b/specification/appconfiguration/resource-manager/readme.md
@@ -38,6 +38,15 @@ input-file:
- Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json
```
+### Tag: package-2019-10-01
+
+These settings apply only when `--tag=package-2019-10-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-10-01'
+input-file:
+- Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json
+```
+
---
# Code Generation
@@ -91,6 +100,10 @@ directive:
from: appconfiguration.json
where: $.definitions.ApiKey.properties.readOnly
reason: We did consider using an enum instead but found it to not be helpful.
+ - suppress: EnumInsteadOfBoolean
+ from: appconfiguration.json
+ where: $.definitions.KeyValue.properties.locked
+ reason: This is data plane level information proxied through the RP and cannot be changed.
```
## Multi-API/Profile support for AutoRest v3 generators
@@ -106,6 +119,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json
+ - $(this-folder)/Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json
```
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
new file mode 100644
index 000000000000..b4e94629052f
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
@@ -0,0 +1,490 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Log Analytics Query Packs",
+ "description": "Azure Log Analytics API reference for management of saved Queries within Query Packs.",
+ "version": "2019-09-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.insights/queryPacks/{queryPackName}/queries": {
+ "get": {
+ "description": "Gets a list of Queries defined within a Log Analytics QueryPack.",
+ "operationId": "Queries_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/QueryPackNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/MaxItemCountParameter"
+ },
+ {
+ "$ref": "#/parameters/IncludeBodyParameter"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "A list containing 0 or more queries contained within the Log Analytics QueryPack.",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPackQueryListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "QueryList": {
+ "$ref": "./examples/QueryPackQueriesList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/search": {
+ "post": {
+ "description": "Search a list of Queries defined within a Log Analytics QueryPack according to given search properties.",
+ "operationId": "Queries_Search",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/QueryPackNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/MaxItemCountParameter"
+ },
+ {
+ "$ref": "#/parameters/IncludeBodyParameter"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenParameter"
+ },
+ {
+ "name": "QuerySearchProperties",
+ "description": "Properties by which to search queries in the given Log Analytics QueryPack.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPackQuerySearchProperties"
+ }
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "A list containing 0 or more queries contained within the Log Analytics QueryPack.",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPackQueryListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "QuerySearch": {
+ "$ref": "./examples/QueryPackQueriesSearch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/{queryId}": {
+ "get": {
+ "description": "Gets a specific Log Analytics Query defined within a Log Analytics QueryPack.",
+ "operationId": "Queries_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/QueryPackNameParameter"
+ },
+ {
+ "$ref": "#/parameters/QueryIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "A single query contained within the Log Analytics QueryPack.",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPackQuery"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "QueryGet": {
+ "$ref": "./examples/QueryPackQueriesGet.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Adds or Updates a specific Query within a Log Analytics QueryPack.",
+ "operationId": "Queries_Put",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/QueryPackNameParameter"
+ },
+ {
+ "$ref": "#/parameters/QueryIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "QueryPayload",
+ "description": "Properties that need to be specified to create a new query and add it to a Log Analytics QueryPack.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPackQuery"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "The new or updated query contained within the Log Analytics QueryPack.",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPackQuery"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "QueryPut": {
+ "$ref": "./examples/QueryPackQueriesPut.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes a specific Query defined within an Log Analytics QueryPack.",
+ "operationId": "Queries_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/QueryPackNameParameter"
+ },
+ {
+ "$ref": "#/parameters/QueryIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "The query has been successfully removed from the Log Analytics QueryPack"
+ },
+ "204": {
+ "description": "The specified query or associated QueryPack does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "QueryDelete": {
+ "$ref": "./examples/QueryPackQueriesDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "Describe the format of an Error response.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureResourceProperties": {
+ "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"
+ }
+ },
+ "description": "An Azure resource QueryPack-Query object"
+ },
+ "LogAnalyticsQueryPackQuery": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties that define an Log Analytics QueryPack-Query resource.",
+ "$ref": "#/definitions/LogAnalyticsQueryPackQueryProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureResourceProperties"
+ }
+ ],
+ "description": "A Log Analytics QueryPack-Query definition."
+ },
+ "LogAnalyticsQueryPackQueryProperties": {
+ "description": "Properties that define an Log Analytics QueryPack-Query resource.",
+ "properties": {
+ "queryId": {
+ "type": "string",
+ "description": "The unique ID of your application. This field cannot be changed.",
+ "readOnly": true
+ },
+ "displayName": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Unique display name for your query within the Query Pack."
+ },
+ "timeCreated": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Creation Date for the Log Analytics Query, in ISO 8601 format.",
+ "format": "date-time"
+ },
+ "timeModified": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Last modified date of the Log Analytics Query, in ISO 8601 format.",
+ "format": "date-time"
+ },
+ "author": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Object Id of user creating the query."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Description of the query."
+ },
+ "body": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Body of the query."
+ },
+ "linkedResourceId": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Resource id associated with the query."
+ },
+ "categories": {
+ "description": "Categories associated with the query.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "resourceTypes": {
+ "description": "Resource Types associated with the query.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "labels": {
+ "description": "Labels associated with the query.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "body",
+ "displayName"
+ ]
+ },
+ "LogAnalyticsQueryPackQuerySearchProperties": {
+ "description": "Properties that define an Log Analytics QueryPack-Query search properties.",
+ "properties": {
+ "categories": {
+ "description": "Categories associated with the query.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "resourceTypes": {
+ "description": "Resource Types associated with the query.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "labels": {
+ "description": "Labels associated with the query.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "LogAnalyticsQueryPackQueryListResult": {
+ "description": "Describes the list of Log Analytics QueryPack-Query resources.",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Log Analytics QueryPack Query definitions.",
+ "items": {
+ "$ref": "#/definitions/LogAnalyticsQueryPackQuery"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to get the next set of Log Analytics QueryPack definitions if too many QueryPack-Queries where returned in the result set."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "QueryPackNameParameter": {
+ "name": "queryPackName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Log Analytics QueryPack resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "QueryIdParameter": {
+ "name": "queryId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of a specific query defined in the Log Analytics QueryPack",
+ "x-ms-parameter-location": "method"
+ },
+ "IncludeBodyParameter": {
+ "name": "includeBody",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Flag indicating whether or not to return the body of each applicable query. If false, only return the query information.",
+ "x-ms-parameter-location": "method"
+ },
+ "MaxItemCountParameter": {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "description": "Maximum items returned in page.",
+ "x-ms-parameter-location": "method"
+ },
+ "ContinuationTokenParameter": {
+ "name": "$skipToken",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Base64 encoded token used to fetch the next page of items. Default is null.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
new file mode 100644
index 000000000000..de48278f9aa3
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
@@ -0,0 +1,423 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Log Analytics Query Packs",
+ "description": "Azure Log Analytics API reference for Query Packs management.",
+ "version": "2019-09-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}/providers/microsoft.insights/queryPacks": {
+ "get": {
+ "description": "Gets a list of all Log Analytics QueryPacks within a subscription.",
+ "operationId": "QueryPacks_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "A list containing 0 or more Log Analytics QueryPack definitions.",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPackListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "QueryPacksList.json": {
+ "$ref": "./examples/QueryPacksList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks": {
+ "get": {
+ "description": "Gets a list of Log Analytics QueryPacks within a resource group.",
+ "operationId": "QueryPacks_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "A list containing 0 or more Log Analytics QueryPack definitions.",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPackListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "QueryPackListByResourceGroup": {
+ "$ref": "./examples/QueryPacksListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}": {
+ "delete": {
+ "description": "Deletes a Log Analytics QueryPack.",
+ "operationId": "QueryPacks_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Successful request when deleting a Log Analytics QueryPack."
+ },
+ "204": {
+ "description": "The specified QueryPack does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "QueryPacksDelete": {
+ "$ref": "./examples/QueryPacksDelete.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Returns a Log Analytics QueryPack.",
+ "operationId": "QueryPacks_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "An Log Analytics QueryPack definition.",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPack"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "QueryPackGet": {
+ "$ref": "./examples/QueryPacksGet.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Creates (or updates) a Log Analytics QueryPack. Note: You cannot specify a different value for InstrumentationKey nor AppId in the Put operation.",
+ "operationId": "QueryPacks_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "LogAnalyticsQueryPackPayload",
+ "description": "Properties that need to be specified to create or update a Log Analytics QueryPack.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPack"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Successful request when creating or updating a Log Analytics QueryPack. The updated QueryPack is returned.",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPack"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "QueryPackCreate": {
+ "$ref": "./examples/QueryPacksCreate.json"
+ },
+ "QueryPackUpdate": {
+ "$ref": "./examples/QueryPacksUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates an existing QueryPack's tags. To update other fields use the CreateOrUpdate method.",
+ "operationId": "QueryPacks_UpdateTags",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "QueryPackTags",
+ "description": "Updated tag information to set into the QueryPack instance.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Updating the Log Analytics QueryPack's tags was successful. QueryPack tags are updated and returned with the rest of the QueryPack's object properties.",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPack"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "QueryPackUpdateTagsOnly": {
+ "$ref": "./examples/QueryPacksUpdateTagsOnly.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "Describe the format of an Error response.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "QueryPacksResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "name": {
+ "type": "string",
+ "description": "Azure resource name",
+ "readOnly": true
+ },
+ "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"
+ },
+ "TagsResource": {
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "A container holding only the Tags for a resource, allowing the user to update the tags on a QueryPack instance."
+ },
+ "LogAnalyticsQueryPack": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties that define a Log Analytics QueryPack resource.",
+ "$ref": "#/definitions/LogAnalyticsQueryPackProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/QueryPacksResource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "An Log Analytics QueryPack definition."
+ },
+ "LogAnalyticsQueryPackProperties": {
+ "description": "Properties that define a Log Analytics QueryPack resource.",
+ "properties": {
+ "queryPackId": {
+ "type": "string",
+ "description": "The unique ID of your application. This field cannot be changed.",
+ "readOnly": true
+ },
+ "timeCreated": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Creation Date for the Log Analytics QueryPack, in ISO 8601 format.",
+ "format": "date-time"
+ },
+ "timeModified": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Last modified date of the Log Analytics QueryPack, in ISO 8601 format.",
+ "format": "date-time"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Current state of this QueryPack: whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Succeeded, Deploying, Canceled, and Failed.",
+ "readOnly": true
+ }
+ }
+ },
+ "LogAnalyticsQueryPackListResult": {
+ "description": "Describes the list of Log Analytics QueryPack resources.",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Log Analytics QueryPack definitions.",
+ "items": {
+ "$ref": "#/definitions/LogAnalyticsQueryPack"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to get the next set of Log Analytics QueryPack definitions if too many QueryPacks where returned in the result set."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ResourceNameParameter": {
+ "name": "queryPackName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Log Analytics QueryPack resource.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json
new file mode 100644
index 000000000000..f2efa8ef8cc2
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918",
+ "resourceGroupName": "my-resource-group",
+ "queryPackName": "my-querypack",
+ "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json
new file mode 100644
index 000000000000..5d4d7f4415b8
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918",
+ "resourceGroupName": "my-resource-group",
+ "queryPackName": "my-querypack",
+ "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "type": "microsoft.insights/queryPacks/queries",
+ "properties": {
+ "displayName": "Exceptions - New in the last 24 hours",
+ "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n",
+ "timeModified": "2018-02-14T13:13:19.3381394Z",
+ "timeCreated": "2018-02-12T11:44:39.2980634Z",
+ "description": "Thie query fetcges the recent exceptions from the last 24 hours"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json
new file mode 100644
index 000000000000..316a829cfdf1
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918",
+ "resourceGroupName": "my-resource-group",
+ "queryPackName": "my-querypack",
+ "includeBody": true
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476",
+ "name": "4337bb16-d6fe-4ff7-97cf-59df25941476",
+ "type": "microsoft.insights/queryPacks/queries",
+ "properties": {
+ "queryId": "4337bb16-d6fe-4ff7-97cf-59df25941476",
+ "timeCreated": "2019-08-15T10:29:56.1030254Z",
+ "author": "1809f206-263a-46f7-942d-4572c156b7e7",
+ "timeModified": "2019-08-15T10:29:56.1030254Z",
+ "displayName": "Heartbeat_1",
+ "description": "Thie query takes 10 entries of heartbeat",
+ "body": "heartbeat | take 10"
+ }
+ },
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1",
+ "name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
+ "type": "microsoft.insights/queryPacks/queries",
+ "properties": {
+ "queryId": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
+ "timeCreated": "2019-08-15T10:30:26.7943629Z",
+ "author": "1809f206-263a-46f7-942d-4572c156b7e7",
+ "timeModified": "2019-08-15T10:30:26.7943629Z",
+ "displayName": "Heartbeat_2",
+ "description": "Thie query takes 10 entries of heartbeat",
+ "body": "heartbeat | take 10"
+ }
+ },
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd",
+ "name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
+ "type": "microsoft.insights/queryPacks/queries",
+ "properties": {
+ "queryId": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
+ "timeCreated": "2019-08-15T10:30:29.4505584Z",
+ "author": "1809f206-263a-46f7-942d-4572c156b7e7",
+ "timeModified": "2019-08-15T10:30:29.4505584Z",
+ "displayName": "Heartbeat_3",
+ "description": "Thie query takes 10 entries of heartbeat",
+ "body": "heartbeat | take 10"
+ }
+ },
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a5a9010e-e4b7-45ad-8b14-09d7e6082819",
+ "name": "a5a9010e-e4b7-45ad-8b14-09d7e6082819",
+ "type": "microsoft.insights/queryPacks/queries",
+ "properties": {
+ "queryId": "a5a9010e-e4b7-45ad-8b14-09d7e6082819",
+ "timeCreated": "2019-08-15T10:30:32.5742324Z",
+ "author": "1809f206-263a-46f7-942d-4572c156b7e7",
+ "timeModified": "2019-08-15T10:30:32.5742324Z",
+ "displayName": "Heartbeat_4",
+ "description": "Thie query takes 10 entries of heartbeat",
+ "body": "heartbeat | take 10"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json
new file mode 100644
index 000000000000..3680b863b5ae
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918",
+ "resourceGroupName": "my-resource-group",
+ "queryPackName": "my-querypack",
+ "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "QueryPayload": {
+ "properties": {
+ "displayName": "Exceptions - New in the last 24 hours",
+ "description": "my description",
+ "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n",
+ "categories": [
+ "analytics"
+ ],
+ "labels": [
+ "my-label",
+ "my-other-label"
+ ],
+ "linkedResourceId": "/subscriptions/a51967b5-271e-4f12-810e-e7fa20c8828d/resourceGroups/FoodHere/providers/Microsoft.KeyVault/vaults/FoodHere"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "type": "microsoft.insights/queryPacks/queries",
+ "properties": {
+ "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "timeCreated": "2019-08-15T10:30:32.5742324Z",
+ "author": "1809f206-263a-46f7-942d-4572c156b7e7",
+ "timeModified": "2019-08-15T10:30:32.5742324Z",
+ "displayName": "Exceptions - New in the last 24 hours",
+ "description": "my description",
+ "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n",
+ "categories": [
+ "analytics"
+ ],
+ "labels": [
+ "my-label",
+ "my-other-label"
+ ],
+ "linkedResourceId": "/subscriptions/a51967b5-271e-4f12-810e-e7fa20c8828d/resourceGroups/FoodHere/providers/Microsoft.KeyVault/vaults/FoodHere"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json
new file mode 100644
index 000000000000..186ce1ec3f41
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918",
+ "resourceGroupName": "my-resource-group",
+ "queryPackName": "my-querypack",
+ "includeBody": true,
+ "$top": 3,
+ "QuerySearchProperties": {
+ "categories": [
+ "other",
+ "analytics"
+ ],
+ "labels": [
+ "my-label"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476",
+ "name": "4337bb16-d6fe-4ff7-97cf-59df25941476",
+ "type": "microsoft.insights/queryPacks/queries",
+ "properties": {
+ "queryId": "4337bb16-d6fe-4ff7-97cf-59df25941476",
+ "timeCreated": "2019-08-15T10:29:56.1030254Z",
+ "author": "1809f206-263a-46f7-942d-4572c156b7e7",
+ "timeModified": "2019-08-15T10:29:56.1030254Z",
+ "displayName": "Heartbeat_1",
+ "description": "Thie query takes 10 entries of heartbeat 0",
+ "body": "Heartbeat | take 1",
+ "categories": [
+ "other"
+ ],
+ "labels": [
+ "my-label"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1",
+ "name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
+ "type": "microsoft.insights/queryPacks/queries",
+ "properties": {
+ "queryId": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
+ "timeCreated": "2019-08-15T10:30:26.7943629Z",
+ "author": "1809f206-263a-46f7-942d-4572c156b7e7",
+ "timeModified": "2019-08-15T10:30:26.7943629Z",
+ "displayName": "Heartbeat_2",
+ "description": "Thie query takes 10 entries of heartbeat 1",
+ "body": "Heartbeat | take 1",
+ "categories": [
+ "analytics"
+ ],
+ "labels": [
+ "my-label"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd",
+ "name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
+ "type": "microsoft.insights/queryPacks/queries",
+ "properties": {
+ "queryId": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
+ "timeCreated": "2019-08-15T10:30:29.4505584Z",
+ "author": "1809f206-263a-46f7-942d-4572c156b7e7",
+ "timeModified": "2019-08-15T10:30:29.4505584Z",
+ "displayName": "Heartbeat_3",
+ "description": "Thie query takes 10 entries of heartbeat 2",
+ "body": "Heartbeat | take 1",
+ "categories": [
+ "other",
+ "analytics"
+ ],
+ "labels": [
+ "my-label"
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksCreate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksCreate.json
new file mode 100644
index 000000000000..d8054fd78907
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksCreate.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group",
+ "queryPackName": "my-querypack",
+ "LogAnalyticsQueryPackPayload": {
+ "location": "South Central US",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack",
+ "name": "my-querypack",
+ "type": "microsoft.insights/querypacks",
+ "location": "South Central US",
+ "tags": {},
+ "properties": {
+ "queryPackId": "d1c8fc00-2b68-441e-8f9b-ded8748dc635",
+ "timeCreated": "2019-08-04T12:37:56.8543652Z",
+ "timeModified": "2019-08-04T12:37:56.8543652Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksDelete.json
new file mode 100644
index 000000000000..e534f2c9108f
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group",
+ "queryPackName": "my-querypack"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksGet.json
new file mode 100644
index 000000000000..47c957673279
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group",
+ "queryPackName": "my-querypack"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack",
+ "name": "my-querypack",
+ "type": "microsoft.insights/querypacks",
+ "location": "southcentralus",
+ "tags": {},
+ "properties": {
+ "queryPackId": "d1c8fc00-2b68-441e-8f9b-ded8748dc635",
+ "timeCreated": "2019-08-04T12:37:56.8543652Z",
+ "timeModified": "2019-08-04T12:37:56.8543652Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksList.json
new file mode 100644
index 000000000000..5e49a3fcf051
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack",
+ "name": "my-querypack",
+ "type": "microsoft.insights/querypacks",
+ "location": "South Central US",
+ "tags": {},
+ "properties": {
+ "queryPackId": "d1c8fc00-2b68-441e-8f9b-ded8748dc6aa",
+ "timeCreated": "2019-08-04T12:37:56.8543652Z",
+ "timeModified": "2019-08-04T12:37:56.8543652Z",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-other-resource-group/providers/microsoft.insights/queryPacks/my-other-querypack",
+ "name": "my-other-querypack",
+ "type": "microsoft.insights/querypacks",
+ "location": "South Central US",
+ "tags": {},
+ "properties": {
+ "queryPackId": "aac8fc00-2b68-441e-8f9b-ded8748dc635",
+ "timeCreated": "2019-06-04T12:37:56.8543652Z",
+ "timeModified": "2019-08-04T12:37:56.8543652Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksListByResourceGroup.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksListByResourceGroup.json
new file mode 100644
index 000000000000..62c49b8fc66c
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksListByResourceGroup.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack",
+ "name": "my-querypack",
+ "type": "microsoft.insights/querypacks",
+ "location": "South Central US",
+ "tags": {},
+ "properties": {
+ "queryPackId": "d1c8fc00-2b68-441e-8f9b-ded8748dc6aa",
+ "timeCreated": "2019-08-04T12:37:56.8543652Z",
+ "timeModified": "2019-08-04T12:37:56.8543652Z",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-other-querypack",
+ "name": "my-other-querypack",
+ "type": "microsoft.insights/querypacks",
+ "location": "South Central US",
+ "tags": {},
+ "properties": {
+ "queryPackId": "aac8fc00-2b68-441e-8f9b-ded8748dc635",
+ "timeCreated": "2019-06-04T12:37:56.8543652Z",
+ "timeModified": "2019-08-04T12:37:56.8543652Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksUpdate.json
new file mode 100644
index 000000000000..8dbdca0b6b48
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksUpdate.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group",
+ "queryPackName": "my-querypack",
+ "LogAnalyticsQueryPackPayload": {
+ "location": "South Central US",
+ "tags": {
+ "Tag1": "Value1"
+ },
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack",
+ "name": "my-querypack",
+ "type": "microsoft.insights/querypacks",
+ "location": "South Central US",
+ "tags": {
+ "Tag1": "Value1"
+ },
+ "properties": {
+ "queryPackId": "aac8fc00-2b68-441e-8f9b-ded8748dc635",
+ "timeCreated": "2019-06-04T12:37:56.8543652Z",
+ "timeModified": "2019-08-04T12:37:56.8543652Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksUpdateTagsOnly.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksUpdateTagsOnly.json
new file mode 100644
index 000000000000..5ad012214e92
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPacksUpdateTagsOnly.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "queryPackName": "my-querypack",
+ "QueryPackTags": {
+ "tags": {
+ "Tag1": "Value1",
+ "Tag2": "Value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack",
+ "name": "my-querypack",
+ "type": "microsoft.insights/querypacks",
+ "location": "South Central US",
+ "tags": {
+ "Tag1": "Value1",
+ "Tag2": "Value2"
+ },
+ "properties": {
+ "queryPackId": "aac8fc00-2b68-441e-8f9b-ded8748dc635",
+ "timeCreated": "2019-06-04T12:37:56.8543652Z",
+ "timeModified": "2019-08-04T12:37:56.8543652Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/components_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/components_API.json
index 146734fa1fe1..4531ca4f30e2 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/components_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/components_API.json
@@ -246,7 +246,7 @@
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge": {
"post": {
- "description": "Purges data in an Application Insights component by a set of user-defined filters.",
+ "description": "Purges data in an Application Insights component by a set of user-defined filters.\n\nIn order to manage system resources, purge requests are throttled at 50 requests per hour. You should batch the execution of purge requests by sending a single command whose predicate includes all user identities that require purging. Use the in operator to specify multiple identities. You should run the query prior to using for a purge request to verify that the results are expected.",
"operationId": "Components_Purge",
"parameters": [
{
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsCreate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsCreate.json
index b2bccdc11c53..d4394fc0e12b 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsCreate.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsCreate.json
@@ -5,12 +5,10 @@
"resourceGroupName": "my-resource-group",
"resourceName": "my-component",
"InsightProperties": {
- "name": "my-component",
"location": "South Central US",
"kind": "web",
"properties": {
"Application_Type": "web",
- "ApplicationId": "my-component",
"Flow_Type": "Bluefield",
"Request_Source": "rest"
}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdate.json
index 3e51ad298c20..47733560cf56 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdate.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdate.json
@@ -5,7 +5,6 @@
"resourceGroupName": "my-resource-group",
"resourceName": "my-component",
"InsightProperties": {
- "name": "my-component",
"location": "South Central US",
"kind": "web",
"tags": {
diff --git a/specification/applicationinsights/resource-manager/readme.md b/specification/applicationinsights/resource-manager/readme.md
index 0c8cbd2445aa..d9c8f32b0150 100644
--- a/specification/applicationinsights/resource-manager/readme.md
+++ b/specification/applicationinsights/resource-manager/readme.md
@@ -285,6 +285,17 @@ These settings apply only when `--tag=package-2018-05-01-preview` is specified o
input-file:
- Microsoft.Insights/preview/2018-05-01/componentProactiveDetection_API.json
```
+
+### Tag: package-2019-09-01-preview
+
+These settings apply only when `--tag=package-2019-09-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-09-01-preview'
+input-file:
+- Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
+- Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
+```
+
---
# Code Generation
@@ -395,6 +406,8 @@ input-file:
- $(this-folder)/Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json
- $(this-folder)/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
- $(this-folder)/Microsoft.Insights/preview/2018-05-01/componentProactiveDetection_API.json
+ - $(this-folder)/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
+ - $(this-folder)/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
```
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
index 2987cf4d8a5a..91497bfe111d 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
@@ -44,9 +44,6 @@
"$ref": "#/parameters/ApiVersionParameter"
}
],
- "x-ms-pageable": {
- "nextLinkName": null
- },
"responses": {
"200": {
"description": "List all the operations.",
@@ -235,9 +232,6 @@
"$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
}
],
- "x-ms-pageable": {
- "nextLinkName": null
- },
"responses": {
"200": {
"description": "OK",
@@ -277,10 +271,6 @@
"$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
}
],
- "x-ms-pageable": {
- "nextLinkName": null,
- "itemName": "keys"
- },
"responses": {
"200": {
"description": "OK",
diff --git a/specification/attestation/resource-manager/readme.md b/specification/attestation/resource-manager/readme.md
index 44f473f46178..90db381404b1 100644
--- a/specification/attestation/resource-manager/readme.md
+++ b/specification/attestation/resource-manager/readme.md
@@ -41,6 +41,20 @@ input-file:
---
# Code Generation
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-net
+ - repo: azure-sdk-for-python
+```
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
---
## C#
diff --git a/specification/attestation/resource-manager/readme.python.md b/specification/attestation/resource-manager/readme.python.md
new file mode 100644
index 000000000000..9e387739adc7
--- /dev/null
+++ b/specification/attestation/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.attestation
+ package-name: azure-mgmt-attestation
+ package-version: 0.1.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/attestation/azure-mgmt-attestation/azure/mgmt/attestation
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/attestation/azure-mgmt-attestation
+```
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json
index f3a702a4c694..7af1f73bd6b6 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json
@@ -64,7 +64,7 @@
"required": true,
"type": "string",
"format": "uuid",
- "description": "The the DSC configuration Id."
+ "description": "The DSC configuration Id."
},
{
"name": "parameters",
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscConfiguration.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscConfiguration.json
index fd1bffd10c39..dc2438efafe3 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscConfiguration.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscConfiguration.json
@@ -371,7 +371,7 @@
"in": "query",
"required": false,
"type": "integer",
- "description": "The the number of rows to take."
+ "description": "The number of rows to take."
},
{
"name": "$inlinecount",
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2018-01-15/dscCompilationJob.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2018-01-15/dscCompilationJob.json
index f2e8a02b466a..70093d084045 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2018-01-15/dscCompilationJob.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2018-01-15/dscCompilationJob.json
@@ -64,7 +64,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The the DSC configuration Id."
+ "description": "The DSC configuration Id."
},
{
"name": "parameters",
@@ -123,7 +123,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The the DSC configuration Id."
+ "description": "The DSC configuration Id."
},
{
"$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2018-01-15/dscNode.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2018-01-15/dscNode.json
index 36ef0d397840..b6c4fc644358 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2018-01-15/dscNode.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2018-01-15/dscNode.json
@@ -359,7 +359,7 @@
"in": "query",
"required": false,
"type": "integer",
- "description": "The the number of rows to take."
+ "description": "The number of rows to take."
},
{
"name": "$inlinecount",
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2018-01-15/dscNodeConfiguration.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2018-01-15/dscNodeConfiguration.json
index d447569dee3c..34f8fb0c8f59 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2018-01-15/dscNodeConfiguration.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2018-01-15/dscNodeConfiguration.json
@@ -251,7 +251,7 @@
"in": "query",
"required": false,
"type": "integer",
- "description": "The the number of rows to take."
+ "description": "The number of rows to take."
},
{
"name": "$inlinecount",
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backups.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backups.json
index 81107ff2f113..5870d5e9f5e5 100644
--- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backups.json
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backups.json
@@ -213,6 +213,11 @@
"type": "string",
"readOnly": true
},
+ "isCloudRecoveryReady": {
+ "description": "True if the backup can be used for cloud recovery scenario.",
+ "type": "boolean",
+ "readOnly": true
+ },
"encryptionCertThumbprint": {
"description": "The thumbprint of the certificate used to encrypt the backup encryption key.",
"type": "string",
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Backup.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Backup.json
index e730e469175e..4e2d6e0b024e 100644
--- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Backup.json
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Backup.json
@@ -75,6 +75,7 @@
"timeTakenToCreate": "PT20M48.5970829S",
"stampVersion": "1.1809.0.25",
"oemVersion": null,
+ "isCloudRecoveryReady": true,
"deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df",
"encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8"
}
@@ -150,6 +151,7 @@
"timeTakenToCreate": "PT20M48.5970829S",
"stampVersion": "1.1809.0.25",
"oemVersion": null,
+ "isCloudRecoveryReady": true,
"deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df",
"encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8"
}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/Get.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/Get.json
index 0880c5e3af40..3d70e0874528 100644
--- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/Get.json
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/Get.json
@@ -76,6 +76,7 @@
"timeTakenToCreate": "PT20M48.5970829S",
"stampVersion": "1.1809.0.25",
"oemVersion": null,
+ "isCloudRecoveryReady": true,
"deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df",
"encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8"
}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/List.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/List.json
index f92bb28761cb..20ce9906737f 100644
--- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/List.json
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/List.json
@@ -77,6 +77,7 @@
"timeTakenToCreate": "PT20M48.5970829S",
"stampVersion": "1.1809.0.25",
"oemVersion": null,
+ "isCloudRecoveryReady": true,
"deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df",
"encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8"
}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FabricLocation.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FabricLocation.json
index 1042dcece3ba..e71649dedcd7 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FabricLocation.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FabricLocation.json
@@ -98,12 +98,13 @@
},
"definitions": {
"FabricLocation": {
- "description": "Place holder for fabric location.",
+ "description": "Fabric Location resource.",
"type": "object",
"properties": {
"properties": {
- "description": "Empty object.",
- "type": "object"
+ "description": "Properties of a FabricLocation.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FabricLocationModel"
}
},
"allOf": [
@@ -112,6 +113,63 @@
}
]
},
+ "FabricLocationModel": {
+ "description": "All properties of a fabric location resource.",
+ "type": "object",
+ "properties": {
+ "pepIpAddresses": {
+ "description": "The IP addresses of the privileged endpoints.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "timeServer": {
+ "description": "The IP address of the time server.",
+ "type": "string"
+ },
+ "stampInformationId": {
+ "description": "The deployment id of the stamp.",
+ "type": "string"
+ },
+ "externalDsnIPAddress01": {
+ "description": "First external IP address of the DNS server.",
+ "type": "string"
+ },
+ "externalDsnIPAddress02": {
+ "description": "Second external IP Address of the DNS server.",
+ "type": "string"
+ },
+ "exclusiveAdminOperationRunning": {
+ "description": "Value for whether an exclusive admin operation is running.",
+ "type": "boolean"
+ },
+ "exclusiveAdminOperationName": {
+ "description": "Name of the running exclusive admin operation.",
+ "type": "string"
+ },
+ "startUpActionPlanStartTime": {
+ "description": "Last known stamp start time for the start up action plan.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "startUpActionPlanEndTime": {
+ "description": "Last known stamp stop time for the start up action plan.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "shutDownActionPlanStartTime": {
+ "description": "Last known stamp start time for the shut down action plan",
+ "type": "string",
+ "format": "date-time"
+ },
+ "shutDownActionPlanEndTime": {
+ "description": "Last known stamp stop time for the shut down action plan.",
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ },
"FabricLocationList": {
"description": "Pageable list of fabric locations.",
"type": "object",
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json
index ce3208514607..550b4395dffc 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json
@@ -49,7 +49,7 @@
"200": {
"description": "OK -- The list of acquisitions has been returned.",
"schema": {
- "$ref": "acquisitions.json#/definitions/AcquisitionList"
+ "$ref": "#/definitions/AcquisitionList"
}
},
"404": {
@@ -93,7 +93,7 @@
},
"status": {
"description": "The status of the page BLOB acquisition.",
- "$ref": "acquisitions.json#/definitions/AcquisitionStatus",
+ "$ref": "#/definitions/AcquisitionStatus",
"readOnly": true
},
"susbcriptionid": {
@@ -130,7 +130,7 @@
"properties": {
"description": "The properties of the page blob acquisition.",
"x-ms-client-flatten": true,
- "$ref": "acquisitions.json#/definitions/AcquisitionProperties",
+ "$ref": "#/definitions/AcquisitionProperties",
"readOnly": true
}
},
@@ -144,7 +144,7 @@
"description": "The list of page BLOB acquisitions.",
"type": "array",
"items": {
- "$ref": "acquisitions.json#/definitions/Acquisition"
+ "$ref": "#/definitions/Acquisition"
}
}
},
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json
index d67de4a5ba00..519ef48fa783 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json
@@ -49,7 +49,7 @@
"200": {
"description": "OK -- The BLOB service has been returned.",
"schema": {
- "$ref": "blobServices.json#/definitions/BlobService"
+ "$ref": "#/definitions/BlobService"
}
},
"404": {
@@ -184,7 +184,7 @@
"type": "object",
"allOf": [
{
- "$ref": "blobServices.json#/definitions/BlobServiceWritableSettings"
+ "$ref": "#/definitions/BlobServiceWritableSettings"
}
]
},
@@ -194,7 +194,7 @@
"properties": {
"settings": {
"x-ms-client-flatten": true,
- "$ref": "blobServices.json#/definitions/BlobServiceSettings",
+ "$ref": "#/definitions/BlobServiceSettings",
"description": "Blob service settings.",
"readOnly": true
}
@@ -212,7 +212,7 @@
"properties": {
"description": "Blob service properties.",
"x-ms-client-flatten": true,
- "$ref": "blobServices.json#/definitions/BlobServiceProperties",
+ "$ref": "#/definitions/BlobServiceProperties",
"readOnly": true
}
},
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/containers.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/containers.json
index f22dc6856f83..2e39b9862f23 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/containers.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/containers.json
@@ -49,13 +49,13 @@
"200": {
"description": "OK -- Operation has been accepted and processed",
"schema": {
- "$ref": "containers.json#/definitions/MigrationResult"
+ "$ref": "#/definitions/MigrationResult"
}
},
"202": {
"description": "ACCEPTED - Operation has been accepted will be processed asynchronously",
"schema": {
- "$ref": "containers.json#/definitions/MigrationResult"
+ "$ref": "#/definitions/MigrationResult"
}
}
},
@@ -93,7 +93,7 @@
"200": {
"description": "OK -- Operation has been accepted and processed",
"schema": {
- "$ref": "containers.json#/definitions/MigrationResult"
+ "$ref": "#/definitions/MigrationResult"
}
}
}
@@ -128,20 +128,20 @@
"$ref": "storage.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "containers.json#/parameters/MigrationIntentParameter"
+ "$ref": "#/parameters/MigrationIntentParameter"
},
{
- "$ref": "containers.json#/parameters/MaxCountParameter"
+ "$ref": "#/parameters/MaxCountParameter"
},
{
- "$ref": "containers.json#/parameters/StartIndexParameter"
+ "$ref": "#/parameters/StartIndexParameter"
}
],
"responses": {
"200": {
"description": "OK -- The list of containers has been returned.",
"schema": {
- "$ref": "containers.json#/definitions/ContainerList"
+ "$ref": "#/definitions/ContainerList"
}
},
"404": {
@@ -224,20 +224,20 @@
"$ref": "storage.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "containers.json#/parameters/MigrationParameterParameter"
+ "$ref": "#/parameters/MigrationParameterParameter"
}
],
"responses": {
"200": {
"description": "OK -- Container has been migrated",
"schema": {
- "$ref": "containers.json#/definitions/MigrationResult"
+ "$ref": "#/definitions/MigrationResult"
}
},
"202": {
"description": "ACCEPTED -- Operation accepted and will be performed asynchronously",
"schema": {
- "$ref": "containers.json#/definitions/MigrationResult"
+ "$ref": "#/definitions/MigrationResult"
}
}
},
@@ -293,7 +293,7 @@
"description": "List of containers.",
"type": "array",
"items": {
- "$ref": "containers.json#/definitions/Container"
+ "$ref": "#/definitions/Container"
}
},
"MigrationResult": {
@@ -327,7 +327,7 @@
},
"migrationStatus": {
"description": "The migration status.",
- "$ref": "containers.json#/definitions/MigrationState",
+ "$ref": "#/definitions/MigrationState",
"readOnly": true
},
"subEntitiesCompleted": {
@@ -423,7 +423,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "containers.json#/definitions/MigrationParameters"
+ "$ref": "#/definitions/MigrationParameters"
},
"x-ms-parameter-location": "method"
}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/farms.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/farms.json
index e1f0db459024..587563b84a40 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/farms.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/farms.json
@@ -47,7 +47,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "farms.json#/definitions/FarmCreationProperties"
+ "$ref": "#/definitions/FarmCreationProperties"
}
}
],
@@ -55,7 +55,7 @@
"200": {
"description": "OK -- The new storage farm has been created.",
"schema": {
- "$ref": "farms.json#/definitions/Farm"
+ "$ref": "#/definitions/Farm"
}
}
}
@@ -89,7 +89,7 @@
"200": {
"description": "OK -- The farm has been returned.",
"schema": {
- "$ref": "farms.json#/definitions/Farm"
+ "$ref": "#/definitions/Farm"
}
},
"404": {
@@ -127,7 +127,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "farms.json#/definitions/Farm"
+ "$ref": "#/definitions/Farm"
}
}
],
@@ -135,7 +135,7 @@
"200": {
"description": "OK -- The properties and settings of storage farm have been updated.",
"schema": {
- "$ref": "farms.json#/definitions/Farm"
+ "$ref": "#/definitions/Farm"
}
}
}
@@ -252,7 +252,7 @@
"200": {
"description": "OK -- The list of storage farms has been returned.",
"schema": {
- "$ref": "farms.json#/definitions/FarmList"
+ "$ref": "#/definitions/FarmList"
}
}
},
@@ -350,7 +350,7 @@
"description": "List of storage farms.",
"type": "array",
"items": {
- "$ref": "farms.json#/definitions/Farm"
+ "$ref": "#/definitions/Farm"
}
},
"nextLink": {
@@ -367,7 +367,7 @@
"properties": {
"description": "Storage farm properties.",
"x-ms-client-flatten": true,
- "$ref": "farms.json#/definitions/SettingAccessString"
+ "$ref": "#/definitions/SettingAccessString"
}
},
"allOf": [
@@ -383,8 +383,7 @@
"properties": {
"description": "Storage farm properties.",
"x-ms-client-flatten": true,
- "$ref": "farms.json#/definitions/FarmProperties",
- "readOnly": true
+ "$ref": "#/definitions/FarmProperties"
}
},
"allOf": [
@@ -400,245 +399,204 @@
"settingsPollingIntervalInSecond": {
"description": "The polling interval (in second).",
"type": "integer",
- "format": "int32",
- "readOnly": true
+ "format": "int32"
},
"retentionPeriodForDeletedStorageAccountsInDays": {
"description": "The retention period (in days) for deleted storage account.",
"type": "integer",
- "format": "int32",
- "readOnly": true
+ "format": "int32"
},
"hostStyleHttpPort": {
"description": "Host style HTTP port.",
"type": "integer",
- "format": "int32",
- "readOnly": true
+ "format": "int32"
},
"hostStyleHttpsPort": {
"description": "Host style HTTPs port.",
"type": "integer",
- "format": "int32",
- "readOnly": true
+ "format": "int32"
},
"corsAllowedOriginsList": {
"description": "The list of allowed origins.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"dataCenterUriHostSuffixes": {
"description": "The suffixes of URI of hosts in data center.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"bandwidthThrottleIsEnabled": {
"description": "Switch of bandwidth throttle enablement.",
- "type": "boolean",
- "readOnly": true
+ "type": "boolean"
},
"usageCollectionIntervalInSeconds": {
"description": "Interval (in seconds) of storage usage collection.",
"type": "integer",
- "format": "int32",
- "readOnly": true
+ "format": "int32"
},
"feedbackRefreshIntervalInSeconds": {
"description": "Interval (in seconds) of feedback refresh.",
"type": "integer",
- "format": "int32",
- "readOnly": true
+ "format": "int32"
},
"numberOfAccountsToSync": {
"description": "Number of accounts to sync.",
"type": "integer",
- "format": "int32",
- "readOnly": true
+ "format": "int32"
},
"defaultThrottleProbabilityDecayIntervalInSeconds": {
"description": "Interval (in seconds) of default throttle probability decay.",
"type": "integer",
- "format": "int32",
- "readOnly": true
+ "format": "int32"
},
"gracePeriodForFullThrottlingInRefreshIntervals": {
"description": "Grace period for full throttling in refresh intervals.",
"type": "integer",
- "format": "int32",
- "readOnly": true
+ "format": "int32"
},
"gracePeriodMaxThrottleProbability": {
"description": "Maximum probability of throttle in grace period.",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"overallRequestThresholdInTps": {
"description": "Overall request threshold (in TPS).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"defaultRequestThresholdInTps": {
"description": "Default request threshold (in TPS).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"minimumRequestThresholdInTps": {
"description": "Minimum request threshold (in TPS).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"toleranceFactorForTps": {
"description": "Tolerance factor for TPS.",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"overallIngressThresholdInGbps": {
"description": "Overall ingress threshold (in Gbps)",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"defaultIngressThresholdInGbps": {
"description": "Default ingress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"minimumIngressThresholdInGbps": {
"description": "Minimum ingress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"toleranceFactorForIngress": {
"description": "Tolerance factor for ingress.",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"overallIntranetIngressThresholdInGbps": {
"description": "Overall Intranet ingress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"defaultIntranetIngressThresholdInGbps": {
"description": "Default Intranet ingress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"minimumIntranetIngressThresholdInGbps": {
"description": "Minimum Intranet ingress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"toleranceFactorForIntranetIngress": {
"description": "Tolerance factor for Intranet ingress.",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"overallEgressThresholdInGbps": {
"description": "Overall egress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"defaultEgressThresholdInGbps": {
"description": "Default egress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"minimumEgressThresholdInGbps": {
"description": "Minimum egress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"toleranceFactorForEgress": {
"description": "Tolerance factor for egress.",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"overallIntranetEgressThresholdInGbps": {
"description": "Overall Intranet egress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"defaultIntranetEgressThresholdInGbps": {
"description": "Default Intranet egress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"minimumIntranetEgressThresholdInGbps": {
"description": "Minimum Intranet egress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"toleranceFactorForIntranetEgress": {
"description": "Tolerance factor for Intranet egress.",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"overallTotalIngressThresholdInGbps": {
"description": "Overall total ingress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"defaultTotalIngressThresholdInGbps": {
"description": "Default total ingress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"minimumTotalIngressThresholdInGbps": {
"description": "Minimum total ingress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"toleranceFactorForTotalIngress": {
"description": "Tolerance factor for total ingress.",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"overallTotalEgressThresholdInGbps": {
"description": "Overall total egress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"defaultTotalEgressThresholdInGbps": {
"description": "Default total egress threshold (in Gbps).",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"minimumTotalEgressThresholdInGbps": {
"description": "Minimum total egress threshold (in Gbp",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
},
"toleranceFactorForTotalEgress": {
"description": "Tolerance factor for total egress.",
"type": "number",
- "format": "float",
- "readOnly": true
+ "format": "float"
}
}
},
@@ -648,24 +606,20 @@
"properties": {
"farmId": {
"description": "Farm identifier.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"version": {
"description": "Resource version.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"settingsStore": {
"description": "The settings of storage farm.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"settings": {
"description": "The properties of storage farm.",
"x-ms-client-flatten": true,
- "$ref": "farms.json#/definitions/FarmSettings",
- "readOnly": true
+ "$ref": "#/definitions/FarmSettings"
}
}
},
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json
index 3935ea3649f0..a8c68ca4c60f 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json
@@ -49,7 +49,7 @@
"200": {
"description": "OK -- Queue service has been returned.",
"schema": {
- "$ref": "queueServices.json#/definitions/QueueService"
+ "$ref": "#/definitions/QueueService"
}
},
"404": {
@@ -174,7 +174,7 @@
"properties": {
"description": "Queue service properties.",
"x-ms-client-flatten": true,
- "$ref": "queueServices.json#/definitions/QueueServiceProperties",
+ "$ref": "#/definitions/QueueServiceProperties",
"readOnly": true
}
},
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json
index 65c0aa61ba7e..f047fdcf2d4d 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json
@@ -39,17 +39,17 @@
"$ref": "storage.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "quotas.json#/parameters/QuotaNameParameter"
+ "$ref": "#/parameters/QuotaNameParameter"
},
{
- "$ref": "quotas.json#/parameters/StorgeQuotaParameters"
+ "$ref": "#/parameters/StorgeQuotaParameters"
}
],
"responses": {
"200": {
"description": "OK -- The storage quota has been created or updated.",
"schema": {
- "$ref": "quotas.json#/definitions/StorageQuota"
+ "$ref": "#/definitions/StorageQuota"
}
},
"404": {
@@ -79,7 +79,7 @@
"$ref": "storage.json#/parameters/LocationParameter"
},
{
- "$ref": "quotas.json#/parameters/QuotaNameParameter"
+ "$ref": "#/parameters/QuotaNameParameter"
}
],
"responses": {
@@ -113,14 +113,14 @@
"$ref": "storage.json#/parameters/LocationParameter"
},
{
- "$ref": "quotas.json#/parameters/QuotaNameParameter"
+ "$ref": "#/parameters/QuotaNameParameter"
}
],
"responses": {
"200": {
"description": "OK -- The storage quota has been returned.",
"schema": {
- "$ref": "quotas.json#/definitions/StorageQuota"
+ "$ref": "#/definitions/StorageQuota"
}
},
"404": {
@@ -156,7 +156,7 @@
"200": {
"description": "OK -- The list of storage quotas has been returned.",
"schema": {
- "$ref": "quotas.json#/definitions/StorageQuotaList"
+ "$ref": "#/definitions/StorageQuotaList"
}
},
"404": {
@@ -177,7 +177,7 @@
"properties": {
"description": "Storage quota properties.",
"x-ms-client-flatten": true,
- "$ref": "quotas.json#/definitions/StorageQuotaProperties"
+ "$ref": "#/definitions/StorageQuotaProperties"
}
},
"allOf": [
@@ -212,7 +212,7 @@
"description": "List of storage quotas.",
"type": "array",
"items": {
- "$ref": "quotas.json#/definitions/StorageQuota"
+ "$ref": "#/definitions/StorageQuota"
}
},
"nextLink": {
@@ -237,7 +237,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "quotas.json#/definitions/StorageQuota"
+ "$ref": "#/definitions/StorageQuota"
},
"x-ms-parameter-location": "method"
}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/shares.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/shares.json
index 3dc5fe6e34e3..4d978bc695cd 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/shares.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/shares.json
@@ -46,7 +46,7 @@
"200": {
"description": "OK -- The list of storage shares has been returned.",
"schema": {
- "$ref": "shares.json#/definitions/ShareList"
+ "$ref": "#/definitions/ShareList"
}
},
"404": {
@@ -181,7 +181,7 @@
"200": {
"description": "OK -- The storage share has been returned.",
"schema": {
- "$ref": "shares.json#/definitions/Share"
+ "$ref": "#/definitions/Share"
}
},
"404": {
@@ -199,7 +199,7 @@
"properties": {
"description": "Storage share properties.",
"x-ms-client-flatten": true,
- "$ref": "shares.json#/definitions/ShareProperties",
+ "$ref": "#/definitions/ShareProperties",
"readOnly": true
}
},
@@ -213,7 +213,7 @@
"description": "List of storage shares.",
"type": "array",
"items": {
- "$ref": "shares.json#/definitions/Share"
+ "$ref": "#/definitions/Share"
}
},
"ShareProperties": {
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storage.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storage.json
index 377f487a6066..087898639205 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storage.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storage.json
@@ -30,14 +30,14 @@
"operationId": "Operations_List",
"parameters": [
{
- "$ref": "storage.json#/parameters/ApiVersionParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "OK -- The list of operations has been returned.",
"schema": {
- "$ref": "storage.json#/definitions/OperationList"
+ "$ref": "#/definitions/OperationList"
}
}
},
@@ -137,7 +137,7 @@
},
"allOf": [
{
- "$ref": "storage.json#/definitions/WritableSettings"
+ "$ref": "#/definitions/WritableSettings"
}
]
},
@@ -207,24 +207,24 @@
"properties": {
"name": {
"description": "Metric name.",
- "$ref": "storage.json#/definitions/LocalizableString",
+ "$ref": "#/definitions/LocalizableString",
"readOnly": true
},
"unit": {
"description": "Metric unit.",
- "$ref": "storage.json#/definitions/MetricUnit",
+ "$ref": "#/definitions/MetricUnit",
"readOnly": true
},
"primaryAggregationType": {
"description": "Aggregation type of metric.",
- "$ref": "storage.json#/definitions/AggregateType",
+ "$ref": "#/definitions/AggregateType",
"readOnly": true
},
"metricAvailabilities": {
"description": "Metric availabilities.",
"type": "array",
"items": {
- "$ref": "storage.json#/definitions/MetricAvailability"
+ "$ref": "#/definitions/MetricAvailability"
},
"readOnly": true
}
@@ -236,12 +236,12 @@
"properties": {
"name": {
"description": "Metric Name.",
- "$ref": "storage.json#/definitions/LocalizableString",
+ "$ref": "#/definitions/LocalizableString",
"readOnly": true
},
"metricUnit": {
"description": "Metric Unit.",
- "$ref": "storage.json#/definitions/MetricUnit",
+ "$ref": "#/definitions/MetricUnit",
"readOnly": true
},
"timeGrain": {
@@ -265,7 +265,7 @@
"description": "List of metric values.",
"type": "array",
"items": {
- "$ref": "storage.json#/definitions/MetricValue"
+ "$ref": "#/definitions/MetricValue"
},
"readOnly": true
}
@@ -279,7 +279,7 @@
"description": "List of metric definitions.",
"type": "array",
"items": {
- "$ref": "storage.json#/definitions/MetricDefinition"
+ "$ref": "#/definitions/MetricDefinition"
},
"readOnly": true
},
@@ -298,7 +298,7 @@
"description": "List of metrics.",
"type": "array",
"items": {
- "$ref": "storage.json#/definitions/Metric"
+ "$ref": "#/definitions/Metric"
},
"readOnly": true
},
@@ -376,31 +376,26 @@
"properties": {
"id": {
"description": "Resource ID.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"name": {
"description": "Resource Name.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"type": {
"description": "Resource type.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"location": {
"description": "Resource location.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"tags": {
"description": "Resource tags.",
"type": "object",
"additionalProperties": {
"type": "string"
- },
- "readOnly": true
+ }
}
},
"x-ms-azure-resource": true
@@ -414,7 +409,7 @@
},
"healthStatus": {
"description": "Health status of storage service.",
- "$ref": "storage.json#/definitions/HealthStatus"
+ "$ref": "#/definitions/HealthStatus"
}
}
},
@@ -428,7 +423,7 @@
},
"display": {
"description": "Contains the localized display information for this particular operation / action.",
- "$ref": "storage.json#/definitions/Display",
+ "$ref": "#/definitions/Display",
"readOnly": true
}
}
@@ -465,7 +460,7 @@
"description": "List of operations",
"type": "array",
"items": {
- "$ref": "storage.json#/definitions/Operation"
+ "$ref": "#/definitions/Operation"
}
},
"nextLink": {
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json
index e3d8477ad1e2..7563995ee609 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json
@@ -42,14 +42,14 @@
"$ref": "storage.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "storageaccounts.json#/parameters/SummaryParameter"
+ "$ref": "#/parameters/SummaryParameter"
}
],
"responses": {
"200": {
"description": "OK -- The list of storage accounts has been returned.",
"schema": {
- "$ref": "storageaccounts.json#/definitions/StorageAccountList"
+ "$ref": "#/definitions/StorageAccountList"
}
},
"404": {
@@ -84,7 +84,7 @@
"$ref": "storage.json#/parameters/FarmIdParameter"
},
{
- "$ref": "storageaccounts.json#/parameters/AccountIdParameter"
+ "$ref": "#/parameters/AccountIdParameter"
},
{
"$ref": "storage.json#/parameters/ApiVersionParameter"
@@ -94,7 +94,7 @@
"200": {
"description": "OK -- The storage account has been returned.",
"schema": {
- "$ref": "storageaccounts.json#/definitions/StorageAccount"
+ "$ref": "#/definitions/StorageAccount"
}
},
"404": {
@@ -124,7 +124,7 @@
"$ref": "storage.json#/parameters/FarmIdParameter"
},
{
- "$ref": "storageaccounts.json#/parameters/AccountIdParameter"
+ "$ref": "#/parameters/AccountIdParameter"
},
{
"$ref": "storage.json#/parameters/ApiVersionParameter"
@@ -255,12 +255,12 @@
},
"accountType": {
"description": "Storage account type.",
- "$ref": "storageaccounts.json#/definitions/StorageAccountType",
+ "$ref": "#/definitions/StorageAccountType",
"readOnly": true
},
"provisioningState": {
"description": "The provisioning state of storage account.",
- "$ref": "storageaccounts.json#/definitions/StorageAccountState",
+ "$ref": "#/definitions/StorageAccountState",
"readOnly": true
},
"primaryEndpoints": {
@@ -287,7 +287,7 @@
},
"statusOfPrimary": {
"description": "The status of primary location of storage account.",
- "$ref": "storageaccounts.json#/definitions/LocationStatus",
+ "$ref": "#/definitions/LocationStatus",
"readOnly": true
},
"tenantSubscriptionId": {
@@ -307,7 +307,7 @@
},
"currentOperation": {
"description": "Current operation being performed on Storage Account",
- "$ref": "storageaccounts.json#/definitions/StorageAccountOperation",
+ "$ref": "#/definitions/StorageAccountOperation",
"readOnly": true
},
"customDomain": {
@@ -328,7 +328,7 @@
"readOnly": true
},
"accountStatus": {
- "$ref": "storageaccounts.json#/definitions/StorageAccountStatus",
+ "$ref": "#/definitions/StorageAccountStatus",
"description": "The status of storage account."
},
"recoveredTime": {
@@ -345,7 +345,7 @@
},
"permissions": {
"description": "The permissions on the storage account.",
- "$ref": "storageaccounts.json#/definitions/WacAccountPermissions",
+ "$ref": "#/definitions/WacAccountPermissions",
"readOnly": true
},
"accountId": {
@@ -355,7 +355,7 @@
},
"wacInternalState": {
"description": "The internal state of storage account in WAC.",
- "$ref": "storageaccounts.json#/definitions/WacAccountStates",
+ "$ref": "#/definitions/WacAccountStates",
"readOnly": true
},
"resourceAdminApiVersion": {
@@ -372,7 +372,7 @@
"properties": {
"description": "Properties of the storage account.",
"x-ms-client-flatten": true,
- "$ref": "storageaccounts.json#/definitions/StorageAccountProperties",
+ "$ref": "#/definitions/StorageAccountProperties",
"readOnly": true
}
},
@@ -390,7 +390,7 @@
"description": "List of storage accounts.",
"type": "array",
"items": {
- "$ref": "storageaccounts.json#/definitions/StorageAccount"
+ "$ref": "#/definitions/StorageAccount"
},
"readOnly": true
},
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json
index 7533fa942df5..044c0874eea1 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json
@@ -49,7 +49,7 @@
"200": {
"description": "OK -- Table service has been returned.",
"schema": {
- "$ref": "tableServices.json#/definitions/TableService"
+ "$ref": "#/definitions/TableService"
}
},
"404": {
@@ -157,7 +157,7 @@
"properties": {
"description": "Table service properties.",
"x-ms-client-flatten": true,
- "$ref": "tableServices.json#/definitions/TableServiceProperties",
+ "$ref": "#/definitions/TableServiceProperties",
"readOnly": true
}
},
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json
new file mode 100644
index 000000000000..0adabf8037e1
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json
@@ -0,0 +1,162 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-08-08-preview",
+ "title": "StorageManagementClient",
+ "description": "The Admin Storage Management Client."
+ },
+ "host": "adminmanagement.local.azurestack.external",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/acquisitions": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of page BLOB acquisitions.": {
+ "$ref": "./examples/Acquisitions/List.json"
+ }
+ },
+ "tags": [
+ "Acquisitions"
+ ],
+ "operationId": "Acquisitions_List",
+ "description": "Returns a list of BLOB acquisitions.",
+ "parameters": [
+ {
+ "$ref": "storage.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The list of acquisitions has been returned.",
+ "schema": {
+ "$ref": "#/definitions/AcquisitionList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "storage.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AcquisitionStatus": {
+ "description": "The status of page BLOB acquisition.",
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "NotAcquired",
+ "Pending",
+ "Success",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "AcquisitionStatus",
+ "modelAsString": true
+ }
+ },
+ "Acquisition": {
+ "description": "The acquisition of the page BLOB.",
+ "type": "object",
+ "properties": {
+ "susbcriptionid": {
+ "description": "ID of the subscription associated with the page BLOB.",
+ "type": "string",
+ "readOnly": true
+ },
+ "storageaccount": {
+ "description": "The storage account that holds the page BLOB.",
+ "type": "string",
+ "readOnly": true
+ },
+ "container": {
+ "description": "The container associated with the page BLOB.",
+ "type": "string",
+ "readOnly": true
+ },
+ "blob": {
+ "description": "The name of the page BLOB.",
+ "type": "string",
+ "readOnly": true
+ },
+ "acquisitionid": {
+ "description": "The ID of page BLOB acquisition.",
+ "type": "string",
+ "readOnly": true
+ },
+ "filePath": {
+ "description": "The file path of the page BLOB file on storage cluster.",
+ "type": "string",
+ "readOnly": true
+ },
+ "filePathUnc": {
+ "description": "The file path unc of the page BLOB file on storage cluster.",
+ "type": "string",
+ "readOnly": true
+ },
+ "maximumblobsize": {
+ "description": "The maximum size of the page BLOB.",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the page BLOB acquisition.",
+ "$ref": "#/definitions/AcquisitionStatus",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "AcquisitionList": {
+ "description": "The list of page BLOB acquisitions.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of acquisitions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Acquisition"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {},
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Acquisitions/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Acquisitions/List.json
new file mode 100644
index 000000000000..f42520305bd9
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Acquisitions/List.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": []
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Operations/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Operations/List.json
new file mode 100644
index 000000000000..05aede9aac06
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Operations/List.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": []
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Quotas/CreateOrUpdate.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Quotas/CreateOrUpdate.json
new file mode 100644
index 000000000000..985e7cbec6f1
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Quotas/CreateOrUpdate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "quotaName": "TestCreateQuota",
+ "api-version": "2019-08-08-preview",
+ "quotaObject": {
+ "properties": {
+ "numberOfStorageAccounts": 10000,
+ "capacityInGb": 1000
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.Storage.Admin/locations/local/quotas/TestCreateQuota",
+ "name": "local/TestCreateQuota",
+ "type": "Microsoft.Storage.Admin/locations/quotas",
+ "location": "local",
+ "properties": {
+ "numberOfStorageAccounts": 10000,
+ "capacityInGb": 1000
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Quotas/Delete.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Quotas/Delete.json
new file mode 100644
index 000000000000..9fc783a03a41
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Quotas/Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "quotaName": "TestCreateQuota",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Quotas/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Quotas/Get.json
new file mode 100644
index 000000000000..afdaa6c12646
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Quotas/Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "quotaName": "TestCreateQuota",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.Storage.Admin/locations/local/quotas/TestCreateQuota",
+ "name": "local/TestCreateQuota",
+ "type": "Microsoft.Storage.Admin/locations/quotas",
+ "location": "local",
+ "properties": {
+ "numberOfStorageAccounts": 20,
+ "capacityInGb": 2048
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Quotas/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Quotas/List.json
new file mode 100644
index 000000000000..34af15800cc0
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Quotas/List.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.Storage.Admin/locations/local/quotas/TestCreateQuota",
+ "name": "local/TestCreateQuota",
+ "type": "Microsoft.Storage.Admin/locations/quotas",
+ "location": "local",
+ "properties": {
+ "numberOfStorageAccounts": 20,
+ "capacityInGb": 2048
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Settings/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Settings/Get.json
new file mode 100644
index 000000000000..ad79c2af9384
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Settings/Get.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "retentionPeriodForDeletedStorageAccountsInDays": 2
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Settings/Update.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Settings/Update.json
new file mode 100644
index 000000000000..42d51727b2f9
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Settings/Update.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "api-version": "2019-08-08-preview",
+ "settingsObject": {
+ "properties": {
+ "retentionPeriodForDeletedStorageAccountsInDays": 2
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "retentionPeriodForDeletedStorageAccountsInDays": 2
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/Get.json
new file mode 100644
index 000000000000..ddf05209bef8
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/Get.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "accountId": "f93c9df9e7af487fbda484a9201d9c18",
+ "api-version": "2019-08-08-preview",
+ "summary": "false"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/storageaccounts/f93c9df9e7af487fbda484a9201d9c18",
+ "type": "Microsoft.Storage.Admin/storageaccounts",
+ "name": "f93c9df9e7af487fbda484a9201d9c18",
+ "location": "local",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "primaryEndpoints": {
+ "blob": "https://authprod.blob.local.azurestack.external/",
+ "queue": "https://authprod.queue.local.azurestack.external/",
+ "table": "https://authprod.table.local.azurestack.external/"
+ },
+ "primaryLocation": "local",
+ "statusOfPrimary": "Available",
+ "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/authprod",
+ "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "tenantStorageAccountName": "authprod",
+ "tenantResourceGroupName": "system.local",
+ "accountStatus": "Active",
+ "permissions": "Full",
+ "accountId": "f93c9df9e7af487fbda484a9201d9c18",
+ "wacInternalState": "Active",
+ "accountType": "Standard_LRS",
+ "creationTime": "2018-01-17T01:56:30.983"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/List.json
new file mode 100644
index 000000000000..ed522d0ea736
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/List.json
@@ -0,0 +1,224 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "api-version": "2019-08-08-preview",
+ "summary": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/storageaccounts/0180624c67694706a4066782d83057a5",
+ "type": "Microsoft.Storage.Admin/storageaccounts",
+ "name": "0180624c67694706a4066782d83057a5",
+ "location": "local",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "primaryEndpoints": {
+ "blob": "https://adminkvlclproddata004.blob.local.azurestack.external/",
+ "queue": "https://adminkvlclproddata004.queue.local.azurestack.external/",
+ "table": "https://adminkvlclproddata004.table.local.azurestack.external/"
+ },
+ "primaryLocation": "local",
+ "statusOfPrimary": "Available",
+ "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local.adminkeyvault/providers/Microsoft.Storage/storageaccounts/adminkvlclproddata004",
+ "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "tenantStorageAccountName": "adminkvlclproddata004",
+ "tenantResourceGroupName": "system.local.adminkeyvault",
+ "accountStatus": "Active",
+ "permissions": "Full",
+ "accountId": "0180624c67694706a4066782d83057a5",
+ "wacInternalState": "Active",
+ "accountType": "Standard_LRS",
+ "creationTime": "2018-01-17T02:10:27.41"
+ }
+ },
+ {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/storageaccounts/04106a84393f4a12ab8efdbc0a69bb65",
+ "type": "Microsoft.Storage.Admin/storageaccounts",
+ "name": "04106a84393f4a12ab8efdbc0a69bb65",
+ "location": "local",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "primaryEndpoints": {
+ "blob": "https://adminkvlclproddata005.blob.local.azurestack.external/",
+ "queue": "https://adminkvlclproddata005.queue.local.azurestack.external/",
+ "table": "https://adminkvlclproddata005.table.local.azurestack.external/"
+ },
+ "primaryLocation": "local",
+ "statusOfPrimary": "Available",
+ "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local.adminkeyvault/providers/Microsoft.Storage/storageaccounts/adminkvlclproddata005",
+ "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "tenantStorageAccountName": "adminkvlclproddata005",
+ "tenantResourceGroupName": "system.local.adminkeyvault",
+ "accountStatus": "Active",
+ "permissions": "Full",
+ "accountId": "04106a84393f4a12ab8efdbc0a69bb65",
+ "wacInternalState": "Active",
+ "accountType": "Standard_LRS",
+ "creationTime": "2018-01-17T02:10:27.847"
+ }
+ },
+ {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/storageaccounts/06e296e00b284f5cb5708dfabd6ad74c",
+ "type": "Microsoft.Storage.Admin/storageaccounts",
+ "name": "06e296e00b284f5cb5708dfabd6ad74c",
+ "location": "local",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "primaryEndpoints": {
+ "blob": "https://wasphealthaccount.blob.local.azurestack.external/",
+ "queue": "https://wasphealthaccount.queue.local.azurestack.external/",
+ "table": "https://wasphealthaccount.table.local.azurestack.external/"
+ },
+ "primaryLocation": "local",
+ "statusOfPrimary": "Available",
+ "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/wasphealthaccount",
+ "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "tenantStorageAccountName": "wasphealthaccount",
+ "tenantResourceGroupName": "system.local",
+ "accountStatus": "Active",
+ "permissions": "Full",
+ "accountId": "06e296e00b284f5cb5708dfabd6ad74c",
+ "wacInternalState": "Active",
+ "accountType": "Standard_LRS",
+ "creationTime": "2018-01-17T02:10:12.47"
+ }
+ },
+ {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/storageaccounts/0a6b4f6b1de14cc08aa1fefadcc481eb",
+ "type": "Microsoft.Storage.Admin/storageaccounts",
+ "name": "0a6b4f6b1de14cc08aa1fefadcc481eb",
+ "location": "local",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "primaryEndpoints": {
+ "blob": "https://frphealthaccount.blob.local.azurestack.external/",
+ "queue": "https://frphealthaccount.queue.local.azurestack.external/",
+ "table": "https://frphealthaccount.table.local.azurestack.external/"
+ },
+ "primaryLocation": "local",
+ "statusOfPrimary": "Available",
+ "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/frphealthaccount",
+ "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "tenantStorageAccountName": "frphealthaccount",
+ "tenantResourceGroupName": "system.local",
+ "accountStatus": "Active",
+ "permissions": "Full",
+ "accountId": "0a6b4f6b1de14cc08aa1fefadcc481eb",
+ "wacInternalState": "Active",
+ "accountType": "Standard_LRS",
+ "creationTime": "2018-01-17T02:10:02.527"
+ }
+ },
+ {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/storageaccounts/0d724e3f75004e48948c1bfa0b4a964a",
+ "type": "Microsoft.Storage.Admin/storageaccounts",
+ "name": "0d724e3f75004e48948c1bfa0b4a964a",
+ "location": "local",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "primaryEndpoints": {
+ "blob": "https://systemgallery.blob.local.azurestack.external/",
+ "queue": "https://systemgallery.queue.local.azurestack.external/",
+ "table": "https://systemgallery.table.local.azurestack.external/"
+ },
+ "primaryLocation": "local",
+ "statusOfPrimary": "Available",
+ "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/systemgallery",
+ "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "tenantStorageAccountName": "systemgallery",
+ "tenantResourceGroupName": "system.local",
+ "accountStatus": "Active",
+ "permissions": "Full",
+ "accountId": "0d724e3f75004e48948c1bfa0b4a964a",
+ "wacInternalState": "Active",
+ "accountType": "Standard_LRS",
+ "creationTime": "2018-01-17T01:56:29.467"
+ }
+ },
+ {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/storageaccounts/0dda0879146341178603ba151d7da010",
+ "type": "Microsoft.Storage.Admin/storageaccounts",
+ "name": "0dda0879146341178603ba151d7da010",
+ "location": "local",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "primaryEndpoints": {
+ "blob": "https://nrpeventsaccount.blob.local.azurestack.external/",
+ "queue": "https://nrpeventsaccount.queue.local.azurestack.external/",
+ "table": "https://nrpeventsaccount.table.local.azurestack.external/"
+ },
+ "primaryLocation": "local",
+ "statusOfPrimary": "Available",
+ "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/nrpeventsaccount",
+ "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "tenantStorageAccountName": "nrpeventsaccount",
+ "tenantResourceGroupName": "system.local",
+ "accountStatus": "Active",
+ "permissions": "Full",
+ "accountId": "0dda0879146341178603ba151d7da010",
+ "wacInternalState": "Active",
+ "accountType": "Standard_LRS",
+ "creationTime": "2018-01-17T02:10:23.84"
+ }
+ },
+ {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/storageaccounts/15612011f6094654abcb6031a4394ef5",
+ "type": "Microsoft.Storage.Admin/storageaccounts",
+ "name": "15612011f6094654abcb6031a4394ef5",
+ "location": "local",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "primaryEndpoints": {
+ "blob": "https://kvrphealthaccount.blob.local.azurestack.external/",
+ "queue": "https://kvrphealthaccount.queue.local.azurestack.external/",
+ "table": "https://kvrphealthaccount.table.local.azurestack.external/"
+ },
+ "primaryLocation": "local",
+ "statusOfPrimary": "Available",
+ "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/kvrphealthaccount",
+ "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "tenantStorageAccountName": "kvrphealthaccount",
+ "tenantResourceGroupName": "system.local",
+ "accountStatus": "Active",
+ "permissions": "Full",
+ "accountId": "15612011f6094654abcb6031a4394ef5",
+ "wacInternalState": "Active",
+ "accountType": "Standard_LRS",
+ "creationTime": "2018-01-17T02:10:36.193"
+ }
+ },
+ {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/storageaccounts/17829fa81c154239ad8a6fae05f44793",
+ "type": "Microsoft.Storage.Admin/storageaccounts",
+ "name": "17829fa81c154239ad8a6fae05f44793",
+ "location": "local",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "primaryEndpoints": {
+ "blob": "https://srpusageaccount.blob.local.azurestack.external/",
+ "queue": "https://srpusageaccount.queue.local.azurestack.external/",
+ "table": "https://srpusageaccount.table.local.azurestack.external/"
+ },
+ "primaryLocation": "local",
+ "statusOfPrimary": "Available",
+ "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/srpusageaccount",
+ "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "tenantStorageAccountName": "srpusageaccount",
+ "tenantResourceGroupName": "system.local",
+ "accountStatus": "Active",
+ "permissions": "Full",
+ "accountId": "17829fa81c154239ad8a6fae05f44793",
+ "wacInternalState": "Active",
+ "accountType": "Standard_LRS",
+ "creationTime": "2018-01-17T02:10:15.38"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/ReclaimStorageCapacity.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/ReclaimStorageCapacity.json
new file mode 100644
index 000000000000..5cf745510f13
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/ReclaimStorageCapacity.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/Undelete.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/Undelete.json
new file mode 100644
index 000000000000..c4a30491f691
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/Undelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "accountId": "f93c9df9e7af487fbda484a9201d9c18",
+ "api-version": "2019-08-08-preview",
+ "summary": "false"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accountId": "80d458ce4ecd47888b54aaa277800748"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/quotas.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/quotas.json
new file mode 100644
index 000000000000..7155df97cde7
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/quotas.json
@@ -0,0 +1,268 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-08-08-preview",
+ "title": "StorageManagementClient",
+ "description": "The Admin Storage Management Client."
+ },
+ "host": "adminmanagement.local.azurestack.external",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas/{quotaName}": {
+ "put": {
+ "x-ms-examples": {
+ "Create or update an existing storage quota.": {
+ "$ref": "./examples/Quotas/CreateOrUpdate.json"
+ }
+ },
+ "tags": [
+ "StorageQuotas"
+ ],
+ "description": "Create or update an existing storage quota.",
+ "operationId": "StorageQuotas_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "storage.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/QuotaNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageQuotaParameters"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The storage quota has been created or updated.",
+ "schema": {
+ "$ref": "#/definitions/StorageQuota"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "storage.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete an existing storage quota.": {
+ "$ref": "./examples/Quotas/Delete.json"
+ }
+ },
+ "tags": [
+ "StorageQuotas"
+ ],
+ "description": "Delete an existing quota",
+ "operationId": "StorageQuotas_Delete",
+ "parameters": [
+ {
+ "$ref": "storage.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/QuotaNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The storage quota has been deleted."
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "storage.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "x-ms-examples": {
+ "Returns the specified storage quota.": {
+ "$ref": "./examples/Quotas/Get.json"
+ }
+ },
+ "tags": [
+ "StorageQuotas"
+ ],
+ "description": "Returns the specified storage quota.",
+ "operationId": "StorageQuotas_Get",
+ "parameters": [
+ {
+ "$ref": "storage.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/QuotaNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The storage quota has been returned.",
+ "schema": {
+ "$ref": "#/definitions/StorageQuota"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "storage.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of storage quotas at the given location.": {
+ "$ref": "./examples/Quotas/List.json"
+ }
+ },
+ "tags": [
+ "StorageQuotas"
+ ],
+ "description": "Returns a list of storage quotas at the given location.",
+ "operationId": "StorageQuotas_List",
+ "parameters": [
+ {
+ "$ref": "storage.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The list of storage quotas has been returned.",
+ "schema": {
+ "$ref": "#/definitions/StorageQuotaList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "storage.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "StorageQuota": {
+ "description": "Storage quota.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Storage quota properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/StorageQuotaProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "storage.json#/definitions/Resource"
+ }
+ ]
+ },
+ "StorageQuotaProperties": {
+ "description": "Storage quota properties.",
+ "type": "object",
+ "properties": {
+ "numberOfStorageAccounts": {
+ "description": "Total number of storage accounts.",
+ "type": "integer",
+ "format": "int32",
+ "default": 20
+ },
+ "capacityInGb": {
+ "description": "Maximum capacity (GB).",
+ "type": "integer",
+ "format": "int32",
+ "default": 500
+ }
+ }
+ },
+ "StorageQuotaList": {
+ "description": "Pageable list of storage quotas.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of storage quotas.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageQuota"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "QuotaNameParameter": {
+ "description": "The name of the storage quota.",
+ "name": "quotaName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "StorageQuotaParameters": {
+ "description": "The properties of quota being created or updated.",
+ "name": "quotaObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageQuota"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/settings.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/settings.json
new file mode 100644
index 000000000000..3f9431507cc3
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/settings.json
@@ -0,0 +1,154 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-08-08-preview",
+ "title": "StorageManagementClient",
+ "description": "The Admin Storage Management Client."
+ },
+ "host": "adminmanagement.local.azurestack.external",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/settings": {
+ "put": {
+ "x-ms-examples": {
+ "Update srp settings.": {
+ "$ref": "./examples/Settings/Update.json"
+ }
+ },
+ "tags": [
+ "Settings"
+ ],
+ "description": "Update storage resource provider settings.",
+ "operationId": "StorageSettings_Update",
+ "parameters": [
+ {
+ "$ref": "storage.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "Parameters used to update storage resource provider settings",
+ "name": "settingsObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Settings"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The new storage resource provider setting is updated.",
+ "schema": {
+ "$ref": "#/definitions/Settings"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "storage.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "x-ms-examples": {
+ "Returns the storage resource provider settings.": {
+ "$ref": "./examples/Settings/Get.json"
+ }
+ },
+ "tags": [
+ "Settings"
+ ],
+ "description": "Returns the storage resource provider settings.",
+ "operationId": "StorageSettings_Get",
+ "parameters": [
+ {
+ "$ref": "storage.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The settings has been returned.",
+ "schema": {
+ "$ref": "#/definitions/Settings"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "storage.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SettingProperties": {
+ "description": "Properties of storage setting.",
+ "type": "object",
+ "properties": {
+ "retentionPeriodForDeletedStorageAccountsInDays": {
+ "description": "The number of days a deleted storage account is kept before being permanently deleted.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "Settings": {
+ "description": "Storage resource provider settings",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of the storage account.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SettingProperties",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "storage.json#/definitions/Resource"
+ }
+ ]
+ }
+ },
+ "parameters": {},
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storage.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storage.json
new file mode 100644
index 000000000000..00f6b00027b6
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storage.json
@@ -0,0 +1,205 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-08-08-preview",
+ "title": "StorageManagementClient",
+ "description": "The Admin Storage Management Client."
+ },
+ "host": "adminmanagement.local.azurestack.external",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.Storage.Admin/operations": {
+ "get": {
+ "x-ms-examples": {
+ "Get the list of support rest operations.": {
+ "$ref": "./examples/Operations/List.json"
+ }
+ },
+ "description": "Get the list of support rest operations.",
+ "tags": [
+ "Commerce"
+ ],
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The list of operations has been returned.",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Operation": {
+ "description": "Describes the supported REST operation.",
+ "properties": {
+ "name": {
+ "description": "The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service.",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "description": "Contains the localized display information for this particular operation / action.",
+ "$ref": "#/definitions/Display",
+ "readOnly": true
+ }
+ }
+ },
+ "Display": {
+ "description": "Contains the localized display information for this particular operation / action.",
+ "properties": {
+ "provider": {
+ "description": "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",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The localized friendly form of the resource type related to this action/operation – it should match the public documentation for the resource provider.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The localized friendly name for the operation, as it should be shown to the user.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "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.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationList": {
+ "description": "Pageable list of supported operations.",
+ "properties": {
+ "value": {
+ "description": "List of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "The error response for request which failed.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error description code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error description message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "The error target description.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "The error details information.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Resource": {
+ "description": "Base resource object.",
+ "type": "object",
+ "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",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "description": "REST Api Version.",
+ "name": "api-version",
+ "type": "string",
+ "in": "query",
+ "required": true
+ },
+ "LocationParameter": {
+ "description": "Resource location.",
+ "name": "location",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionIdParameter": {
+ "description": "Subscription Id.",
+ "name": "subscriptionId",
+ "type": "string",
+ "in": "path",
+ "required": true
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json
new file mode 100644
index 000000000000..ddebe4a38cbd
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json
@@ -0,0 +1,569 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-08-08-preview",
+ "title": "StorageManagementClient",
+ "description": "The Admin Storage Management Client."
+ },
+ "host": "adminmanagement.local.azurestack.external",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageaccounts": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of storage accounts.": {
+ "$ref": "./examples/StorageAccounts/List.json"
+ }
+ },
+ "tags": [
+ "StorageAccounts"
+ ],
+ "operationId": "StorageAccounts_List",
+ "description": "Returns a list of storage accounts.",
+ "parameters": [
+ {
+ "$ref": "storage.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/SummaryParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The list of storage accounts has been returned.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "storage.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "@odata.nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageaccounts/{accountId}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the requested storage account.": {
+ "$ref": "./examples/StorageAccounts/Get.json"
+ }
+ },
+ "tags": [
+ "StorageAccounts"
+ ],
+ "operationId": "StorageAccounts_Get",
+ "description": "Returns the requested storage account.",
+ "parameters": [
+ {
+ "$ref": "storage.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountIdParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The storage account has been returned.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "storage.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageaccounts/{accountId}/undelete": {
+ "post": {
+ "x-ms-examples": {
+ "Undelete a deleted storage account.": {
+ "$ref": "./examples/StorageAccounts/Undelete.json"
+ }
+ },
+ "tags": [
+ "StorageAccounts"
+ ],
+ "operationId": "StorageAccounts_Undelete",
+ "description": "Undelete a deleted storage account with new account name if the a new name is provided.",
+ "parameters": [
+ {
+ "$ref": "storage.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountIdParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/NewAccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Undelete either has been performed or account was not deleted.",
+ "schema": {
+ "$ref": "#/definitions/UndeleteStorageAccount"
+ }
+ },
+ "202": {
+ "description": "Accepted -- undelete operation trigged; operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "storage.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/reclaimStorageCapacity": {
+ "post": {
+ "x-ms-examples": {
+ "Start reclaim storage capacity on deleted storage objects.": {
+ "$ref": "./examples/StorageAccounts/ReclaimStorageCapacity.json"
+ }
+ },
+ "tags": [
+ "StorageAccounts"
+ ],
+ "operationId": "StorageAccounts_ReclaimStorageCapacity",
+ "description": "Start reclaim storage capacity on deleted storage objects.",
+ "parameters": [
+ {
+ "$ref": "storage.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "storage.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Reclaim storage capacity has completed."
+ },
+ "202": {
+ "description": "Accepted -- reclaim storage capacity operation triggered; operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "storage.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "StorageAccountState": {
+ "readOnly": true,
+ "description": "Storage account state.",
+ "type": "string",
+ "enum": [
+ "Creating",
+ "Succeeded",
+ "Suspended"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAccountState",
+ "modelAsString": true
+ }
+ },
+ "StorageAccountType": {
+ "description": "Storage account type.",
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Standard_RAGRS",
+ "Premium_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAccountType",
+ "modelAsString": true
+ }
+ },
+ "LocationStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the status indicating whether the primary location of the storage account is available or unavailable.",
+ "enum": [
+ "Available",
+ "Unavailable"
+ ],
+ "x-ms-enum": {
+ "name": "LocationStatus",
+ "modelAsString": true
+ }
+ },
+ "StorageAccountStatus": {
+ "description": "The state of storage account in WAC.",
+ "type": "string",
+ "enum": [
+ "Active",
+ "Deleted"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAccountStatus",
+ "modelAsString": true
+ }
+ },
+ "WacAccountPermissions": {
+ "description": "Current operation being performed on Storage Account",
+ "type": "string",
+ "enum": [
+ "Empty",
+ "None",
+ "Read",
+ "Delete",
+ "Write",
+ "Full"
+ ],
+ "x-ms-enum": {
+ "name": "WacAccountPermissions",
+ "modelAsString": true
+ }
+ },
+ "WacAccountStates": {
+ "description": "Current operation being performed on Storage Account",
+ "type": "string",
+ "enum": [
+ "None",
+ "Active",
+ "Deleted",
+ "AboveQuota",
+ "Suspended",
+ "All",
+ "GcReadyState"
+ ],
+ "x-ms-enum": {
+ "name": "WacAccountStates",
+ "modelAsString": true
+ }
+ },
+ "StorageEncryptionSetting": {
+ "description": "Storage Encryption setting",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "description": "Bool to indicate whether enabled or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "lastEnabledTime": {
+ "description": "A rough estimate of the date/time when the encryption was last enabled by the user.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageEncryptionServices": {
+ "description": "Services for which encryption setting is mentioned.",
+ "type": "object",
+ "properties": {
+ "blob": {
+ "description": "Blob service.",
+ "$ref": "#/definitions/StorageEncryptionSetting",
+ "readOnly": true
+ },
+ "table": {
+ "description": "Table service.",
+ "$ref": "#/definitions/StorageEncryptionSetting",
+ "readOnly": true
+ },
+ "queue": {
+ "description": "Queue service",
+ "$ref": "#/definitions/StorageEncryptionSetting",
+ "readOnly": true
+ }
+ }
+ },
+ "EncryptionKeySource": {
+ "description": "Encryption Key Source",
+ "type": "string",
+ "enum": [
+ "Microsoft.Storage"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionKeySource",
+ "modelAsString": true
+ }
+ },
+ "StorageEncryption": {
+ "description": "Storage encryption setting",
+ "type": "object",
+ "properties": {
+ "services": {
+ "description": "Services for which encryption setting is mentioned",
+ "$ref": "#/definitions/StorageEncryptionServices",
+ "readOnly": true
+ },
+ "keySource": {
+ "description": "Encryption keySource",
+ "$ref": "#/definitions/EncryptionKeySource",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountProperties": {
+ "description": "Properties of a storage account.",
+ "type": "object",
+ "properties": {
+ "tenantViewId": {
+ "description": "Resource URI of storage account from tenant view.",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountType": {
+ "description": "Storage account type.",
+ "$ref": "#/definitions/StorageAccountType",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state of storage account.",
+ "$ref": "#/definitions/StorageAccountState",
+ "readOnly": true
+ },
+ "primaryEndpoints": {
+ "description": "The URLs that are used to perform a retrieval of a public BLOB, queue, or table object.",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "creationTime": {
+ "description": "The creation date and time of storage account in UTC.",
+ "type": "string",
+ "readOnly": true
+ },
+ "alternateName": {
+ "description": "Alternative storage account name being used during undelete operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "primaryLocation": {
+ "description": "The primary location for the storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "faultDomain": {
+ "description": "The fault domain for the storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statusOfPrimary": {
+ "description": "The status of primary location of storage account.",
+ "$ref": "#/definitions/LocationStatus",
+ "readOnly": true
+ },
+ "tenantSubscriptionId": {
+ "description": "Subscription ID of the subscription under which the storage account locates.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantStorageAccountName": {
+ "description": "Storage account name from tenant view.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantResourceGroupName": {
+ "description": "The name of resource group under which the storage account locates.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deletedTime": {
+ "description": "The date-time when the storage account was deleted.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "accountStatus": {
+ "$ref": "#/definitions/StorageAccountStatus",
+ "description": "The status of storage account."
+ },
+ "permissions": {
+ "description": "The permissions on the storage account.",
+ "$ref": "#/definitions/WacAccountPermissions",
+ "readOnly": true
+ },
+ "accountId": {
+ "description": "Internal storage account ID, which is not visible to tenant.",
+ "type": "string",
+ "readOnly": true
+ },
+ "wacInternalState": {
+ "description": "The internal state of storage account in WAC.",
+ "$ref": "#/definitions/WacAccountStates",
+ "readOnly": true
+ },
+ "encryption": {
+ "description": "The storage encryption setting",
+ "$ref": "#/definitions/StorageEncryption",
+ "readOnly": true
+ },
+ "supportsHttpsTrafficOnly": {
+ "description": "Storage account supports https traffic only or not",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccount": {
+ "description": "Properties of the storage account.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of the storage account.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/StorageAccountProperties",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "storage.json#/definitions/Resource"
+ }
+ ]
+ },
+ "StorageAccountList": {
+ "description": "Pageable list of storage accounts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of storage accounts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccount"
+ },
+ "readOnly": true
+ },
+ "@odata.nextLink": {
+ "description": "URI to the next page.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UndeleteStorageAccount": {
+ "description": "Undelete storage account information.",
+ "type": "object",
+ "properties": {
+ "accountId": {
+ "description": "The internal wac id for storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "newAccountName": {
+ "description": "The new account name for the restored account if defined.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "AccountIdParameter": {
+ "description": "Internal storage account ID, which is not visible to tenant.",
+ "name": "accountId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "NewAccountNameParameter": {
+ "description": "New storage account name when doing undelete storage account operation.",
+ "name": "newAccountName",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SummaryParameter": {
+ "description": "Switch for whether summary or detailed information is returned.",
+ "name": "summary",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "x-ms-parameter-location": "method"
+ },
+ "FilterParameter": {
+ "description": "Filter string",
+ "name": "$filter",
+ "type": "string",
+ "in": "query",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/storage/readme.md b/specification/azsadmin/resource-manager/storage/readme.md
index 41e4e0d1831e..ea224b5519a0 100644
--- a/specification/azsadmin/resource-manager/storage/readme.md
+++ b/specification/azsadmin/resource-manager/storage/readme.md
@@ -24,24 +24,36 @@ These are the global settings for the Storage API.
title: StorageAdminClient
description: Storage Admin Client
openapi-type: arm
-tag: package-2015-12-01
+tag: package-2019-08-08
```
+### Tag: package-2019-08-08
+
+These settings apply only when `--tag=package-2019-08-08` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-08-08'
+input-file:
+ - "Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json"
+ - "Microsoft.Storage.Admin/preview/2019-08-08/quotas.json"
+ - "Microsoft.Storage.Admin/preview/2019-08-08/settings.json"
+ - "Microsoft.Storage.Admin/preview/2019-08-08/storage.json"
+ - "Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json"
+```
### Tag: package-2015-12-01
These settings apply only when `--tag=package-2015-12-01` is specified on the command line.
``` yaml $(tag) == 'package-2015-12-01'
input-file:
+ - "Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json"
+ - "Microsoft.Storage.Admin/preview/2015-12-01/quotas.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"
```
@@ -75,15 +87,20 @@ require: $(this-folder)/../../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json
+ - $(this-folder)/Microsoft.Storage.Admin/preview/2019-08-08/quotas.json
+ - $(this-folder)/Microsoft.Storage.Admin/preview/2019-08-08/settings.json
+ - $(this-folder)/Microsoft.Storage.Admin/preview/2019-08-08/storage.json
+ - $(this-folder)/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json
+ - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json
+ - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json
- $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/storage.json
- $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json
- $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json
- $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/containers.json
- $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/farms.json
- $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json
- - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json
- $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/shares.json
- - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json
- $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json
```
diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Updates.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Updates.json
index de18b01300b7..b1416f114472 100644
--- a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Updates.json
+++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Updates.json
@@ -161,11 +161,6 @@
"UpdateModel": {
"description": "Properties of an update.",
"properties": {
- "dateAvailable": {
- "description": "Date uploaded by provider.",
- "type": "string",
- "format": "date-time"
- },
"installedDate": {
"description": "Date update was installed.",
"type": "string",
@@ -187,6 +182,10 @@
"description": "The minimum version required to install.",
"type": "string"
},
+ "minOemVersionRequired": {
+ "description": "The minimum OEM version required to install.",
+ "type": "string"
+ },
"packagePath": {
"description": "Path to the update package.",
"type": "string"
@@ -196,7 +195,7 @@
"type": "integer",
"format": "int64"
},
- "updateName": {
+ "displayName": {
"description": "Name of the update.",
"type": "string"
},
@@ -204,17 +203,13 @@
"description": "Version of the update.",
"type": "string"
},
- "updateOemFile": {
+ "oemVersion": {
"description": "OEM version of the update.",
"type": "string"
},
"publisher": {
"description": "Publisher of the update.",
"type": "string"
- },
- "packageType": {
- "description": "Describes the components that will be updated.",
- "$ref": "#/definitions/PackageType"
}
}
},
@@ -235,19 +230,6 @@
}
}
},
- "PackageType": {
- "description": "Describes the components that will be updated.",
- "type": "string",
- "enum": [
- "Microsoft",
- "Oem",
- "Combined"
- ],
- "x-ms-enum": {
- "name": "PackageType",
- "modelAsString": true
- }
- },
"UpdateState": {
"description": "State of the update.",
"type": "string",
@@ -256,9 +238,11 @@
"Obsolete",
"Ready",
"NotApplicableBecauseAnotherUpdateIsInProgress",
+ "Preparing",
+ "Installing",
"Installed",
- "Failed",
- "Installing"
+ "PreparationFailed",
+ "InstallationFailed"
],
"x-ms-enum": {
"name": "UpdateState",
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-05-15/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-05-15/kusto.json
index c434f1c489ae..12b407ce17a5 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-05-15/kusto.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-05-15/kusto.json
@@ -1861,7 +1861,8 @@
"TXT",
"RAW",
"SINGLEJSON",
- "AVRO"
+ "AVRO",
+ "TSVE"
],
"x-ms-enum": {
"name": "dataFormat",
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json
new file mode 100644
index 000000000000..49de9e792552
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2019-09-07",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Creating"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoAttachedDatabaseConfigurationsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoAttachedDatabaseConfigurationsDelete.json
new file mode 100644
index 000000000000..400b12502378
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoAttachedDatabaseConfigurationsDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2019-09-07"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoAttachedDatabaseConfigurationsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoAttachedDatabaseConfigurationsGet.json
new file mode 100644
index 000000000000..5432a39f9b9e
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoAttachedDatabaseConfigurationsGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2019-09-07"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "databaseName": "*",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoAttachedDatabaseConfigurationsListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoAttachedDatabaseConfigurationsListByCluster.json
new file mode 100644
index 000000000000..36478484dcf8
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoAttachedDatabaseConfigurationsListByCluster.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-09-07"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/KustoDatabase9",
+ "name": "KustoClusterRPTest4/KustoDatabase9",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClusterDetachFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClusterDetachFollowerDatabases.json
new file mode 100644
index 000000000000..967872edc3f8
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClusterDetachFollowerDatabases.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-09-07",
+ "followerDatabaseToRemove": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/leader4",
+ "attachedDatabaseConfigurationName": "myAttachedDatabaseConfiguration"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClusterListFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClusterListFollowerDatabases.json
new file mode 100644
index 000000000000..79f822e8beb5
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClusterListFollowerDatabases.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-09-07"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "attachedDatabaseConfigurationName": "attachedDbConfiguration",
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower1",
+ "databaseName": "*"
+ },
+ {
+ "attachedDatabaseConfigurationName": "attachedDbConfiguration2",
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower4",
+ "databaseName": "db1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersCheckNameAvailability.json
new file mode 100644
index 000000000000..c64d48add089
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersCheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2019-09-07",
+ "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"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersCreateOrUpdate.json
new file mode 100644
index 000000000000..d0c42334f23f
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersCreateOrUpdate.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-09-07",
+ "parameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ }
+ }
+ },
+ "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",
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ },
+ "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",
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersDelete.json
new file mode 100644
index 000000000000..8fd6068251fc
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-09-07"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersGet.json
new file mode 100644
index 000000000000..941bcbc9343c
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-09-07"
+ },
+ "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",
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersList.json
new file mode 100644
index 000000000000..8fce6da77539
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2019-09-07"
+ },
+ "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",
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "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": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersListByResourceGroup.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersListByResourceGroup.json
new file mode 100644
index 000000000000..abb21ea6abe2
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersListByResourceGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "api-version": "2019-09-07"
+ },
+ "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",
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "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": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersListResourceSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersListResourceSkus.json
new file mode 100644
index 000000000000..88b50ae8ed9b
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersListResourceSkus.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-09-07"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_D13_v2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_L8s",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_L16s",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersListSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersListSkus.json
new file mode 100644
index 000000000000..648f24d675c1
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersListSkus.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "api-version": "2019-09-07"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Standard_D13_v2",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ },
+ {
+ "name": "Standard_D14_v2",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ },
+ {
+ "name": "L8",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ },
+ {
+ "name": "L16",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersStart.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersStart.json
new file mode 100644
index 000000000000..58f0c8516d02
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-09-07"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersStop.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersStop.json
new file mode 100644
index 000000000000..58f0c8516d02
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-09-07"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersUpdate.json
new file mode 100644
index 000000000000..4f1cee479323
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoClustersUpdate.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-09-07",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "enableStreamingIngest": true
+ }
+ },
+ "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",
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ },
+ "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",
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ },
+ "202": {
+ "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",
+ "enableStreamingIngest": true
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionValidation.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionValidation.json
new file mode 100644
index 000000000000..da7602a69d04
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionValidation.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-09-07",
+ "parameters": {
+ "dataConnectionName": "DataConnections8",
+ "properties": {
+ "kind": "EventHub",
+ "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-09-07/examples/KustoDataConnectionsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsCheckNameAvailability.json
new file mode 100644
index 000000000000..d4b0b5eae315
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsCheckNameAvailability.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-09-07",
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoProd",
+ "databaseName": "KustoDatabase8",
+ "dataConnectionName": {
+ "name": "DataConnections8",
+ "type": "Microsoft.Kusto/clusters/databases/dataConnections"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "DataConnections8",
+ "nameAvailable": false,
+ "message": "Name 'DataConnections8' is already taken. Please specify a different name.",
+ "reason": "AlreadyExists"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsCreateOrUpdate.json
new file mode 100644
index 000000000000..f3a70a553927
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsCreateOrUpdate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-09-07",
+ "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": {
+ "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"
+ }
+ }
+ },
+ "202": {
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsDelete.json
new file mode 100644
index 000000000000..ab2eb13fc30c
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-09-07",
+ "dataConnectionName": "kustoeventhubconnection1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsGet.json
new file mode 100644
index 000000000000..96e962a0c452
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-09-07",
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsListByDatabase.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsListByDatabase.json
new file mode 100644
index 000000000000..a1481c70fb06
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsListByDatabase.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-09-07"
+ },
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsUpdate.json
new file mode 100644
index 000000000000..f3a70a553927
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDataConnectionsUpdate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-09-07",
+ "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": {
+ "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"
+ }
+ }
+ },
+ "202": {
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabaseAddPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabaseAddPrincipals.json
new file mode 100644
index 000000000000..ba65191f9549
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabaseAddPrincipals.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "databaseName1",
+ "api-version": "2019-09-07",
+ "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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabaseListPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabaseListPrincipals.json
new file mode 100644
index 000000000000..a6596526bfb9
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabaseListPrincipals.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "databaseName1",
+ "api-version": "2019-09-07"
+ },
+ "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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabaseRemovePrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabaseRemovePrincipals.json
new file mode 100644
index 000000000000..d064ad0ef9bf
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabaseRemovePrincipals.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "databaseName1",
+ "api-version": "2019-09-07",
+ "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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesCheckNameAvailability.json
new file mode 100644
index 000000000000..f94bc182f00e
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesCheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2019-09-07",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoProd",
+ "resourceName": {
+ "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"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesCreateOrUpdate.json
new file mode 100644
index 000000000000..d9948fcd4033
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesCreateOrUpdate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-09-07",
+ "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",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "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",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "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",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesDelete.json
new file mode 100644
index 000000000000..341bc574e34d
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-09-07"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesGet.json
new file mode 100644
index 000000000000..75a3e4893f51
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-09-07"
+ },
+ "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",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesListByCluster.json
new file mode 100644
index 000000000000..983c6d59f0d5
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesListByCluster.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-09-07"
+ },
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesUpdate.json
new file mode 100644
index 000000000000..188553fee39c
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoDatabasesUpdate.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-09-07",
+ "parameters": {
+ "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",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "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",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "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",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoOperationsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoOperationsList.json
new file mode 100644
index 000000000000..3191af752085
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/examples/KustoOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-09-07"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "operationName",
+ "display": {
+ "provider": "providerName",
+ "resource": "resourceName",
+ "operation": "operationName",
+ "description": "operation description"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/kusto.json
new file mode 100644
index 000000000000..d6b35f06ee7e
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/kusto.json
@@ -0,0 +1,3130 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "KustoManagementClient",
+ "version": "2019-09-07"
+ },
+ "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"
+ }
+ },
+ "202": {
+ "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/{clusterName}/listFollowerDatabases": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Returns a list of databases that are owned by this cluster and were followed by another cluster.",
+ "operationId": "Clusters_ListFollowerDatabases",
+ "x-ms-examples": {
+ "KustoClusterListFollowerDatabases": {
+ "$ref": "./examples/KustoClusterListFollowerDatabases.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of followed databases.",
+ "schema": {
+ "$ref": "#/definitions/FollowerDatabaseListResult"
+ }
+ },
+ "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}/detachFollowerDatabases": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Detaches all followers of a database owned by this cluster.",
+ "operationId": "Clusters_DetachFollowerDatabases",
+ "x-ms-examples": {
+ "KustoClusterDetachFollowerDatabases": {
+ "$ref": "./examples/KustoClusterDetachFollowerDatabases.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "followerDatabaseToRemove",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FollowerDatabaseDefinition"
+ },
+ "description": "The follower databases properties to remove."
+ }
+ ],
+ "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/SkuDescriptionList"
+ }
+ },
+ "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": "resourceName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameRequest"
+ },
+ "description": "The name of the resource."
+ }
+ ],
+ "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.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "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/Database"
+ },
+ "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.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "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}/attachedDatabaseConfigurations": {
+ "get": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Returns the list of attached database configurations of the given Kusto cluster.",
+ "operationId": "AttachedDatabaseConfigurations_ListByCluster",
+ "x-ms-examples": {
+ "KustoAttachedDatabaseConfigurationsListByCluster": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsListByCluster.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of attached database configurations.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfigurationListResult"
+ }
+ },
+ "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}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}": {
+ "get": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Returns an attached database configuration.",
+ "operationId": "AttachedDatabaseConfigurations_Get",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsGet": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified attached database configuration.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Creates or updates an attached database configuration.",
+ "operationId": "AttachedDatabaseConfigurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsCreateOrUpdate": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ },
+ "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/AttachedDatabaseConfiguration"
+ }
+ },
+ "201": {
+ "description": "Successfully created the database.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "202": {
+ "description": "Accepted the create database request.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Deletes the attached database configuration with the given name.",
+ "operationId": "AttachedDatabaseConfigurations_Delete",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsDelete": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "$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}/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}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "DataConnections"
+ ],
+ "operationId": "DataConnections_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoDataConnectionsCheckNameAvailability": {
+ "$ref": "./examples/KustoDataConnectionsCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the data connection name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "dataConnectionName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnectionCheckNameRequest"
+ },
+ "description": "The name of the data connection."
+ }
+ ],
+ "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}/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.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "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.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "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",
+ "Moving"
+ ],
+ "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."
+ },
+ "optimizedAutoscale": {
+ "type": "object",
+ "$ref": "#/definitions/OptimizedAutoscale",
+ "description": "Optimized auto scale definition."
+ },
+ "enableDiskEncryption": {
+ "description": "A boolean value that indicates if the cluster's disks are encrypted.",
+ "type": "boolean"
+ },
+ "enableStreamingIngest": {
+ "description": "A boolean value that indicates if the streaming ingest is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "virtualNetworkConfiguration": {
+ "type": "object",
+ "$ref": "#/definitions/VirtualNetworkConfiguration",
+ "description": "Virtual network definition."
+ },
+ "keyVaultProperties": {
+ "type": "object",
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "KeyVault properties for the cluster encryption."
+ }
+ },
+ "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 number of instances of the cluster."
+ }
+ },
+ "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."
+ },
+ "SkuDescriptionList": {
+ "description": "The list of the EngagementFabric SKU descriptions",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "SKU descriptions",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuDescription"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuDescription": {
+ "description": "The Kusto SKU description of given resource type",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The resource type",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the SKU",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The tier of the SKU",
+ "type": "string",
+ "readOnly": true
+ },
+ "locations": {
+ "description": "The set of locations that the SKU is available",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "Locations and zones",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfoItem"
+ },
+ "readOnly": true
+ },
+ "restrictions": {
+ "description": "The restrictions because of which SKU cannot be used",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuLocationInfoItem": {
+ "description": "The locations and zones info for SKU.",
+ "type": "object",
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "location": {
+ "description": "The available location of the SKU.",
+ "type": "string"
+ },
+ "zones": {
+ "description": "The available zone of the SKU.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureSku": {
+ "type": "object",
+ "required": [
+ "name",
+ "tier"
+ ],
+ "properties": {
+ "name": {
+ "description": "SKU name.",
+ "type": "string",
+ "enum": [
+ "Standard_DS13_v2+1TB_PS",
+ "Standard_DS13_v2+2TB_PS",
+ "Standard_DS14_v2+3TB_PS",
+ "Standard_DS14_v2+4TB_PS",
+ "Standard_D13_v2",
+ "Standard_D14_v2",
+ "Standard_L8s",
+ "Standard_L16s",
+ "Standard_D11_v2",
+ "Standard_D12_v2",
+ "Standard_L4s",
+ "Dev(No SLA)_Standard_D11_v2"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuName",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "description": "The number of instances of the cluster.",
+ "type": "integer"
+ },
+ "tier": {
+ "description": "SKU tier.",
+ "type": "string",
+ "enum": [
+ "Basic",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Azure SKU definition."
+ },
+ "Zones": {
+ "description": "An array represents the availability zones of the cluster.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "OptimizedAutoscale": {
+ "type": "object",
+ "required": [
+ "version",
+ "isEnabled",
+ "minimum",
+ "maximum"
+ ],
+ "properties": {
+ "version": {
+ "description": "The version of the template defined, for instance 1.",
+ "type": "integer"
+ },
+ "isEnabled": {
+ "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not.",
+ "type": "boolean"
+ },
+ "minimum": {
+ "description": "Minimum allowed instances count.",
+ "type": "integer"
+ },
+ "maximum": {
+ "description": "Maximum allowed instances count.",
+ "type": "integer"
+ }
+ },
+ "description": "A class that contains the optimized auto scale definition."
+ },
+ "VirtualNetworkConfiguration": {
+ "type": "object",
+ "required": [
+ "subnetId",
+ "enginePublicIpId",
+ "dataManagementPublicIpId"
+ ],
+ "properties": {
+ "subnetId": {
+ "description": "The subnet resource id.",
+ "type": "string"
+ },
+ "enginePublicIpId": {
+ "description": "Engine service's public IP address resource id.",
+ "type": "string"
+ },
+ "dataManagementPublicIpId": {
+ "description": "Data management's service public IP address resource id.",
+ "type": "string"
+ }
+ },
+ "description": "A class that contains virtual network 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."
+ },
+ "AttachedDatabaseConfigurationProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases."
+ },
+ "clusterResourceId": {
+ "type": "string",
+ "description": "The resource id of the cluster where the databases you would like to attach reside."
+ },
+ "attachedDatabaseNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "The list of databases from the clusterResourceId which are currently attached to the cluster."
+ },
+ "defaultPrincipalsModificationKind": {
+ "type": "string",
+ "enum": [
+ "Union",
+ "Replace",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultPrincipalsModificationKind",
+ "modelAsString": true
+ },
+ "description": "The default principals modification kind"
+ }
+ },
+ "description": "Class representing the an attached database configuration properties of kind specific.",
+ "required": [
+ "databaseName",
+ "clusterResourceId",
+ "defaultPrincipalsModificationKind"
+ ]
+ },
+ "ReadWriteDatabaseProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "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 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."
+ },
+ "ReadOnlyFollowingDatabaseProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "softDeletePeriod": {
+ "type": "string",
+ "readOnly": true,
+ "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 should be kept in cache for fast queries in TimeSpan."
+ },
+ "statistics": {
+ "$ref": "#/definitions/DatabaseStatistics",
+ "description": "The statistics of the database."
+ },
+ "leaderClusterResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the leader cluster"
+ },
+ "attachedDatabaseConfigurationName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the attached database configuration cluster"
+ },
+ "principalsModificationKind": {
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Union",
+ "Replace",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalsModificationKind",
+ "modelAsString": true
+ },
+ "description": "The principals modification kind 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."
+ },
+ "eventSystemProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "System properties of the event hub"
+ }
+ },
+ "required": [
+ "eventHubResourceId",
+ "consumerGroup"
+ ],
+ "description": "Class representing the Kusto event hub connection properties."
+ },
+ "IotHubConnectionProperties": {
+ "properties": {
+ "iotHubResourceId": {
+ "type": "string",
+ "description": "The resource ID of the Iot hub to be used to create a data connection."
+ },
+ "consumerGroup": {
+ "type": "string",
+ "description": "The iot 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."
+ },
+ "eventSystemProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "System properties of the iot hub"
+ },
+ "sharedAccessPolicyName": {
+ "type": "string",
+ "description": "The name of the share access policy name"
+ }
+ },
+ "required": [
+ "iotHubResourceId",
+ "consumerGroup",
+ "sharedAccessPolicyName"
+ ],
+ "description": "Class representing the Kusto iot 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",
+ "TSVE"
+ ],
+ "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."
+ },
+ "zones": {
+ "$ref": "#/definitions/Zones",
+ "description": "The availability zones of the cluster."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the cluster, if configured."
+ },
+ "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."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the cluster, if configured."
+ },
+ "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."
+ },
+ "AttachedDatabaseConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ },
+ "description": "The list of attached database configurations."
+ }
+ },
+ "description": "The list attached database configurations operation response."
+ },
+ "AttachedDatabaseConfiguration": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the attached database configuration.",
+ "$ref": "#/definitions/AttachedDatabaseConfigurationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing an attached database configuration."
+ },
+ "Database": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "kind": {
+ "description": "Kind of the database",
+ "enum": [
+ "ReadWrite",
+ "ReadOnlyFollowing"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Kind",
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a Kusto database.",
+ "discriminator": "kind"
+ },
+ "ReadWriteDatabase": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The database properties.",
+ "$ref": "#/definitions/ReadWriteDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Database"
+ }
+ ],
+ "description": "Class representing a read write database.",
+ "x-ms-discriminator-value": "ReadWrite"
+ },
+ "ReadOnlyFollowingDatabase": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The database properties.",
+ "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Database"
+ }
+ ],
+ "description": "Class representing a read only following database.",
+ "x-ms-discriminator-value": "ReadOnlyFollowing"
+ },
+ "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"
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ }
+ },
+ "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."
+ },
+ "FollowerDatabaseListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FollowerDatabaseDefinition"
+ },
+ "description": "The list of follower database result."
+ }
+ },
+ "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",
+ "IotHub"
+ ],
+ "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."
+ },
+ "FollowerDatabaseDefinition": {
+ "type": "object",
+ "required": [
+ "clusterResourceId",
+ "attachedDatabaseConfigurationName"
+ ],
+ "properties": {
+ "clusterResourceId": {
+ "type": "string",
+ "description": "Resource id of the cluster that follows a database owned by this cluster."
+ },
+ "attachedDatabaseConfigurationName": {
+ "type": "string",
+ "description": "Resource name of the attached database configuration in the follower cluster."
+ },
+ "databaseName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The database name owned by this cluster that was followed. * in case following all databases."
+ }
+ },
+ "description": "A class representing follower database 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"
+ },
+ "IotHubDataConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The Iot Hub data connection properties.",
+ "$ref": "#/definitions/IotHubConnectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnection"
+ }
+ ],
+ "description": "Class representing an iot hub data connection.",
+ "x-ms-discriminator-value": "IotHub"
+ },
+ "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."
+ },
+ "CheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases",
+ "Microsoft.Kusto/clusters/attachedDatabaseConfigurations"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, for instance Microsoft.Kusto/clusters/databases."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The result returned from a database check name availability request."
+ },
+ "DataConnectionCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Data Connection name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases/dataConnections"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters/databases/dataConnections."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The result returned from a data connections 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."
+ },
+ "reason": {
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "reason",
+ "modelAsString": true
+ },
+ "description": "Message providing the reason why the given name is invalid."
+ }
+ },
+ "description": "The result returned from a check name availability request."
+ },
+ "ListResourceSkusResult": {
+ "description": "List of available SKUs for a Kusto Cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureResourceSku"
+ },
+ "description": "The collection of available SKUs for an existing resource."
+ }
+ }
+ },
+ "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
+ }
+ }
+ },
+ "Identity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": [
+ "None",
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "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 the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "description": "Identity for the resource."
+ },
+ "KeyVaultProperties": {
+ "description": "Properties of the key vault.",
+ "required": [
+ "keyName",
+ "keyVersion",
+ "keyVaultUri"
+ ],
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "The name of the key vault key.",
+ "x-ms-client-name": "KeyName"
+ },
+ "keyVersion": {
+ "type": "string",
+ "description": "The version of the key vault key.",
+ "x-ms-client-name": "KeyVersion"
+ },
+ "keyVaultUri": {
+ "type": "string",
+ "description": "The Uri of the key vault.",
+ "x-ms-client-name": "KeyVaultUri"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "AttachedDatabaseConfigurationNameParameter": {
+ "name": "attachedDatabaseConfigurationName",
+ "in": "path",
+ "description": "The name of the attached database configuration.",
+ "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"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/readme.go.md b/specification/azure-kusto/resource-manager/readme.go.md
index 28230ef6c382..11d57503dc16 100644
--- a/specification/azure-kusto/resource-manager/readme.go.md
+++ b/specification/azure-kusto/resource-manager/readme.go.md
@@ -16,6 +16,7 @@ batch:
- tag: package-2018-09-07-preview
- tag: package-2019-01-21
- tag: package-2019-05-15
+ - tag: package-2019-09-07
```
### Tag: package-2018-09-07-preview and go
@@ -27,6 +28,15 @@ 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)
+```
+
### Tag: package-2019-05-15 and go
These settings apply only when `--tag=package-2019-05-15 --go` is specified on the command line.
@@ -35,3 +45,12 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-09-07' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-09-07/$(namespace)
+```
diff --git a/specification/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md
index 92721beb74fa..9f9a4e3bf0d0 100644
--- a/specification/azure-kusto/resource-manager/readme.md
+++ b/specification/azure-kusto/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for Kusto.
-
-
---
+
## Getting Started
+
To build the SDK for Kusto, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,27 +15,36 @@ To build the SDK for Kusto, 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 Kusto API.
``` yaml
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.
+description: 'The Azure Kusto management API provides a RESTful set of web services that interact with Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete clusters and databases.'
openapi-type: arm
-tag: package-2019-05-15
-
+tag: package-2019-09-07
directive:
- suppress: R2016
from: kusto.json
where: $.definitions.DataConnection.required
- reason: Implements kind which is required also in patch
+ reason: Implements kind which is required also in patch
+```
+
+### Tag: package-2019-09-07
+
+These settings apply only when `--tag=package-2019-09-07` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-09-07'
+input-file:
+ - Microsoft.Kusto/stable/2019-09-07/kusto.json
```
+
### Tag: package-2019-05-15
These settings apply only when `--tag=package-2019-05-15` is specified on the command line.
@@ -72,6 +81,17 @@ input-file:
- Microsoft.Kusto/preview/2017-09-07-privatepreview/kusto.json
```
+### Tag: schema-2019-09-07
+
+These settings apply only when `--tag=schema-2019-09-07` 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\stable\2019-09-07\ -File | Resolve-Path -Relative | % { " - $_".Replace("\", "/") }`
+
+``` yaml $(tag) == 'schema-2019-09-07'
+input-file:
+ - Microsoft.Kusto/stable/2019-09-07/kusto.json
+```
+
### Tag: schema-2019-05-15
These settings apply only when `--tag=schema-2019-05-15` is specified on the command line.
@@ -118,7 +138,6 @@ input-file:
# Code Generation
-
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
@@ -167,6 +186,7 @@ batch:
- tag: package-2018-09-07-preview
- tag: package-2019-01-21
- tag: package-2019-05-15
+ - tag: package-2019-09-07
```
### Tag: package-2018-09-07-preview and java
@@ -208,7 +228,20 @@ regenerate-manager: true
generate-interface: true
```
-## Multi-API/Profile support for AutoRest v3 generators
+### Tag: package-2019-09-07 and java
+
+These settings apply only when `--tag=package-2019-09-07 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-09-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kusto.v2019_09_07
+ output-folder: $(azure-libraries-for-java-folder)/kusto/resource-manager/v2019_09_07
+regenerate-manager: true
+generate-interface: true
+```
+
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -220,6 +253,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Kusto/stable/2019-09-07/kusto.json
- $(this-folder)/Microsoft.Kusto/stable/2019-05-15/kusto.json
- $(this-folder)/Microsoft.Kusto/stable/2019-01-21/kusto.json
- $(this-folder)/Microsoft.Kusto/preview/2018-09-07-preview/kusto.json
@@ -227,10 +261,34 @@ input-file:
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
\ No newline at end of file
+```
+
+## Suppression
+
+``` yaml
+directive:
+ - suppress: ListInOperationName
+ from: kusto.json
+ where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals"].post.operationId'
+ reason: 'Already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.'
+ - suppress: ListInOperationName
+ from: kusto.json
+ where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals"].post.operationId'
+ reason: 'Already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.'
+ - suppress: OBJECT_ADDITIONAL_PROPERTIES
+ from: kusto.json
+ where: $.definitions.Database
+ reason: 'Action is expected to receive a subclass of Database'
+ - suppress: OBJECT_ADDITIONAL_PROPERTIES
+ from: kusto.json
+ where: $.definitions.EventHubDataConnection
+ reason: |-
+ Action is expected to receive a subclass of DataConnection.
+ This API was already released in previous versions, and should not be changed.
+```
diff --git a/specification/azure-kusto/resource-manager/readme.python.md b/specification/azure-kusto/resource-manager/readme.python.md
index a31178da9fb1..22cad2f9da54 100644
--- a/specification/azure-kusto/resource-manager/readme.python.md
+++ b/specification/azure-kusto/resource-manager/readme.python.md
@@ -18,10 +18,10 @@ python:
``` yaml $(python) && $(python-mode) == 'update'
python:
no-namespace-folders: true
- output-folder: $(python-sdks-folder)/kusto/azure-mgmt-kusto/azure/mgmt/kusto
+ output-folder: $(python-sdks-folder)/azure-mgmt-kusto/azure/mgmt/kusto
```
``` yaml $(python) && $(python-mode) == 'create'
python:
basic-setup-py: true
- output-folder: $(python-sdks-folder)/kusto/azure-mgmt-kusto
+ output-folder: $(python-sdks-folder)/azure-mgmt-kusto
```
diff --git a/specification/azure-kusto/resource-manager/readme.typescript.md b/specification/azure-kusto/resource-manager/readme.typescript.md
index c2514c1f3b0f..727fef1297c6 100644
--- a/specification/azure-kusto/resource-manager/readme.typescript.md
+++ b/specification/azure-kusto/resource-manager/readme.typescript.md
@@ -7,6 +7,6 @@ Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(tag) == 'release_3_1' && $(go)
+output-folder: $(go-sdk-folder)/services/cognitiveservices/v3.1/customvision/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md
index ce4d4504d2ab..2b84dd8be8a5 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md
@@ -4,11 +4,11 @@
Configuration for generating Custom Vision Training SDK.
-The current release is `release_3_0`.
+The current release is `release_3_1`.
``` yaml
-tag: release_3_0
+tag: release_3_1
openapi-type: data-plane
```
# Releases
@@ -41,6 +41,12 @@ These settings apply only when `--tag=release_3_0` is specified on the command l
input-file: stable/v3.0/Training.json
```
+### Release 3.1
+These settings apply only when `--tag=release_3_1` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_1'
+input-file: stable/v3.1/Training.json
+```
# Validation
## Suppression
@@ -146,6 +152,7 @@ input-file:
- $(this-folder)/stable/v2.1/Training.json
- $(this-folder)/stable/v2.2/Training.json
- $(this-folder)/stable/v3.0/Training.json
+ - $(this-folder)/stable/v3.1/Training.json
```
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md
index 98e4db6d18b3..7015276594b4 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md
@@ -14,6 +14,7 @@ azure-arm: true
batch:
- tag: release_1_0
- tag: release_3_0
+ - tag: release_3_1
```
### Tag: release_1_0 and ruby
@@ -37,3 +38,14 @@ namespace: "Azure::CognitiveServices::CustomVision::Training::V3_0"
output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_customvisiontraining/lib
title: "TrainingClient"
```
+
+### Tag: release_3_1 and ruby
+
+These settings apply only when `--tag=release_3_1 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'release_3_1' && $(ruby)
+namespace: "Azure::CognitiveServices::CustomVision::Training::V3_1"
+output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_customvisiontraining/lib
+title: "TrainingClient"
+```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/Training.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/Training.json
new file mode 100644
index 000000000000..c7813e4d8bdc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/Training.json
@@ -0,0 +1,5046 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "3.1",
+ "title": "Custom Vision Training Client"
+ },
+ "host": "southcentralus.api.cognitive.microsoft.com",
+ "basePath": "/customvision/v3.1/training",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/domains": {
+ "get": {
+ "tags": [
+ "DomainsApi"
+ ],
+ "summary": "Get a list of the available domains.",
+ "operationId": "GetDomains",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Domain"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetDomains request": {
+ "$ref": "./examples/GetDomains.json"
+ }
+ }
+ }
+ },
+ "/domains/{domainId}": {
+ "get": {
+ "tags": [
+ "DomainsApi"
+ ],
+ "summary": "Get information about a specific domain.",
+ "operationId": "GetDomain",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "domainId",
+ "in": "path",
+ "description": "The id of the domain to get information about.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetDomain request": {
+ "$ref": "./examples/GetDomain.json"
+ }
+ }
+ }
+ },
+ "/projects": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get your projects.",
+ "operationId": "GetProjects",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Project"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetProjects request": {
+ "$ref": "./examples/GetProjects.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Create a project.",
+ "operationId": "CreateProject",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "name",
+ "in": "query",
+ "description": "Name of the project.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "description",
+ "in": "query",
+ "description": "The description of the project.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "domainId",
+ "in": "query",
+ "description": "The id of the domain to use for this project. Defaults to General.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "classificationType",
+ "in": "query",
+ "description": "The type of classifier to create for this project.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Multiclass",
+ "Multilabel"
+ ]
+ },
+ {
+ "name": "targetExportPlatforms",
+ "in": "query",
+ "description": "List of platforms the trained model is intending exporting to.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK"
+ ]
+ },
+ "collectionFormat": "csv"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateProject request": {
+ "$ref": "./examples/CreateProject.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get a specific project.",
+ "operationId": "GetProject",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The id of the project to get.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetProject request": {
+ "$ref": "./examples/GetProject.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Delete a specific project.",
+ "operationId": "DeleteProject",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteProject request": {
+ "$ref": "./examples/DeleteProject.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Update a specific project.",
+ "operationId": "UpdateProject",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The id of the project to update.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "updatedProject",
+ "in": "body",
+ "description": "The updated project model.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UpdateProject request": {
+ "$ref": "./examples/UpdateProject.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Add the provided images to the set of training images.",
+ "description": "This API accepts body content as multipart/form-data and application/octet-stream. When using multipart\r\nmultiple image files can be sent at once, with a maximum of 64 files",
+ "operationId": "CreateImagesFromData",
+ "consumes": [
+ "multipart/form-data",
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "The tags ids with which to tag each image. Limited to 20.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 20,
+ "minItems": 0
+ },
+ {
+ "name": "imageData",
+ "in": "formData",
+ "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB.",
+ "required": true,
+ "type": "file"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImagesFromData request": {
+ "$ref": "./examples/CreateImagesFromData.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Delete images from the set of training images.",
+ "operationId": "DeleteImages",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageIds",
+ "in": "query",
+ "description": "Ids of the images to be deleted. Limited to 256 images per batch.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 256,
+ "minItems": 0
+ },
+ {
+ "name": "allImages",
+ "in": "query",
+ "description": "Flag to specify delete all images, specify this flag or a list of images. Using this flag will return a 202 response to indicate the images are being deleted.",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "allIterations",
+ "in": "query",
+ "description": "Removes these images from all iterations, not just the current workspace. Using this flag will return a 202 response to indicate the images are being deleted.",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteImages request": {
+ "$ref": "./examples/DeleteImages.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/{imageId}/regionproposals": {
+ "post": {
+ "tags": [
+ "ImageRegionProposalApi"
+ ],
+ "summary": "Get region proposals for an image. Returns empty array if no proposals are found.",
+ "description": "This API will get region proposals for an image along with confidences for the region. It returns an empty array if no proposals are found.",
+ "operationId": "GetImageRegionProposals",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageId",
+ "in": "path",
+ "description": "The image id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageRegionProposal"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImageRegionProposals request": {
+ "$ref": "./examples/GetImageRegionProposals.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/files": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Add the provided batch of images to the set of training images.",
+ "description": "This API accepts a batch of files, and optionally tags, to create images. There is a limit of 64 images and 20 tags.",
+ "operationId": "CreateImagesFromFiles",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "The batch of image files to add. Limited to 64 images and 20 tags per batch.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageFileCreateBatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImagesFromFiles request": {
+ "$ref": "./examples/CreateImagesFromFiles.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/id": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get images by id for a given project iteration.",
+ "description": "This API will return a set of Images for the specified tags and optionally iteration. If no iteration is specified the\r\ncurrent workspace is used.",
+ "operationId": "GetImagesByIds",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageIds",
+ "in": "query",
+ "description": "The list of image ids to retrieve. Limited to 256.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 256,
+ "minItems": 0
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImagesByIds request": {
+ "$ref": "./examples/GetImagesByIds.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/predictions": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Add the specified predicted images to the set of training images.",
+ "description": "This API creates a batch of images from predicted images specified. There is a limit of 64 images and 20 tags.",
+ "operationId": "CreateImagesFromPredictions",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "Image and tag ids. Limited to 64 images and 20 tags per batch.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageIdCreateBatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImagesFromPredictions request": {
+ "$ref": "./examples/CreateImagesFromPredictions.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/regions": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Create a set of image regions.",
+ "description": "This API accepts a batch of image regions, and optionally tags, to update existing images with region information.\r\nThere is a limit of 64 entries in the batch.",
+ "operationId": "CreateImageRegions",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "Batch of image regions which include a tag and bounding box. Limited to 64.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageRegionCreateBatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageRegionCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImageRegions request": {
+ "$ref": "./examples/CreateImageRegions.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Delete a set of image regions.",
+ "operationId": "DeleteImageRegions",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "regionIds",
+ "in": "query",
+ "description": "Regions to delete. Limited to 64.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 64,
+ "minItems": 0
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteImageRegions request": {
+ "$ref": "./examples/DeleteImageRegions.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/suggested": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get untagged images whose suggested tags match given tags. Returns empty array if no images are found.",
+ "description": "This API will fetch untagged images filtered by suggested tags Ids. It returns an empty array if no images are found.",
+ "operationId": "QuerySuggestedImages",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "IterationId to use for the suggested tags and regions.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "query",
+ "in": "body",
+ "description": "Contains properties we need to query suggested images.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SuggestedTagAndRegionQueryToken"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SuggestedTagAndRegionQuery"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QuerySuggestedImages request": {
+ "$ref": "./examples/QuerySuggestedImages.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/suggested/count": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get count of images whose suggested tags match given tags and their probabilities are greater than or equal to the given threshold. Returns count as 0 if none found.",
+ "description": "This API takes in tagIds to get count of untagged images per suggested tags for a given threshold.",
+ "operationId": "QuerySuggestedImageCount",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "IterationId to use for the suggested tags and regions.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "query",
+ "in": "body",
+ "description": "Model that contains tagIds, threshold and projectType to query by.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagFilter"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QuerySuggestedImageCount request": {
+ "$ref": "./examples/QuerySuggestedImageCount.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/tagged": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get tagged images for a given project iteration.",
+ "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetTaggedImages",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 20,
+ "minItems": 0
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "The ordering. Defaults to newest.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Newest",
+ "Oldest"
+ ]
+ },
+ {
+ "name": "take",
+ "in": "query",
+ "description": "Maximum number of images to return. Defaults to 50, limited to 256.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 256,
+ "minimum": 0
+ },
+ {
+ "name": "skip",
+ "in": "query",
+ "description": "Number of images to skip before beginning the image batch. Defaults to 0.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetTaggedImages request": {
+ "$ref": "./examples/GetTaggedImages.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/tagged/count": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Gets the number of images tagged with the provided {tagIds}.",
+ "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetTaggedImageCount",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetTaggedImageCount request": {
+ "$ref": "./examples/GetTaggedImageCount.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/tags": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Associate a set of images with a set of tags.",
+ "operationId": "CreateImageTags",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "Batch of image tags. Limited to 128 tags per batch.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageTagCreateBatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageTagCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImageTags request": {
+ "$ref": "./examples/CreateImageTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Remove a set of tags from a set of images.",
+ "operationId": "DeleteImageTags",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageIds",
+ "in": "query",
+ "description": "Image ids. Limited to 64 images.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 64,
+ "minItems": 0
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "Tags to be deleted from the specified images. Limited to 20 tags.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 20,
+ "minItems": 0
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteImageTags request": {
+ "$ref": "./examples/DeleteImageTags.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/untagged": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get untagged images for a given project iteration.",
+ "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.",
+ "operationId": "GetUntaggedImages",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "The ordering. Defaults to newest.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Newest",
+ "Oldest"
+ ]
+ },
+ {
+ "name": "take",
+ "in": "query",
+ "description": "Maximum number of images to return. Defaults to 50, limited to 256.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 256,
+ "minimum": 0
+ },
+ {
+ "name": "skip",
+ "in": "query",
+ "description": "Number of images to skip before beginning the image batch. Defaults to 0.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetUntaggedImages request": {
+ "$ref": "./examples/GetUntaggedImages.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/untagged/count": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Gets the number of untagged images.",
+ "description": "This API returns the images which have no tags for a given project and optionally an iteration. If no iteration is specified the\r\ncurrent workspace is used.",
+ "operationId": "GetUntaggedImageCount",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetUntaggedImageCount request": {
+ "$ref": "./examples/GetUntaggedImageCount.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/urls": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Add the provided images urls to the set of training images.",
+ "description": "This API accepts a batch of urls, and optionally tags, to create images. There is a limit of 64 images and 20 tags.",
+ "operationId": "CreateImagesFromUrls",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "Image urls and tag ids. Limited to 64 images and 20 tags per batch.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageUrlCreateBatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImagesFromUrls request": {
+ "$ref": "./examples/CreateImagesFromUrls.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get iterations for the project.",
+ "operationId": "GetIterations",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Iteration"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetIterations request": {
+ "$ref": "./examples/GetIterations.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get a specific iteration.",
+ "operationId": "GetIteration",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The id of the project the iteration belongs to.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The id of the iteration to get.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Iteration"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetIteration request": {
+ "$ref": "./examples/GetIteration.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Delete a specific iteration of a project.",
+ "operationId": "DeleteIteration",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteIteration request": {
+ "$ref": "./examples/DeleteIteration.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Update a specific iteration.",
+ "operationId": "UpdateIteration",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "Project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "Iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "updatedIteration",
+ "in": "body",
+ "description": "The updated iteration model.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Iteration"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Iteration"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UpdateIteration request": {
+ "$ref": "./examples/UpdateIteration.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/export": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get the list of exports for a specific iteration.",
+ "operationId": "GetExports",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Export"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetExports request": {
+ "$ref": "./examples/GetExports.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Export a trained iteration.",
+ "operationId": "ExportIteration",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "platform",
+ "in": "query",
+ "description": "The target platform.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK"
+ ]
+ },
+ {
+ "name": "flavor",
+ "in": "query",
+ "description": "The flavor of the target platform.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Linux",
+ "Windows",
+ "ONNX10",
+ "ONNX12",
+ "ARM",
+ "TensorFlowNormal",
+ "TensorFlowLite"
+ ]
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ExportIteration request": {
+ "$ref": "./examples/ExportIteration.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/performance": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get detailed performance information about an iteration.",
+ "operationId": "GetIterationPerformance",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The id of the project the iteration belongs to.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The id of the iteration to get.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "threshold",
+ "in": "query",
+ "description": "The threshold used to determine true predictions.",
+ "required": false,
+ "type": "number",
+ "format": "float"
+ },
+ {
+ "name": "overlapThreshold",
+ "in": "query",
+ "description": "If applicable, the bounding box overlap threshold used to determine true predictions.",
+ "required": false,
+ "type": "number",
+ "format": "float"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IterationPerformance"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetIterationPerformance request": {
+ "$ref": "./examples/GetIterationPerformance.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/performance/images": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get image with its prediction for a given project iteration.",
+ "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetImagePerformances",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 20,
+ "minItems": 0
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "The ordering. Defaults to newest.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Newest",
+ "Oldest"
+ ]
+ },
+ {
+ "name": "take",
+ "in": "query",
+ "description": "Maximum number of images to return. Defaults to 50, limited to 256.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 256,
+ "minimum": 0
+ },
+ {
+ "name": "skip",
+ "in": "query",
+ "description": "Number of images to skip before beginning the image batch. Defaults to 0.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImagePerformance"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImagePerformances request": {
+ "$ref": "./examples/GetImagePerformances.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/performance/images/count": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Gets the number of images tagged with the provided {tagIds} that have prediction results from\r\ntraining for the provided iteration {iterationId}.",
+ "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetImagePerformanceCount",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImagePerformanceCount request": {
+ "$ref": "./examples/GetImagePerformanceCount.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/publish": {
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Publish a specific iteration.",
+ "operationId": "PublishIteration",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "publishName",
+ "in": "query",
+ "description": "The name to give the published iteration.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "predictionId",
+ "in": "query",
+ "description": "The id of the prediction resource to publish to.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful PublishIteration request": {
+ "$ref": "./examples/PublishIteration.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Unpublish a specific iteration.",
+ "operationId": "UnpublishIteration",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UnpublishIteration request": {
+ "$ref": "./examples/UnpublishIteration.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/predictions": {
+ "delete": {
+ "tags": [
+ "PredictionsApi"
+ ],
+ "summary": "Delete a set of predicted images and their associated prediction results.",
+ "operationId": "DeletePrediction",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "ids",
+ "in": "query",
+ "description": "The prediction ids. Limited to 64.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 64,
+ "minItems": 0
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeletePrediction request": {
+ "$ref": "./examples/DeletePrediction.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/predictions/query": {
+ "post": {
+ "tags": [
+ "PredictionsApi"
+ ],
+ "summary": "Get images that were sent to your prediction endpoint.",
+ "operationId": "QueryPredictions",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "query",
+ "in": "body",
+ "description": "Parameters used to query the predictions. Limited to combining 2 tags.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PredictionQueryToken"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PredictionQueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QueryPredictions request": {
+ "$ref": "./examples/QueryPredictions.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/quicktest/image": {
+ "post": {
+ "tags": [
+ "PredictionsApi"
+ ],
+ "summary": "Quick test an image.",
+ "operationId": "QuickTestImage",
+ "consumes": [
+ "multipart/form-data",
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "store",
+ "in": "query",
+ "description": "Optional. Specifies whether or not to store the result of this prediction. The default is true, to store.",
+ "required": false,
+ "type": "boolean",
+ "default": true
+ },
+ {
+ "name": "imageData",
+ "in": "formData",
+ "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB.",
+ "required": true,
+ "type": "file"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImagePrediction"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QuickTestImage request": {
+ "$ref": "./examples/QuickTestImage.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/quicktest/url": {
+ "post": {
+ "tags": [
+ "PredictionsApi"
+ ],
+ "summary": "Quick test an image url.",
+ "operationId": "QuickTestImageUrl",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project to evaluate against.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageUrl",
+ "in": "body",
+ "description": "An ImageUrl that contains the url of the image to be evaluated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageUrl"
+ }
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "store",
+ "in": "query",
+ "description": "Optional. Specifies whether or not to store the result of this prediction. The default is true, to store.",
+ "required": false,
+ "type": "boolean",
+ "default": true
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImagePrediction"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QuickTestImageUrl request": {
+ "$ref": "./examples/QuickTestImageUrl.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/tags": {
+ "get": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Get the tags for a given project and iteration.",
+ "operationId": "GetTags",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tag"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetTags request": {
+ "$ref": "./examples/GetTags.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Create a tag for the project.",
+ "operationId": "CreateTag",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "name",
+ "in": "query",
+ "description": "The tag name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "description",
+ "in": "query",
+ "description": "Optional description for the tag.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Optional type for the tag.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Regular",
+ "Negative"
+ ]
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateTag request": {
+ "$ref": "./examples/CreateTag.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/tags/{tagId}": {
+ "get": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Get information about a specific tag.",
+ "operationId": "GetTag",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project this tag belongs to.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagId",
+ "in": "path",
+ "description": "The tag id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration to retrieve this tag from. Optional, defaults to current training set.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetTag request": {
+ "$ref": "./examples/GetTag.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Delete a tag from the project.",
+ "operationId": "DeleteTag",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagId",
+ "in": "path",
+ "description": "Id of the tag to be deleted.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteTag request": {
+ "$ref": "./examples/DeleteTag.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Update a tag.",
+ "operationId": "UpdateTag",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagId",
+ "in": "path",
+ "description": "The id of the target tag.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "updatedTag",
+ "in": "body",
+ "description": "The updated tag model.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UpdateTag request": {
+ "$ref": "./examples/UpdateTag.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/tagsandregions/suggestions": {
+ "post": {
+ "tags": [
+ "SuggestTagsAndRegionsApi"
+ ],
+ "summary": "Suggest tags and regions for an array/batch of untagged images. Returns empty array if no tags are found.",
+ "description": "This API will get suggested tags and regions for an array/batch of untagged images along with confidences for the tags. It returns an empty array if no tags are found.\r\nThere is a limit of 64 images in the batch.",
+ "operationId": "SuggestTagsAndRegions",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "IterationId to use for tag and region suggestion.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageIds",
+ "in": "query",
+ "description": "Array of image ids tag suggestion are needed for. Use GetUntaggedImages API to get imageIds.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 64,
+ "minItems": 0
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SuggestedTagAndRegion"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful SuggestTagsAndRegions request": {
+ "$ref": "./examples/SuggestTagsAndRegions.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/train": {
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Queues project for training.",
+ "operationId": "TrainProject",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "trainingType",
+ "in": "query",
+ "description": "The type of training to use to train the project (default: Regular).",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Regular",
+ "Advanced"
+ ]
+ },
+ {
+ "name": "reservedBudgetInHours",
+ "in": "query",
+ "description": "The number of hours reserved as budget for training (if applicable).",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ {
+ "name": "forceTrain",
+ "in": "query",
+ "description": "Whether to force train even if dataset and configuration does not change (default: false).",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "name": "notificationEmailAddress",
+ "in": "query",
+ "description": "The email address to send notification to when training finishes (default: null).",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Iteration"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful TrainProject request": {
+ "$ref": "./examples/TrainProject.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BoundingBox": {
+ "description": "Bounding box that defines a region of an image.",
+ "required": [
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "CustomVisionError": {
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "enum": [
+ "NoError",
+ "BadRequest",
+ "BadRequestExceededBatchSize",
+ "BadRequestNotSupported",
+ "BadRequestInvalidIds",
+ "BadRequestProjectName",
+ "BadRequestProjectNameNotUnique",
+ "BadRequestProjectDescription",
+ "BadRequestProjectUnknownDomain",
+ "BadRequestProjectUnknownClassification",
+ "BadRequestProjectUnsupportedDomainTypeChange",
+ "BadRequestProjectUnsupportedExportPlatform",
+ "BadRequestProjectImagePreprocessingSettings",
+ "BadRequestIterationName",
+ "BadRequestIterationNameNotUnique",
+ "BadRequestIterationDescription",
+ "BadRequestIterationIsNotTrained",
+ "BadRequestWorkspaceCannotBeModified",
+ "BadRequestWorkspaceNotDeletable",
+ "BadRequestTagName",
+ "BadRequestTagNameNotUnique",
+ "BadRequestTagDescription",
+ "BadRequestTagType",
+ "BadRequestMultipleNegativeTag",
+ "BadRequestImageTags",
+ "BadRequestImageRegions",
+ "BadRequestNegativeAndRegularTagOnSameImage",
+ "BadRequestRequiredParamIsNull",
+ "BadRequestIterationIsPublished",
+ "BadRequestInvalidPublishName",
+ "BadRequestInvalidPublishTarget",
+ "BadRequestUnpublishFailed",
+ "BadRequestIterationNotPublished",
+ "BadRequestSubscriptionApi",
+ "BadRequestExceedProjectLimit",
+ "BadRequestExceedIterationPerProjectLimit",
+ "BadRequestExceedTagPerProjectLimit",
+ "BadRequestExceedTagPerImageLimit",
+ "BadRequestExceededQuota",
+ "BadRequestCannotMigrateProjectWithName",
+ "BadRequestNotLimitedTrial",
+ "BadRequestImageBatch",
+ "BadRequestImageStream",
+ "BadRequestImageUrl",
+ "BadRequestImageFormat",
+ "BadRequestImageSizeBytes",
+ "BadRequestImageExceededCount",
+ "BadRequestTrainingNotNeeded",
+ "BadRequestTrainingNotNeededButTrainingPipelineUpdated",
+ "BadRequestTrainingValidationFailed",
+ "BadRequestClassificationTrainingValidationFailed",
+ "BadRequestMultiClassClassificationTrainingValidationFailed",
+ "BadRequestMultiLabelClassificationTrainingValidationFailed",
+ "BadRequestDetectionTrainingValidationFailed",
+ "BadRequestTrainingAlreadyInProgress",
+ "BadRequestDetectionTrainingNotAllowNegativeTag",
+ "BadRequestInvalidEmailAddress",
+ "BadRequestDomainNotSupportedForAdvancedTraining",
+ "BadRequestExportPlatformNotSupportedForAdvancedTraining",
+ "BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining",
+ "BadRequestExportValidationFailed",
+ "BadRequestExportAlreadyInProgress",
+ "BadRequestPredictionIdsMissing",
+ "BadRequestPredictionIdsExceededCount",
+ "BadRequestPredictionTagsExceededCount",
+ "BadRequestPredictionResultsExceededCount",
+ "BadRequestPredictionInvalidApplicationName",
+ "BadRequestPredictionInvalidQueryParameters",
+ "BadRequestInvalid",
+ "UnsupportedMediaType",
+ "Forbidden",
+ "ForbiddenUser",
+ "ForbiddenUserResource",
+ "ForbiddenUserSignupDisabled",
+ "ForbiddenUserSignupAllowanceExceeded",
+ "ForbiddenUserDoesNotExist",
+ "ForbiddenUserDisabled",
+ "ForbiddenUserInsufficientCapability",
+ "ForbiddenDRModeEnabled",
+ "ForbiddenInvalid",
+ "NotFound",
+ "NotFoundProject",
+ "NotFoundProjectDefaultIteration",
+ "NotFoundIteration",
+ "NotFoundIterationPerformance",
+ "NotFoundTag",
+ "NotFoundImage",
+ "NotFoundDomain",
+ "NotFoundApimSubscription",
+ "NotFoundInvalid",
+ "Conflict",
+ "ConflictInvalid",
+ "ErrorUnknown",
+ "ErrorProjectInvalidWorkspace",
+ "ErrorProjectInvalidPipelineConfiguration",
+ "ErrorProjectInvalidDomain",
+ "ErrorProjectTrainingRequestFailed",
+ "ErrorProjectExportRequestFailed",
+ "ErrorFeaturizationServiceUnavailable",
+ "ErrorFeaturizationQueueTimeout",
+ "ErrorFeaturizationInvalidFeaturizer",
+ "ErrorFeaturizationAugmentationUnavailable",
+ "ErrorFeaturizationUnrecognizedJob",
+ "ErrorFeaturizationAugmentationError",
+ "ErrorExporterInvalidPlatform",
+ "ErrorExporterInvalidFeaturizer",
+ "ErrorExporterInvalidClassifier",
+ "ErrorPredictionServiceUnavailable",
+ "ErrorPredictionModelNotFound",
+ "ErrorPredictionModelNotCached",
+ "ErrorPrediction",
+ "ErrorPredictionStorage",
+ "ErrorRegionProposal",
+ "ErrorInvalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomVisionErrorCodes",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "A message explaining the error reported by the service.",
+ "type": "string"
+ }
+ }
+ },
+ "Domain": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "type": {
+ "enum": [
+ "Classification",
+ "ObjectDetection"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "DomainType",
+ "modelAsString": true
+ }
+ },
+ "exportable": {
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "enabled": {
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "Export": {
+ "type": "object",
+ "properties": {
+ "platform": {
+ "description": "Platform of the export.",
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "ExportPlatform",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "Status of the export.",
+ "enum": [
+ "Exporting",
+ "Failed",
+ "Done"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "ExportStatus",
+ "modelAsString": true
+ }
+ },
+ "downloadUri": {
+ "description": "URI used to download the model.",
+ "type": "string",
+ "readOnly": true
+ },
+ "flavor": {
+ "description": "Flavor of the export.",
+ "enum": [
+ "Linux",
+ "Windows",
+ "ONNX10",
+ "ONNX12",
+ "ARM",
+ "TensorFlowNormal",
+ "TensorFlowLite"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "ExportFlavor",
+ "modelAsString": true
+ }
+ },
+ "newerVersionAvailable": {
+ "description": "Indicates an updated version of the export package is available and should be re-exported for the latest changes.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "Image": {
+ "description": "Image model to be sent as JSON.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date the image was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "int32",
+ "description": "Width of the image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "int32",
+ "description": "Height of the image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "resizedImageUri": {
+ "description": "The URI to the (resized) image used for training.",
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbnailUri": {
+ "description": "The URI to the thumbnail of the original image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "originalImageUri": {
+ "description": "The URI to the original uploaded image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "Tags associated with this image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTag"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "regions": {
+ "description": "Regions associated with this image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegion"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageCreateResult": {
+ "type": "object",
+ "properties": {
+ "sourceUrl": {
+ "description": "Source URL of the image.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "status": {
+ "description": "Status of the image creation.",
+ "enum": [
+ "OK",
+ "OKDuplicate",
+ "ErrorSource",
+ "ErrorImageFormat",
+ "ErrorImageSize",
+ "ErrorStorage",
+ "ErrorLimitExceed",
+ "ErrorTagLimitExceed",
+ "ErrorRegionLimitExceed",
+ "ErrorUnknown",
+ "ErrorNegativeAndRegularTagOnSameImage"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "ImageCreateStatus",
+ "modelAsString": true
+ }
+ },
+ "image": {
+ "$ref": "#/definitions/Image",
+ "description": "The image.",
+ "readOnly": true
+ }
+ }
+ },
+ "ImageCreateSummary": {
+ "type": "object",
+ "properties": {
+ "isBatchSuccessful": {
+ "description": "True if all of the images in the batch were created successfully, otherwise false.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "images": {
+ "description": "List of the image creation results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageCreateResult",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ImageFileCreateBatch": {
+ "type": "object",
+ "properties": {
+ "images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageFileCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageFileCreateEntry": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "contents": {
+ "format": "byte",
+ "type": "string",
+ "readOnly": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Region",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageIdCreateBatch": {
+ "type": "object",
+ "properties": {
+ "images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageIdCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageIdCreateEntry": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Region",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImagePerformance": {
+ "description": "Image performance model.",
+ "type": "object",
+ "properties": {
+ "predictions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "int32",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "int32",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "imageUri": {
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbnailUri": {
+ "type": "string",
+ "readOnly": true
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTag"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegion"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImagePrediction": {
+ "description": "Result of an image prediction request.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Prediction Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "project": {
+ "format": "uuid",
+ "description": "Project Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "iteration": {
+ "format": "uuid",
+ "description": "Iteration Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date this prediction was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "predictions": {
+ "description": "List of predictions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ImageProcessingSettings": {
+ "description": "Represents image preprocessing settings used by image augmentation.",
+ "type": "object",
+ "properties": {
+ "augmentationMethods": {
+ "description": "Gets or sets enabled image transforms. The key corresponds to the transform name. If value is set to true, then correspondent transform is enabled. Otherwise this transform will not be used.\r\nAugmentation will be uniformly distributed among enabled transforms.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "boolean"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageRegion": {
+ "required": [
+ "tagId",
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "regionId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagName": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag associated with this region.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageRegionCreateBatch": {
+ "description": "Batch of image region information to create.",
+ "type": "object",
+ "properties": {
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegionCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageRegionCreateEntry": {
+ "description": "Entry associating a region to an image.",
+ "required": [
+ "imageId",
+ "tagId",
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "imageId": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag associated with this region.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageRegionCreateResult": {
+ "required": [
+ "tagId",
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "imageId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "regionId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagName": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag associated with this region.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageRegionCreateSummary": {
+ "type": "object",
+ "properties": {
+ "created": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegionCreateResult"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "duplicated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegionCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "exceeded": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegionCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageRegionProposal": {
+ "type": "object",
+ "properties": {
+ "projectId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "imageId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "proposals": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegionProposal",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ImageTag": {
+ "type": "object",
+ "properties": {
+ "tagId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagName": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageTagCreateBatch": {
+ "description": "Batch of image tags.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Image Tag entries to include in this batch.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageTagCreateEntry": {
+ "description": "Entry associating a tag to an image.",
+ "type": "object",
+ "properties": {
+ "imageId": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageTagCreateSummary": {
+ "type": "object",
+ "properties": {
+ "created": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "duplicated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "exceeded": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageUrl": {
+ "description": "Image url.",
+ "required": [
+ "url"
+ ],
+ "type": "object",
+ "properties": {
+ "url": {
+ "description": "Url of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageUrlCreateBatch": {
+ "type": "object",
+ "properties": {
+ "images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageUrlCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageUrlCreateEntry": {
+ "required": [
+ "url"
+ ],
+ "type": "object",
+ "properties": {
+ "url": {
+ "description": "Url of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Region",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "Iteration": {
+ "description": "Iteration model to be sent over JSON.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Gets the id of the iteration.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "description": "Gets or sets the name of the iteration.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "status": {
+ "description": "Gets the current iteration status.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Gets the time this iteration was completed.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "Gets the time this iteration was last modified.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "trainedAt": {
+ "format": "date-time",
+ "description": "Gets the time this iteration was last modified.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "projectId": {
+ "format": "uuid",
+ "description": "Gets the project id of the iteration.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "exportable": {
+ "description": "Whether the iteration can be exported to another format for download.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "exportableTo": {
+ "description": "A set of platforms this iteration can export to.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK"
+ ],
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": true
+ },
+ "domainId": {
+ "format": "uuid",
+ "description": "Get or sets a guid of the domain the iteration has been trained on.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "classificationType": {
+ "description": "Gets the classification type of the project.",
+ "enum": [
+ "Multiclass",
+ "Multilabel"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "Classifier",
+ "modelAsString": true
+ }
+ },
+ "trainingType": {
+ "description": "Gets the training type of the iteration.",
+ "enum": [
+ "Regular",
+ "Advanced"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "TrainingType",
+ "modelAsString": true
+ }
+ },
+ "reservedBudgetInHours": {
+ "format": "int32",
+ "description": "Gets the reserved advanced training budget for the iteration.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "trainingTimeInMinutes": {
+ "format": "int32",
+ "description": "Gets the training time for the iteration.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "publishName": {
+ "description": "Name of the published model.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "originalPublishResourceId": {
+ "description": "Resource Provider Id this iteration was originally published to.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "IterationPerformance": {
+ "description": "Represents the detailed performance data for a trained iteration.",
+ "type": "object",
+ "properties": {
+ "perTagPerformance": {
+ "description": "Gets the per-tag performance details for this iteration.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagPerformance",
+ "x-nullable": false
+ },
+ "readOnly": true
+ },
+ "precision": {
+ "format": "float",
+ "description": "Gets the precision.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "precisionStdDeviation": {
+ "format": "float",
+ "description": "Gets the standard deviation for the precision.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "recall": {
+ "format": "float",
+ "description": "Gets the recall.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "recallStdDeviation": {
+ "format": "float",
+ "description": "Gets the standard deviation for the recall.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "averagePrecision": {
+ "format": "float",
+ "description": "Gets the average precision when applicable.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "Prediction": {
+ "description": "Prediction result.",
+ "type": "object",
+ "properties": {
+ "probability": {
+ "format": "float",
+ "description": "Probability of the tag.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the predicted tag.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagName": {
+ "description": "Name of the predicted tag.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "boundingBox": {
+ "$ref": "#/definitions/BoundingBox",
+ "description": "Bounding box of the prediction.",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "PredictionQueryResult": {
+ "description": "Query result of the prediction images that were sent to your prediction endpoint.",
+ "type": "object",
+ "properties": {
+ "token": {
+ "$ref": "#/definitions/PredictionQueryToken",
+ "description": "Prediction Query Token.",
+ "readOnly": false
+ },
+ "results": {
+ "description": "Result of an prediction request.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StoredImagePrediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "PredictionQueryTag": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "minThreshold": {
+ "format": "float",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "maxThreshold": {
+ "format": "float",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "PredictionQueryToken": {
+ "type": "object",
+ "properties": {
+ "session": {
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "continuation": {
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "maxCount": {
+ "format": "int32",
+ "type": "integer",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "orderBy": {
+ "enum": [
+ "Newest",
+ "Oldest",
+ "Suggested"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "OrderBy",
+ "modelAsString": true
+ }
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PredictionQueryTag",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "iterationId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "application": {
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "Project": {
+ "description": "Represents a project.",
+ "required": [
+ "name",
+ "description",
+ "settings"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Gets the project id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "description": "Gets or sets the name of the project.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "description": {
+ "description": "Gets or sets the description of the project.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "settings": {
+ "$ref": "#/definitions/ProjectSettings",
+ "description": "Gets or sets the project settings.",
+ "readOnly": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Gets the date this project was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "Gets the date this project was last modified.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "thumbnailUri": {
+ "description": "Gets the thumbnail url representing the image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "drModeEnabled": {
+ "description": "Gets if the Disaster Recovery (DR) mode is on, indicating the project is temporarily read-only.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "ProjectSettings": {
+ "description": "Represents settings associated with a project.",
+ "type": "object",
+ "properties": {
+ "domainId": {
+ "format": "uuid",
+ "description": "Gets or sets the id of the Domain to use with this project.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "classificationType": {
+ "description": "Gets or sets the classification type of the project.",
+ "enum": [
+ "Multiclass",
+ "Multilabel"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "Classifier",
+ "modelAsString": true
+ }
+ },
+ "targetExportPlatforms": {
+ "description": "A list of ExportPlatform that the trained model should be able to support.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK"
+ ],
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "useNegativeSet": {
+ "description": "Indicates if negative set is being used.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "detectionParameters": {
+ "description": "Detection parameters in use, if any.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "imageProcessingSettings": {
+ "$ref": "#/definitions/ImageProcessingSettings",
+ "description": "Gets or sets image preprocessing settings.",
+ "readOnly": false
+ }
+ }
+ },
+ "Region": {
+ "required": [
+ "tagId",
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag associated with this region.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "RegionProposal": {
+ "type": "object",
+ "properties": {
+ "confidence": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "boundingBox": {
+ "$ref": "#/definitions/BoundingBox",
+ "readOnly": true
+ }
+ }
+ },
+ "StoredImagePrediction": {
+ "description": "Result of an image prediction request.",
+ "type": "object",
+ "properties": {
+ "resizedImageUri": {
+ "description": "The URI to the (resized) prediction image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbnailUri": {
+ "description": "The URI to the thumbnail of the original prediction image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "originalImageUri": {
+ "description": "The URI to the original prediction image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "domain": {
+ "format": "uuid",
+ "description": "Domain used for the prediction.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "id": {
+ "format": "uuid",
+ "description": "Prediction Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "project": {
+ "format": "uuid",
+ "description": "Project Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "iteration": {
+ "format": "uuid",
+ "description": "Iteration Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date this prediction was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "predictions": {
+ "description": "List of predictions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "StoredSuggestedTagAndRegion": {
+ "description": "Result of a suggested tags and regions request of the untagged image.",
+ "type": "object",
+ "properties": {
+ "width": {
+ "format": "int32",
+ "description": "Width of the resized image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "int32",
+ "description": "Height of the resized image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "resizedImageUri": {
+ "description": "The URI to the (resized) prediction image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbnailUri": {
+ "description": "The URI to the thumbnail of the original prediction image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "originalImageUri": {
+ "description": "The URI to the original prediction image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "domain": {
+ "format": "uuid",
+ "description": "Domain used for the prediction.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "id": {
+ "format": "uuid",
+ "description": "Prediction Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "project": {
+ "format": "uuid",
+ "description": "Project Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "iteration": {
+ "format": "uuid",
+ "description": "Iteration Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date this prediction was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "predictions": {
+ "description": "List of predictions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ },
+ "predictionUncertainty": {
+ "format": "double",
+ "description": "Uncertainty (entropy) of suggested tags or regions per image.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "SuggestedTagAndRegion": {
+ "description": "Result of a suggested tags and regions request.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Prediction Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "project": {
+ "format": "uuid",
+ "description": "Project Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "iteration": {
+ "format": "uuid",
+ "description": "Iteration Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date this prediction was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "predictions": {
+ "description": "List of predictions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ },
+ "predictionUncertainty": {
+ "format": "double",
+ "description": "Uncertainty (entropy) of suggested tags or regions per image.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "SuggestedTagAndRegionQuery": {
+ "description": "The array of result images and token containing session and continuation Ids for the next query.",
+ "type": "object",
+ "properties": {
+ "token": {
+ "$ref": "#/definitions/SuggestedTagAndRegionQueryToken",
+ "description": "Contains properties we need to fetch suggested tags for.",
+ "readOnly": false
+ },
+ "results": {
+ "description": "Result of a suggested tags and regions request of the untagged image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StoredSuggestedTagAndRegion",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SuggestedTagAndRegionQueryToken": {
+ "description": "Contains properties we need to fetch suggested tags for. For the first call, Session and continuation set to null.\r\nThen on subsequent calls, uses the session/continuation from the previous SuggestedTagAndRegionQuery result to fetch additional results.",
+ "type": "object",
+ "properties": {
+ "tagIds": {
+ "description": "Existing TagIds in project to filter suggested tags on.",
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "threshold": {
+ "format": "double",
+ "description": "Confidence threshold to filter suggested tags on.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "session": {
+ "description": "SessionId for database query. Initially set to null but later used to paginate.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "continuation": {
+ "description": "Continuation Id for database pagination. Initially null but later used to paginate.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "maxCount": {
+ "format": "int32",
+ "description": "Maximum number of results you want to be returned in the response.",
+ "type": "integer",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "sortBy": {
+ "description": "OrderBy. Ordering mechanism for your results.",
+ "enum": [
+ "UncertaintyAscending",
+ "UncertaintyDescending"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "SortBy",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Tag": {
+ "description": "Represents a Tag.",
+ "required": [
+ "name",
+ "description",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Gets the Tag ID.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "description": "Gets or sets the name of the tag.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "description": {
+ "description": "Gets or sets the description of the tag.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "type": {
+ "description": "Gets or sets the type of the tag.",
+ "enum": [
+ "Regular",
+ "Negative"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "TagType",
+ "modelAsString": true
+ }
+ },
+ "imageCount": {
+ "format": "int32",
+ "description": "Gets the number of images with this tag.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "TagFilter": {
+ "description": "Model that query for counting of images whose suggested tags match given tags and their probability are greater than or equal to the given threshold.",
+ "type": "object",
+ "properties": {
+ "tagIds": {
+ "description": "Existing TagIds in project to get suggested tags count for.",
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "threshold": {
+ "format": "double",
+ "description": "Confidence threshold to filter suggested tags on.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "TagPerformance": {
+ "description": "Represents performance data for a particular tag in a trained iteration.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "precision": {
+ "format": "float",
+ "description": "Gets the precision.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "precisionStdDeviation": {
+ "format": "float",
+ "description": "Gets the standard deviation for the precision.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "recall": {
+ "format": "float",
+ "description": "Gets the recall.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "recallStdDeviation": {
+ "format": "float",
+ "description": "Gets the standard deviation for the recall.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "averagePrecision": {
+ "format": "float",
+ "description": "Gets the average precision when applicable.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiKey": {
+ "name": "Training-Key",
+ "in": "header",
+ "description": "API key.",
+ "required": true,
+ "type": "string",
+ "x-ms-client-name": "ApiKey",
+ "x-ms-parameter-location": "client"
+ },
+ "Endpoint": {
+ "name": "Endpoint",
+ "in": "path",
+ "description": "Supported Cognitive Services endpoints.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "x-ms-skip-url-encoding": true
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImageRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImageRegions.json
new file mode 100644
index 000000000000..290b0cacd11a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImageRegions.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "batch": {
+ "regions": [
+ {
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "left": 0.25,
+ "top": 0.25,
+ "width": 0.25,
+ "height": 0.25
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "created": [],
+ "duplicated": [],
+ "exceeded": []
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImageTags.json
new file mode 100644
index 000000000000..5b7395424693
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImageTags.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "batch": {
+ "tags": [
+ {
+ "imageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "created": [
+ {
+ "imageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a"
+ }
+ ],
+ "duplicated": null,
+ "exceeded": null
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImagesFromData.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImagesFromData.json
new file mode 100644
index 000000000000..bab109da7c54
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImagesFromData.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "tagIds": [
+ "b607964f-7bd6-4a3b-a869-6791fb6aab87"
+ ],
+ "imageData": "multipart data"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": true,
+ "images": [
+ {
+ "sourceUrl": "\"hemlock_10.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ },
+ {
+ "sourceUrl": "\"hemlock_6.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "f1855a92-b873-47e7-b513-f07a667ceda1",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 900,
+ "height": 1531,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImagesFromFiles.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImagesFromFiles.json
new file mode 100644
index 000000000000..03ab3626201f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImagesFromFiles.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "batch": {
+ "images": [
+ {
+ "name": "hemlock_10.jpg",
+ "contents": "{image contents}"
+ }
+ ],
+ "tagIds": [
+ "b607964f-7bd6-4a3b-a869-6791fb6aab87"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": true,
+ "images": [
+ {
+ "sourceUrl": "\"hemlock_10.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImagesFromPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImagesFromPredictions.json
new file mode 100644
index 000000000000..741545bde645
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImagesFromPredictions.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "batch": {
+ "images": [
+ {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9"
+ }
+ ],
+ "tagIds": [
+ "b607964f-7bd6-4a3b-a869-6791fb6aab87"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": true,
+ "images": [
+ {
+ "sourceUrl": "\"hemlock_10.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImagesFromUrls.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImagesFromUrls.json
new file mode 100644
index 000000000000..f781b387b4ba
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateImagesFromUrls.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "batch": {
+ "images": [
+ {
+ "url": "{url to image}"
+ }
+ ],
+ "tagIds": [
+ "b607964f-7bd6-4a3b-a869-6791fb6aab87"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": true,
+ "images": [
+ {
+ "sourceUrl": "{url to image}",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag name"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateProject.json
new file mode 100644
index 000000000000..88f852ced738
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateProject.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "name": "My New Project",
+ "description": "A test project",
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "My New Project",
+ "description": "A test project",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2017-12-18T05:43:18Z",
+ "lastModified": "2017-12-18T05:43:18Z",
+ "thumbnailUri": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateTag.json
new file mode 100644
index 000000000000..ed19817462ae
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/CreateTag.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "Tag1",
+ "description": "Description of Tag1",
+ "body": ""
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "name": "Tag1",
+ "description": "Description of Tag1",
+ "type": "Regular",
+ "imageCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteImageRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteImageRegions.json
new file mode 100644
index 000000000000..8931d4e2629e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteImageRegions.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "regionIds": [
+ ""
+ ]
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteImageTags.json
new file mode 100644
index 000000000000..d6a188454e9b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteImageTags.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "imageIds": [
+ "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ ],
+ "tagIds": [
+ "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ ]
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteImages.json
new file mode 100644
index 000000000000..ccc479209fd2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteImages.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "imageIds": [
+ "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ ]
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteIteration.json
new file mode 100644
index 000000000000..d1f9b7629958
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteIteration.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeletePrediction.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeletePrediction.json
new file mode 100644
index 000000000000..c6b2d5c0bc58
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeletePrediction.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "ids": [
+ "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ ]
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteProject.json
new file mode 100644
index 000000000000..2b4cb5723a6a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteProject.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteTag.json
new file mode 100644
index 000000000000..e9f802505a09
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/DeleteTag.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/ExportIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/ExportIteration.json
new file mode 100644
index 000000000000..1bbfa05a5d86
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/ExportIteration.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "platform": "TensorFlow"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "platform": "TensorFlow",
+ "status": "Exporting",
+ "downloadUri": "",
+ "newerVersionAvailable": false
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetDomain.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetDomain.json
new file mode 100644
index 000000000000..c6702b3a8f29
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetDomain.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "domainId": "b30a91ae-e3c1-4f73-a81e-c270bff27c39"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39",
+ "name": "Retail",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetDomains.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetDomains.json
new file mode 100644
index 000000000000..a10887726fcb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetDomains.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "name": "General",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "c151d5b5-dd07-472a-acc8-15d29dea8518",
+ "name": "Food",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "ca455789-012d-4b50-9fec-5bb63841c793",
+ "name": "Landmarks",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39",
+ "name": "Retail",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "45badf75-3591-4f26-a705-45678d3e9f5f",
+ "name": "Adult",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "0732100f-1a38-4e49-a514-c9b44c697ab5",
+ "name": "General (compact)",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "b5cfd229-2ac7-4b2b-8d0a-2b0661344894",
+ "name": "Landmarks (compact)",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "6b4faeda-8396-481b-9f8b-177b9fa3097f",
+ "name": "Retail (compact)",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetExports.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetExports.json
new file mode 100644
index 000000000000..1267168dbb4c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetExports.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "platform": "TensorFlow",
+ "status": "Done",
+ "newerVersionAvailable": false,
+ "downloadUri": "{Download URI}"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetImagePerformanceCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetImagePerformanceCount.json
new file mode 100644
index 000000000000..c57ffd50669b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetImagePerformanceCount.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12",
+ "tagIds": [
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544"
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "1"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetImagePerformances.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetImagePerformances.json
new file mode 100644
index 000000000000..dfe6eb5a7208
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetImagePerformances.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "tagIds": [
+ ""
+ ],
+ "orderBy": "Newest"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042",
+ "created": "2018-01-31T20:18:26Z",
+ "predictions": [
+ {
+ "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "tagName": "Tag 1",
+ "probability": 1.0,
+ "boundingBox": {
+ "left": 0.25,
+ "top": 0.25,
+ "width": 0.25,
+ "height": 0.25
+ }
+ }
+ ],
+ "width": 600,
+ "height": 1600,
+ "imageUri": "",
+ "thumbnailUri": "",
+ "tags": [],
+ "regions": []
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetImageRegionProposals.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetImageRegionProposals.json
new file mode 100644
index 000000000000..7638215aae62
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetImageRegionProposals.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "proposals": [
+ {
+ "confidence": 0.25,
+ "boundingBox": {
+ "left": 0.25,
+ "top": 0.25,
+ "width": 0.25,
+ "height": 0.25
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetImagesByIds.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetImagesByIds.json
new file mode 100644
index 000000000000..037118bc9d41
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetImagesByIds.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": []
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetIteration.json
new file mode 100644
index 000000000000..2383a6c6f910
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetIteration.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "name": "Iteration 2",
+ "status": "Completed",
+ "created": "2017-12-18T22:40:36Z",
+ "lastModified": "2017-12-19T15:47:02Z",
+ "trainedAt": "2017-12-19T15:47:02Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetIterationPerformance.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetIterationPerformance.json
new file mode 100644
index 000000000000..323173c03a51
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetIterationPerformance.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "threshold": 0.9
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "perTagPerformance": [
+ {
+ "id": "e31ff107-5505-4753-be42-b369b21b026c",
+ "name": "Hemlock",
+ "precision": 1.0,
+ "precisionStdDeviation": 0.0,
+ "recall": 1.0,
+ "recallStdDeviation": 0.0
+ },
+ {
+ "id": "349d72ac-0948-4d51-b1e4-c14a1f9b848a",
+ "name": "Japanese Cherry",
+ "precision": 1.0,
+ "precisionStdDeviation": 0.0,
+ "recall": 1.0,
+ "recallStdDeviation": 0.0
+ }
+ ],
+ "precision": 1.0,
+ "precisionStdDeviation": 0.0,
+ "recall": 1.0,
+ "recallStdDeviation": 0.0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetIterations.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetIterations.json
new file mode 100644
index 000000000000..ac0c78134a80
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetIterations.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "name": "Iteration 1",
+ "status": "Completed",
+ "created": "2017-12-18T22:40:29Z",
+ "lastModified": "2017-12-18T22:40:41Z",
+ "trainedAt": "2017-12-18T22:40:41Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ },
+ {
+ "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "name": "Iteration 2",
+ "status": "Completed",
+ "created": "2017-12-18T22:40:36Z",
+ "lastModified": "2017-12-19T15:47:02Z",
+ "trainedAt": "2017-12-19T15:47:02Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 5,
+ "publishName": "model1"
+ },
+ {
+ "id": "3adaf7b2-18fc-4376-9da4-b5ea160a7cf5",
+ "name": "Iteration 3",
+ "status": "New",
+ "created": "2017-12-19T15:46:59Z",
+ "lastModified": "2017-12-19T15:46:59Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": null,
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetProject.json
new file mode 100644
index 000000000000..4b68bf1ea390
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetProject.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "My New Project",
+ "description": "A test project",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2017-12-18T05:43:18Z",
+ "lastModified": "2017-12-18T05:43:18Z",
+ "thumbnailUri": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetProjects.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetProjects.json
new file mode 100644
index 000000000000..b5166555936f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetProjects.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "My New Project",
+ "description": "",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2017-12-18T05:43:18Z",
+ "lastModified": "2017-12-18T05:43:18Z",
+ "thumbnailUri": ""
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetTag.json
new file mode 100644
index 000000000000..4ad3135822ae
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetTag.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "name": "Tag1",
+ "description": "Description of Tag1",
+ "type": "Regular",
+ "imageCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetTaggedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetTaggedImageCount.json
new file mode 100644
index 000000000000..c0ed09aa6ae9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetTaggedImageCount.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "10"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetTaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetTaggedImages.json
new file mode 100644
index 000000000000..037118bc9d41
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetTaggedImages.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": []
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetTags.json
new file mode 100644
index 000000000000..6ad8ea76c689
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetTags.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "name": "Tag1",
+ "description": "Description of Tag1",
+ "type": "Regular",
+ "imageCount": 0
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetUntaggedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetUntaggedImageCount.json
new file mode 100644
index 000000000000..c0ed09aa6ae9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetUntaggedImageCount.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "10"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetUntaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetUntaggedImages.json
new file mode 100644
index 000000000000..037118bc9d41
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/GetUntaggedImages.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": []
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/PublishIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/PublishIteration.json
new file mode 100644
index 000000000000..67d6ad03e29f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/PublishIteration.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "publishName": "Model1",
+ "predictionId": "/subscriptions/{subscription}/resourceGroups/{resource group name}/providers/Microsoft.CognitiveServices/accounts/{resource name}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": true
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QueryPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QueryPredictions.json
new file mode 100644
index 000000000000..0bd19d6b7980
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QueryPredictions.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "query": {
+ "orderBy": "Newest",
+ "tags": [
+ {
+ "id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "maxThreshold": 1,
+ "minThreshold": 0.9
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "results": [
+ {
+ "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042",
+ "project": "8988643a-ae70-447d-9a22-15c4255e5ecb",
+ "iteration": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "created": "2018-01-31T20:18:26Z",
+ "predictions": [
+ {
+ "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "tagName": "Tag 1",
+ "probability": 1.0
+ },
+ {
+ "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3",
+ "tagName": "Tag 2",
+ "probability": 3.60627153E-12
+ }
+ ],
+ "originalImageUri": "",
+ "thumbnailUri": "",
+ "resizedImageUri": "",
+ "domain": "b30a91ae-e3c1-4f73-a81e-c270bff27c39"
+ }
+ ],
+ "token": {
+ "session": "1:286613",
+ "continuation": "",
+ "maxCount": 0,
+ "orderBy": "Newest",
+ "tags": [
+ {
+ "id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "minThreshold": 0.9,
+ "maxThreshold": 1.0
+ }
+ ],
+ "iterationId": null,
+ "startTime": null,
+ "endTime": null,
+ "application": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QuerySuggestedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QuerySuggestedImageCount.json
new file mode 100644
index 000000000000..bfe12dad0540
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QuerySuggestedImageCount.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "query": {
+ "tagIds": [
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544": 1
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QuerySuggestedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QuerySuggestedImages.json
new file mode 100644
index 000000000000..c42db2bc784f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QuerySuggestedImages.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "query": {
+ "tagIds": [
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "results": [
+ {
+ "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042",
+ "project": "8988643a-ae70-447d-9a22-15c4255e5ecb",
+ "iteration": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "created": "2018-01-31T20:18:26Z",
+ "predictions": [
+ {
+ "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "tagName": "Tag 1",
+ "probability": 1.0
+ },
+ {
+ "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3",
+ "tagName": "Tag 2",
+ "probability": 3.60627153E-12
+ }
+ ],
+ "originalImageUri": "",
+ "thumbnailUri": "",
+ "resizedImageUri": "",
+ "domain": "b30a91ae-e3c1-4f73-a81e-c270bff27c39"
+ }
+ ],
+ "token": {
+ "session": "1:286613",
+ "continuation": "",
+ "maxCount": 0,
+ "sortBy": "Newest",
+ "tagIds": [
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QuickTestImage.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QuickTestImage.json
new file mode 100644
index 000000000000..489852dc79df
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QuickTestImage.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "imageData": "multipart-form-data"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "951098b2-9b69-427b-bddb-d5cb618874e3",
+ "project": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "created": "2017-12-19T14:21:41Z",
+ "predictions": [
+ {
+ "tagId": "e31ff107-5505-4753-be42-b369b21b026c",
+ "tagName": "Hemlock",
+ "probability": 0.05149666
+ },
+ {
+ "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a",
+ "tagName": "Japanese Cherry",
+ "probability": 0.00
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QuickTestImageUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QuickTestImageUrl.json
new file mode 100644
index 000000000000..dc904ef6f116
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/QuickTestImageUrl.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "imageUrl": {
+ "url": "{Image URL}"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "951098b2-9b69-427b-bddb-d5cb618874e3",
+ "project": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "created": "2017-12-19T14:21:41Z",
+ "predictions": [
+ {
+ "tagId": "e31ff107-5505-4753-be42-b369b21b026c",
+ "tagName": "Hemlock",
+ "probability": 0.05149666
+ },
+ {
+ "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a",
+ "tagName": "Japanese Cherry",
+ "probability": 0.00
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/SuggestTagsAndRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/SuggestTagsAndRegions.json
new file mode 100644
index 000000000000..175a0a2a01e0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/SuggestTagsAndRegions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "imageIds": [
+ "e7f08c23-9e54-49f7-b609-69a0240ba306",
+ "ce632666-4b66-4adb-aa0a-ad8b7c32df06"
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "8497e814-23cc-47d7-b24b-691cef0bcec9",
+ "project": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iteration": "ce271ee4-cc13-460f-b66f-993f8005522d",
+ "created": "2019-07-08T13:43:18Z",
+ "predictions": [
+ {
+ "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "tagName": "Tag 1",
+ "probability": 1.0
+ },
+ {
+ "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3",
+ "tagName": "Tag 2",
+ "probability": 3.60627153E-12
+ }
+ ],
+ "predictionUncertainty": 0.32
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/TrainProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/TrainProject.json
new file mode 100644
index 000000000000..52c20d928913
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/TrainProject.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "name": "Iteration 2",
+ "status": "Training",
+ "created": "2017-12-18T22:40:36Z",
+ "lastModified": "2017-12-19T15:46:58Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": null,
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/UnpublishIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/UnpublishIteration.json
new file mode 100644
index 000000000000..d1f9b7629958
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/UnpublishIteration.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/UpdateIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/UpdateIteration.json
new file mode 100644
index 000000000000..a965deb8aa0f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/UpdateIteration.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "updatedIteration": {
+ "name": "Best Iteration"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "name": "Best Iteration",
+ "status": "Completed",
+ "created": "2017-12-18T22:40:36Z",
+ "lastModified": "2017-12-19T15:53:07Z",
+ "trainedAt": "2017-12-19T15:47:02Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/UpdateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/UpdateProject.json
new file mode 100644
index 000000000000..e19735364b5e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/UpdateProject.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "updatedProject": {
+ "name": "New Project Name",
+ "description": "A new Description",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "New Project Name",
+ "description": "A new Description",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2017-12-18T05:43:18Z",
+ "lastModified": "2017-12-18T05:43:19Z",
+ "thumbnailUri": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/UpdateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/UpdateTag.json
new file mode 100644
index 000000000000..51e0ee680aab
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.1/examples/UpdateTag.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "updatedTag": {
+ "name": "Better Tag Name",
+ "type": "Regular",
+ "description": "Better description"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "name": "Better Tag Name",
+ "description": "Better description",
+ "type": "Regular",
+ "imageCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/LUIS-Authoring.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/LUIS-Authoring.json
new file mode 100644
index 000000000000..1f7aa67aa23b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/LUIS-Authoring.json
@@ -0,0 +1,10236 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "LUIS Authoring Client",
+ "version": "3.0-preview"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/luis/api/v3.0-preview",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "securityDefinitions": {
+ "apiKeyHeader": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apiKeyHeader": []
+ }
+ ],
+ "paths": {
+ "/apps/{appId}/versions/{versionId}/patterns": {
+ "post": {
+ "description": "[DEPRECATED NOTICE: This operation will soon be removed] Creates a new pattern feature in a version of the application.",
+ "operationId": "Features_CreatePatternFeature",
+ "deprecated": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "patternCreateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatternCreateObject"
+ },
+ "description": "The Name and Pattern of the feature."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created feature.",
+ "schema": {
+ "$ref": "#/definitions/FeatureIDResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Create Pattern Feature request": {
+ "$ref": "./examples/features/SuccessfulCreatePatternFeatureRequest.json"
+ }
+ }
+ },
+ "get": {
+ "description": "[DEPRECATED NOTICE: This operation will soon be removed] Gets all the pattern features.",
+ "operationId": "Features_ListApplicationVersionPatternFeatures",
+ "deprecated": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of pattern features.",
+ "schema": {
+ "$ref": "#/definitions/PatternFeatureInfoList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Version Pattern Features request": {
+ "$ref": "./examples/features/SuccessfulGetApplicationVersionPatternFeaturesRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/phraselists": {
+ "post": {
+ "description": "Creates a new phraselist feature in a version of the application.",
+ "operationId": "Features_AddPhraseList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "phraselistCreateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PhraselistCreateObject"
+ },
+ "description": "A Phraselist object containing Name, comma-separated Phrases and the isExchangeable boolean. Default value for isExchangeable is true."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created feature.",
+ "schema": {
+ "$ref": "#/definitions/FeatureIDResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Create Phraselist Feature request": {
+ "$ref": "./examples/features/SuccessfulCreatePhraselistFeatureRequest.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Gets all the phraselist features in a version of the application.",
+ "operationId": "Features_ListPhraseLists",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of all phraselist features.",
+ "schema": {
+ "$ref": "#/definitions/PhraseListFeatureInfoList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Version Phraselist Features request": {
+ "$ref": "./examples/features/SuccessfulGetApplicationVersionPhraselistFeaturesRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/features": {
+ "get": {
+ "description": "Gets all the extraction phraselist and pattern features in a version of the application.",
+ "operationId": "Features_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of all phraselist features and a list of all pattern features.",
+ "schema": {
+ "$ref": "#/definitions/FeaturesResponseObject"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Version Features request": {
+ "$ref": "./examples/features/SuccessfulGetApplicationVersionFeaturesRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/patterns/{patternId}": {
+ "get": {
+ "description": "[DEPRECATED NOTICE: This operation will soon be removed] Gets the specified pattern feature's info in a version of the application.",
+ "operationId": "Features_GetPatternFeatureInfo",
+ "deprecated": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "patternId",
+ "in": "path",
+ "description": "The pattern feature ID.",
+ "required": true,
+ "type": "integer"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The pattern feature info.",
+ "schema": {
+ "$ref": "#/definitions/PatternFeatureInfo"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Pattern Feature Info request": {
+ "$ref": "./examples/features/SuccessfulGetPatternFeatureInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "[DEPRECATED NOTICE: This operation will soon be removed] Updates the pattern, the name and the state of the pattern feature in a version of the application.",
+ "operationId": "Features_UpdatePatternFeature",
+ "deprecated": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "patternId",
+ "in": "path",
+ "description": "The pattern feature ID.",
+ "required": true,
+ "type": "integer"
+ },
+ {
+ "name": "patternUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatternUpdateObject"
+ },
+ "description": "The new values for: - Just a boolean called IsActive, in which case the status of the feature will be changed. - Name, Pattern and a boolean called IsActive to update the feature."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Update Pattern Feature Info request": {
+ "$ref": "./examples/features/SuccessfulUpdatePatternFeatureInfoRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "[DEPRECATED NOTICE: This operation will soon be removed] Deletes a pattern feature in a version of the application.",
+ "operationId": "Features_DeletePatternFeature",
+ "deprecated": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "patternId",
+ "in": "path",
+ "description": "The pattern feature ID.",
+ "required": true,
+ "type": "integer"
+ }
+ ],
+ "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 Pattern Feature Info request": {
+ "$ref": "./examples/features/SuccessfulDeletePatternFeatureInfoRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}": {
+ "get": {
+ "description": "Gets phraselist feature info in a version of the application.",
+ "operationId": "Features_GetPhraseList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "phraselistId",
+ "in": "path",
+ "description": "The ID of the feature to be retrieved.",
+ "required": true,
+ "type": "integer"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A phraselist feature info.",
+ "schema": {
+ "$ref": "#/definitions/PhraseListFeatureInfo"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Phraselist Feature Info request": {
+ "$ref": "./examples/features/SuccessfulGetPhraselistFeatureInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Updates the phrases, the state and the name of the phraselist feature in a version of the application.",
+ "operationId": "Features_UpdatePhraseList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "phraselistId",
+ "in": "path",
+ "description": "The ID of the feature to be updated.",
+ "required": true,
+ "type": "integer"
+ },
+ {
+ "name": "phraselistUpdateObject",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/PhraselistUpdateObject"
+ },
+ "description": "The new values for: - Just a boolean called IsActive, in which case the status of the feature will be changed. - Name, Pattern, Mode, and a boolean called IsActive to update the feature."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated phraselist.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Update Phraselist Feature Info request": {
+ "$ref": "./examples/features/SuccessfulUpdatePhraselistFeatureInfoRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes a phraselist feature from a version of the application.",
+ "operationId": "Features_DeletePhraseList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "phraselistId",
+ "in": "path",
+ "description": "The ID of the feature to be deleted.",
+ "required": true,
+ "type": "integer"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted phraselist.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Delete Phraselist Feature Info request": {
+ "$ref": "./examples/features/SuccessfulDeletePhraselistFeatureInfoRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/example": {
+ "post": {
+ "description": "Adds a labeled example utterance in a version of the application.",
+ "operationId": "Examples_Add",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "exampleLabelObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExampleLabelObject"
+ },
+ "description": "A labeled example utterance with the expected intent and entities."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created example utterance.",
+ "schema": {
+ "$ref": "#/definitions/LabelExampleResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Add Label request": {
+ "$ref": "./examples/examples/SuccessfulAddLabelRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/examples": {
+ "post": {
+ "description": "Adds a batch of labeled example utterances to a version of the application.",
+ "operationId": "Examples_Batch",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "exampleLabelObjectArray",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExampleLabelObjectArray"
+ },
+ "description": "Array of example utterances."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "A string array determining which labeled example utterances were added successfully.",
+ "schema": {
+ "$ref": "#/definitions/BatchLabelExampleResponse"
+ }
+ },
+ "207": {
+ "description": "Indicates that the request was partially successful. The response contains a string array indicating the status of each of the added labeled example utterances.",
+ "schema": {
+ "$ref": "#/definitions/BatchLabelExampleResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Batch Add Labels request": {
+ "$ref": "./examples/examples/SuccessfulBatchAddLabelsRequest.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Returns example utterances to be reviewed from a version of the application.",
+ "operationId": "Examples_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of predictions and label pairs for every example utterance in the application.",
+ "schema": {
+ "$ref": "#/definitions/LabeledUtterances"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Review Labeled Examples request": {
+ "$ref": "./examples/examples/SuccessfulReviewLabeledExamplesRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/examples/{exampleId}": {
+ "delete": {
+ "description": "Deletes the labeled example utterances with the specified ID from a version of the application.",
+ "operationId": "Examples_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "exampleId",
+ "in": "path",
+ "description": "The example ID.",
+ "required": true,
+ "type": "integer"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted example utterance.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Delete Example Label request": {
+ "$ref": "./examples/examples/SuccessfulDeleteExampleLabelRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/intents": {
+ "post": {
+ "description": "Adds an intent to a version of the application.",
+ "operationId": "Model_AddIntent",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "intentCreateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ModelCreateObject"
+ },
+ "description": "A model object containing the name of the new intent."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created intent model.",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Create Intent Classifier request": {
+ "$ref": "./examples/model/SuccessfulCreateIntentClassifierRequest.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Gets information about the intent models in a version of the application.",
+ "operationId": "Model_ListIntents",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of intent model infos.",
+ "schema": {
+ "$ref": "#/definitions/IntentClassifiersList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Version Intent Infos request": {
+ "$ref": "./examples/model/SuccessfulGetApplicationVersionIntentInfosRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/entities": {
+ "post": {
+ "description": "Adds an entity extractor to a version of the application.",
+ "operationId": "Model_AddEntity",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityModelCreateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityModelCreateObject"
+ },
+ "description": "A model object containing the name of the new entity extractor and its children."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created model.",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Create Entity Extractor request": {
+ "$ref": "./examples/model/SuccessfulCreateEntityExtractorRequest.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Gets information about all the simple entity models in a version of the application.",
+ "operationId": "Model_ListEntities",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of entity model infos.",
+ "schema": {
+ "$ref": "#/definitions/NDepthEntityExtractorsList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Version Entity Infos request": {
+ "$ref": "./examples/model/SuccessfulGetApplicationVersionEntityInfosRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/hierarchicalentities": {
+ "get": {
+ "description": "Gets information about all the hierarchical entity models in a version of the application.",
+ "operationId": "Model_ListHierarchicalEntities",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of hierarchical entity model infos.",
+ "schema": {
+ "$ref": "#/definitions/HierarchicalEntityExtractorsList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Version Hierarchical Entity Infos request": {
+ "$ref": "./examples/model/SuccessfulGetApplicationVersionHierarchicalEntityInfosRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/compositeentities": {
+ "get": {
+ "description": "Gets information about all the composite entity models in a version of the application.",
+ "operationId": "Model_ListCompositeEntities",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of composite entity model infos.",
+ "schema": {
+ "$ref": "#/definitions/CompositeEntityExtractorsList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Version Composite Entity Infos request": {
+ "$ref": "./examples/model/SuccessfulGetApplicationVersionCompositeEntityInfosRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/closedlists": {
+ "get": {
+ "description": "Gets information about all the list entity models in a version of the application.",
+ "operationId": "Model_ListClosedLists",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of list entity model infos.",
+ "schema": {
+ "$ref": "#/definitions/ClosedListEntityExtractorsList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Version Closed List Infos request": {
+ "$ref": "./examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json"
+ }
+ }
+ },
+ "post": {
+ "description": "Adds a list entity model to a version of the application.",
+ "operationId": "Model_AddClosedList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "closedListModelCreateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClosedListModelCreateObject"
+ },
+ "description": "A model containing the name and words for the new list entity extractor."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created model.",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Create Closed List Entity Model request": {
+ "$ref": "./examples/model/SuccessfulCreateClosedListEntityModelRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/prebuilts": {
+ "post": {
+ "description": "Adds a list of prebuilt entities to a version of the application.",
+ "operationId": "Model_AddPrebuilt",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "prebuiltExtractorNames",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrebuiltExtractorNames"
+ },
+ "description": "An array of prebuilt entity extractor names."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "An array of the created prebuilt extractor infos.",
+ "schema": {
+ "$ref": "#/definitions/PrebuiltEntityExtractorsList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Add Application Version Prebuilt Infos request": {
+ "$ref": "./examples/model/SuccessfulAddApplicationVersionPrebuiltInfosRequest.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Gets information about all the prebuilt entities in a version of the application.",
+ "operationId": "Model_ListPrebuilts",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of prebuilt entity models infos.",
+ "schema": {
+ "$ref": "#/definitions/PrebuiltEntityExtractorsList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Version Prebuilt Infos request": {
+ "$ref": "./examples/model/SuccessfulGetApplicationVersionPrebuiltInfosRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/listprebuilts": {
+ "get": {
+ "description": "Gets all the available prebuilt entities in a version of the application.",
+ "operationId": "Model_ListPrebuiltEntities",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of the possible prebuilt entity extractors.",
+ "schema": {
+ "$ref": "#/definitions/AvailablePrebuiltEntityModels"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Available Prebuilt Entity Extractors request": {
+ "$ref": "./examples/model/SuccessfulGetAvailablePrebuiltEntityExtractorsRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/models": {
+ "get": {
+ "description": "Gets information about all the intent and entity models in a version of the application.",
+ "operationId": "Model_ListModels",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of application model infos.",
+ "schema": {
+ "$ref": "#/definitions/ModelsInfoResponseObject"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Version Model Infos request": {
+ "$ref": "./examples/model/SuccessfulGetApplicationVersionModelInfosRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/models/{modelId}/examples": {
+ "get": {
+ "description": "Gets the example utterances for the given intent or entity model in a version of the application.",
+ "operationId": "Model_Examples",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "modelId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID (GUID) of the model.",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of example utterances for the model.",
+ "schema": {
+ "$ref": "#/definitions/ExamplesPerModelResponseObject"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Examples Per Model Request": {
+ "$ref": "./examples/model/SuccessfulGetExamplesPerModelRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/intents/{intentId}": {
+ "get": {
+ "description": "Gets information about the intent model in a version of the application.",
+ "operationId": "Model_GetIntent",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/IntentIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An intent model info.",
+ "schema": {
+ "$ref": "#/definitions/IntentClassifier"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Intent Info request": {
+ "$ref": "./examples/model/SuccessfulGetIntentInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Updates the name of an intent in a version of the application.",
+ "operationId": "Model_UpdateIntent",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/IntentIdInPath"
+ },
+ {
+ "name": "modelUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ModelUpdateObject"
+ },
+ "description": "A model object containing the new intent name."
+ }
+ ],
+ "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 Rename Intent Model request": {
+ "$ref": "./examples/model/SuccessfulRenameIntentModelRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes an intent from a version of the application.",
+ "operationId": "Model_DeleteIntent",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/IntentIdInPath"
+ },
+ {
+ "name": "deleteUtterances",
+ "in": "query",
+ "type": "boolean",
+ "description": "If true, deletes the intent's example utterances. If false, moves the example utterances to the None intent. The default value is false.",
+ "default": false
+ }
+ ],
+ "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 Intent Model request": {
+ "$ref": "./examples/model/SuccessfulDeleteIntentModelRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/entities/{entityId}": {
+ "get": {
+ "description": "Gets information about an entity model in a version of the application.",
+ "operationId": "Model_GetEntity",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An entity model info.",
+ "schema": {
+ "$ref": "#/definitions/NDepthEntityExtractor"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Entity Info request": {
+ "$ref": "./examples/model/SuccessfulGetEntityInfoRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes an entity or a child from a version of the application.",
+ "operationId": "Model_DeleteEntity",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity extractor or the child entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted entity.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Delete Entity Info request": {
+ "$ref": "./examples/model/SuccessfulDeleteEntityExtractorRequest.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates the name of an entity extractor or the name and instanceOf model of a child entity extractor.",
+ "operationId": "Model_UpdateEntityChild",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity extractor or the child entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityModelUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityModelUpdateObject"
+ },
+ "description": "A model object containing the name new entity extractor or the name and instance of model of a child entity extractor "
+ }
+ ],
+ "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 Update Entity Extractor request": {
+ "$ref": "./examples/model/SuccessfulUpdateEntityExtractorRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}": {
+ "get": {
+ "description": "Gets information about a hierarchical entity in a version of the application.",
+ "operationId": "Model_GetHierarchicalEntity",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/HEntityIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A hierarchical entity model info.",
+ "schema": {
+ "$ref": "#/definitions/HierarchicalEntityExtractor"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Hierarchical Entity Info request": {
+ "$ref": "./examples/model/SuccessfulGetHierarchicalEntityInfoRequest.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates the name of a hierarchical entity model in a version of the application.",
+ "operationId": "Model_UpdateHierarchicalEntity",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/HEntityIdInPath"
+ },
+ {
+ "name": "modelUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ModelUpdateObject"
+ },
+ "description": "Model containing names of the hierarchical entity."
+ }
+ ],
+ "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 Get Hierarchical Entity Info request": {
+ "$ref": "./examples/model/SuccessfulUpdateHierarchicalEntityModelRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes a hierarchical entity from a version of the application.",
+ "operationId": "Model_DeleteHierarchicalEntity",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/HEntityIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted entity.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Delete Hierarchical Entity Model request": {
+ "$ref": "./examples/model/SuccessfulDeleteHierarchicalEntityModelRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}": {
+ "get": {
+ "description": "Gets information about a composite entity in a version of the application.",
+ "operationId": "Model_GetCompositeEntity",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/CEntityIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The composite entity model info.",
+ "schema": {
+ "$ref": "#/definitions/CompositeEntityExtractor"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Composite Entity Info request": {
+ "$ref": "./examples/model/SuccessfulGetCompositeEntityInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Updates a composite entity in a version of the application.",
+ "operationId": "Model_UpdateCompositeEntity",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/CEntityIdInPath"
+ },
+ {
+ "name": "compositeModelUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CompositeEntityModel"
+ },
+ "description": "A model object containing the new entity extractor name and children."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Update Composite Entity Extractor request": {
+ "$ref": "./examples/model/SuccessfulUpdateCompositeEntityModelRequest.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated composite entity.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes a composite entity from a version of the application.",
+ "operationId": "Model_DeleteCompositeEntity",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/CEntityIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted composite entity.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Delete Entity Info request": {
+ "$ref": "./examples/model/SuccessfulDeleteCompositeEntityModelRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}": {
+ "get": {
+ "description": "Gets information about a list entity in a version of the application.",
+ "operationId": "Model_GetClosedList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "clEntityId",
+ "in": "path",
+ "description": "The list model ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list model info.",
+ "schema": {
+ "$ref": "#/definitions/ClosedListEntityExtractor"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Closed List Entity Info request": {
+ "$ref": "./examples/model/SuccessfulGetClosedListEntityInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Updates the list entity in a version of the application.",
+ "operationId": "Model_UpdateClosedList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "clEntityId",
+ "in": "path",
+ "description": "The list model ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "closedListModelUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClosedListModelUpdateObject"
+ },
+ "description": "The new list entity name and words list."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated list entity name and words list.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Update Closed List Entity Info request": {
+ "$ref": "./examples/model/SuccessfulUpdateClosedListEntityModelRequest.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Adds a batch of sublists to an existing list entity in a version of the application.",
+ "operationId": "Model_PatchClosedList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "clEntityId",
+ "in": "path",
+ "description": "The list entity model ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "closedListModelPatchObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClosedListModelPatchObject"
+ },
+ "description": "A words list batch."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully added sublists to the list entity.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Add SubLists to Closed List Entity request": {
+ "$ref": "./examples/model/SuccessfulPatchClosedListEntityModelRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes a list entity model from a version of the application.",
+ "operationId": "Model_DeleteClosedList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "clEntityId",
+ "in": "path",
+ "description": "The list entity model ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully delete list entity from a version of application.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Delete Closed List Entity Info request": {
+ "$ref": "./examples/model/SuccessfulDeleteClosedListEntityModelRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId}": {
+ "get": {
+ "description": "Gets information about a prebuilt entity model in a version of the application.",
+ "operationId": "Model_GetPrebuilt",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "prebuiltId",
+ "in": "path",
+ "description": "The prebuilt entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A prebuilt entity models info.",
+ "schema": {
+ "$ref": "#/definitions/PrebuiltEntityExtractor"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Prebuilt Info request": {
+ "$ref": "./examples/model/SuccessfulGetPrebuiltInfoRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes a prebuilt entity extractor from a version of the application.",
+ "operationId": "Model_DeletePrebuilt",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "prebuiltId",
+ "in": "path",
+ "description": "The prebuilt entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Prebuilt Info request": {
+ "$ref": "./examples/model/SuccessfulDeletePrebuiltEntityRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId}": {
+ "delete": {
+ "description": "Deletes a sublist of a specific list entity model from a version of the application.",
+ "operationId": "Model_DeleteSubList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "clEntityId",
+ "in": "path",
+ "description": "The list entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "subListId",
+ "in": "path",
+ "description": "The sublist ID.",
+ "required": true,
+ "type": "integer",
+ "format": "int64"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted sublist.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Delete Sublist request": {
+ "$ref": "./examples/model/SuccessfulDeleteSublistRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Updates one of the list entity's sublists in a version of the application.",
+ "operationId": "Model_UpdateSubList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "clEntityId",
+ "in": "path",
+ "description": "The list entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "subListId",
+ "in": "path",
+ "description": "The sublist ID.",
+ "required": true,
+ "type": "integer",
+ "format": "int64"
+ },
+ {
+ "name": "wordListBaseUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WordListBaseUpdateObject"
+ },
+ "description": "A sublist update object containing the new canonical form and the list of words."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated sublist.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Update Sublist request": {
+ "$ref": "./examples/model/SuccessfulUpdateSublistRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/intents/{intentId}/suggest": {
+ "get": {
+ "description": "Suggests example utterances that would improve the accuracy of the intent model in a version of the application.",
+ "operationId": "Model_ListIntentSuggestions",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/IntentIdInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If there's no trained intent model, nothing is returned in the response. If there's a trained model and active learning finds any relevant queries, they are returned with the intent model predictions. If there's a trained model but active learning didn't find any relevant queries, an empty list is returned in the response.",
+ "schema": {
+ "$ref": "#/definitions/IntentsSuggestionExamples"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Intents Suggestion Examples": {
+ "$ref": "./examples/model/SuccessfulGetIntentsSuggestionExamples.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/entities/{entityId}/suggest": {
+ "get": {
+ "description": "Get suggested example utterances that would improve the accuracy of the entity model in a version of the application.",
+ "operationId": "Model_ListEntitySuggestions",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The target entity extractor model to enhance.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If there's no trained entity model, nothing is returned in the response. If there's a trained model and active learning finds any relevant queries, they are returned with the entity model predictions. If there's a trained model but active learning didn't find any relevant queries, an empty list is returned in the response.",
+ "schema": {
+ "$ref": "#/definitions/EntitiesSuggestionExamples"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Entity Suggestion Examples": {
+ "$ref": "./examples/model/SuccessfulGetEntitySuggestionExamples.json"
+ }
+ }
+ }
+ },
+ "/apps/": {
+ "post": {
+ "description": "Creates a new LUIS app.",
+ "operationId": "Apps_Add",
+ "parameters": [
+ {
+ "name": "applicationCreateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationCreateObject"
+ },
+ "description": "An application containing Name, Description (optional), Culture, Usage Scenario (optional), Domain (optional) and initial version ID (optional) of the application. Default value for the version ID is \"0.1\". Note: the culture cannot be changed after the app is created."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created application.",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Application Creation": {
+ "$ref": "./examples/apps/SuccessfulAddApplicationRequest.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Lists all of the user's applications.",
+ "operationId": "Apps_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of the user applications.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationsInfoList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Applications List request": {
+ "$ref": "./examples/apps/SuccessfulGetApplicationsListRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/import": {
+ "post": {
+ "description": "Imports an application to LUIS, the application's structure is included in the request body.",
+ "operationId": "Apps_Import",
+ "parameters": [
+ {
+ "name": "appName",
+ "in": "query",
+ "description": "The application name to create. If not specified, the application name will be read from the imported object. If the application name already exists, an error is returned.",
+ "type": "string"
+ },
+ {
+ "name": "luisApp",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LuisApp"
+ },
+ "description": "A LUIS application structure."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the imported application.",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Import Application": {
+ "$ref": "./examples/apps/SuccessfulImportApplicationRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/assistants": {
+ "get": {
+ "description": "Gets the endpoint URLs for the prebuilt Cortana applications.",
+ "operationId": "Apps_ListCortanaEndpoints",
+ "responses": {
+ "200": {
+ "description": "A personal assistant apps JSON object containing the endpoint URLs for Cortana applications and the user's endpoint keys.",
+ "schema": {
+ "$ref": "#/definitions/PersonalAssistantsResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Personal Assistant Applications": {
+ "$ref": "./examples/apps/SuccessfulGetPersonalAssistantApplications.json"
+ }
+ }
+ }
+ },
+ "/apps/domains": {
+ "get": {
+ "description": "Gets the available application domains.",
+ "operationId": "Apps_ListDomains",
+ "responses": {
+ "200": {
+ "description": "A list object containing the available application domains.",
+ "schema": {
+ "$ref": "#/definitions/AvailableDomains"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Domains request": {
+ "$ref": "./examples/apps/SuccessfulGetApplicationDomainsRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/usagescenarios": {
+ "get": {
+ "description": "Gets the application available usage scenarios.",
+ "operationId": "Apps_ListUsageScenarios",
+ "responses": {
+ "200": {
+ "description": "A list object containing the available application usage scenarios.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationUsageScenarios"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Usage Scenarios request": {
+ "$ref": "./examples/apps/SuccessfulGetApplicationUsageScenariosListRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/cultures": {
+ "get": {
+ "description": "Gets a list of supported cultures. Cultures are equivalent to the written language and locale. For example,\"en-us\" represents the U.S. variation of English.",
+ "operationId": "Apps_ListSupportedCultures",
+ "responses": {
+ "200": {
+ "description": "A list object containing the supported application cultures.",
+ "schema": {
+ "$ref": "#/definitions/AvailableCultures"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Cultures request": {
+ "$ref": "./examples/apps/SuccessfulGetApplicationCulturesRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/querylogs": {
+ "get": {
+ "description": "Gets the logs of the past month's endpoint queries for the application.",
+ "operationId": "Apps_DownloadQueryLogs",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A CSV file containing the query logs for the past month.",
+ "schema": {
+ "type": "object",
+ "format": "file",
+ "description": "The query logs of an application for the past month in CSV format."
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/octet-stream"
+ ],
+ "x-ms-examples": {
+ "Successful Download Application Query logs request": {
+ "$ref": "./examples/apps/SuccessfulDownloadApplicationQueryLogsRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}": {
+ "get": {
+ "description": "Gets the application info.",
+ "operationId": "Apps_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The application info.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInfoResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Info request": {
+ "$ref": "./examples/apps/SuccessfulGetApplicationInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Updates the name or description of the application.",
+ "operationId": "Apps_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "name": "applicationUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationUpdateObject"
+ },
+ "description": "A model containing Name and Description of the application."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application name and description.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Rename Application request": {
+ "$ref": "./examples/apps/SuccessfulRenameApplicationRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes an application.",
+ "operationId": "Apps_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/ForcePath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted application.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Rename Application request": {
+ "$ref": "./examples/apps/SuccessfulDeleteApplicationRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/clone": {
+ "post": {
+ "description": "Creates a new version from the selected version.",
+ "operationId": "Versions_Clone",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "versionCloneObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TaskUpdateObject"
+ },
+ "description": "A model containing the new version ID."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The new version ID.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Clone Application Version request": {
+ "$ref": "./examples/versions/SuccessfulCloneApplicatioVersionRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/publish": {
+ "post": {
+ "description": "Publishes a specific version of the application.",
+ "operationId": "Apps_Publish",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "name": "applicationPublishObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationPublishObject"
+ },
+ "description": "The application publish object. The region is the target region that the application is published to."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Publish Application request": {
+ "$ref": "./examples/apps/SuccessfulPublishApplicationRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions": {
+ "get": {
+ "description": "Gets a list of versions for this application ID.",
+ "operationId": "Versions_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of all versions of the application.",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VersionInfo"
+ }
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Versions info request": {
+ "$ref": "./examples/versions/SuccessfulGetApplicationVersionsInfoRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/": {
+ "get": {
+ "description": "Gets the version information such as date created, last modified date, endpoint URL, count of intents and entities, training and publishing status.",
+ "operationId": "Versions_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A model containing the version info.",
+ "schema": {
+ "$ref": "#/definitions/VersionInfo"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Version info request": {
+ "$ref": "./examples/versions/SuccessfulGetApplicationVersionInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Updates the name or description of the application version.",
+ "operationId": "Versions_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "versionUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TaskUpdateObject"
+ },
+ "description": "A model containing Name and Description of the application."
+ }
+ ],
+ "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 Rename Application Version request": {
+ "$ref": "./examples/versions/SuccessfulRenameApplicationVersionRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes an application version.",
+ "operationId": "Versions_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ }
+ ],
+ "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 Application Version request": {
+ "$ref": "./examples/versions/SuccessfulDeleteApplicationVersionRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/export": {
+ "get": {
+ "description": "Exports a LUIS application to JSON format.",
+ "operationId": "Versions_Export",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/LuisApp"
+ },
+ "description": "The LUIS application structure in JSON format."
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Export Application Version": {
+ "$ref": "./examples/versions/SuccessfulExportApplicationVersionRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/train": {
+ "post": {
+ "description": "Sends a training request for a version of a specified LUIS app. This POST request initiates a request asynchronously. To determine whether the training request is successful, submit a GET request to get training status. Note: The application version is not fully trained unless all the models (intents and entities) are trained successfully or are up to date. To verify training success, get the training status at least once after training is complete.",
+ "operationId": "Train_TrainVersion",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "This response indicates the initial training status.",
+ "schema": {
+ "$ref": "#/definitions/EnqueueTrainingResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Train Application Version request": {
+ "$ref": "./examples/train/SuccessfulTrainApplicationVersionRequest.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Gets the training status of all models (intents and entities) for the specified LUIS app. You must call the train API to train the LUIS app before you call this API to get training status. \"appID\" specifies the LUIS app ID. \"versionId\" specifies the version number of the LUIS app. For example, \"0.1\".",
+ "operationId": "Train_GetStatus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response provides an array of training status details for a LUIS app that you submitted for training. Each element in the response array provides training status for a model (intent or entity) in the LUIS app. Note: Training status is not provided for prebuilt entities because they are pretrained. The \"modelId\" property identifies which intent or entity the training status corresponds to. To get the name and type of each model, use the models API which has a request URL in this format: https://westus.api.cognitive.microsoft.com/luis/api/v3.0-preview/apps/{appId}/versions/{versionId}/models The details property for each model can contain the following fields: \"statusId\": An integer from 0 to 3 that corresponds to the value of the status field. \"status\": A string with one of the following values: \"Success\", \"UpToDate\", \"InProgress\", \"Fail\". If the status is \"Fail\", the \"failureReason\" property provides the reason for failure. \"exampleCount\": The number of examples used for training. In the case of the None intent or prebuilt domain intents and entities, this number includes example provided internally by the system as well as examples you added to your LUIS app. \"failureReason\": A string that indicates the reason training failed. The value \"FewLabels\" means that no labeled example utterances were provided for training. \"trainingDateTime\": A string indicating the time the model was last trained. The value uses the ISO 8601 format for representing times in UTC (Coordinated Universal Time) with a UTC designator (\"Z\"), for example: \"2017-08-10T01:08:34Z\".",
+ "schema": {
+ "$ref": "#/definitions/ModelTrainingInfoList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json",
+ "JSON"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Version Training Status request": {
+ "$ref": "./examples/train/SuccessfulGetApplicationVersionTrainingStatusRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/import": {
+ "post": {
+ "description": "Imports a new version into a LUIS application.",
+ "operationId": "Versions_Import",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "name": "versionId",
+ "in": "query",
+ "description": "The new versionId to import. If not specified, the versionId will be read from the imported object.",
+ "type": "string"
+ },
+ {
+ "name": "luisApp",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LuisApp"
+ },
+ "description": "A LUIS application structure."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The created application version.",
+ "schema": {
+ "$ref": "#/definitions/VersionResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Import Application": {
+ "$ref": "./examples/versions/SuccessfulImportApplicationVersionRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/settings": {
+ "get": {
+ "description": "Get the application settings including 'UseAllTrainingData'.",
+ "operationId": "Apps_GetSettings",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The application settings.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSettings"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Settings request": {
+ "$ref": "./examples/apps/SuccessfulGetApplicationSettingsRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Updates the application settings including 'UseAllTrainingData'.",
+ "operationId": "Apps_UpdateSettings",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "name": "applicationSettingUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationSettingUpdateObject"
+ },
+ "description": "An object containing the new application settings."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application settings.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Update Application Settings request": {
+ "$ref": "./examples/apps/SuccessfulUpdateApplicationSettingsRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/publishsettings": {
+ "get": {
+ "description": "Get the application publish settings including 'UseAllTrainingData'.",
+ "operationId": "Apps_GetPublishSettings",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The application publish settings.",
+ "schema": {
+ "$ref": "#/definitions/PublishSettings"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Publish Settings request": {
+ "$ref": "./examples/apps/SuccessfulGetPublishSettingsRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Updates the application publish settings including 'UseAllTrainingData'.",
+ "operationId": "Apps_UpdatePublishSettings",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "name": "publishSettingUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PublishSettingUpdateObject"
+ },
+ "description": "An object containing the new publish application settings."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application settings.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Update Publish Settings request": {
+ "$ref": "./examples/apps/SuccessfulUpdatePublishSettingsRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/suggest": {
+ "delete": {
+ "description": "Deleted an unlabelled utterance in a version of the application.",
+ "operationId": "Versions_DeleteUnlabelledUtterance",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "utterance",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "The utterance text to delete."
+ }
+ ],
+ "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 Unlabelled Utterance": {
+ "$ref": "./examples/versions/SuccessfulDeleteUnlabelledUtteranceRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/permissions": {
+ "get": {
+ "description": "Gets the list of user emails that have permissions to access your application.",
+ "operationId": "Permissions_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list includes a single owner. All collaborators are listed in the emails array.",
+ "schema": {
+ "$ref": "#/definitions/UserAccessList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application User Access List": {
+ "$ref": "./examples/permissions/SuccessfulGetApplicationUserAccessListRequest.json"
+ }
+ }
+ },
+ "post": {
+ "description": "Adds a user to the allowed list of users to access this LUIS application. Users are added using their email address.",
+ "operationId": "Permissions_Add",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "name": "userToAdd",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UserCollaborator"
+ },
+ "description": "A model containing the user's email address."
+ }
+ ],
+ "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 Add User To Access List": {
+ "$ref": "./examples/permissions/SuccessfulAddUserToAccessListRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Removes a user from the allowed list of users to access this LUIS application. Users are removed using their email address.",
+ "operationId": "Permissions_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "name": "userToDelete",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UserCollaborator"
+ },
+ "description": "A model containing the user's email address."
+ }
+ ],
+ "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 Remove User From Access List": {
+ "$ref": "./examples/permissions/SuccessfulRemoveUserFromAccessListRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Replaces the current user access list with the new list sent in the body. If an empty list is sent, all access to other users will be removed.",
+ "operationId": "Permissions_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "name": "collaborators",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CollaboratorsArray"
+ },
+ "description": "A model containing a list of user email addresses."
+ }
+ ],
+ "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 Replaces Users From Access List": {
+ "$ref": "./examples/permissions/SuccessfulReplacesUsersFromAccessListRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/endpoints": {
+ "get": {
+ "description": "Returns the available endpoint deployment regions and URLs.",
+ "operationId": "Apps_ListEndpoints",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a list of endpoints regions and their corresponding endpoint URL.",
+ "schema": {
+ "$ref": "#/definitions/AvailableEndpoints"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Endpoints request": {
+ "$ref": "./examples/apps/SuccessfulGetEndpointsRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists": {
+ "post": {
+ "description": "Adds a sublist to an existing list entity in a version of the application.",
+ "operationId": "Model_AddSubList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "clEntityId",
+ "in": "path",
+ "description": "The list entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "wordListCreateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WordListObject"
+ },
+ "description": "Words list."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the newly created sublist.",
+ "schema": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Add Sublist request": {
+ "$ref": "./examples/model/SuccessfulAddSublistToClosedListEntityModelRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/customprebuiltdomains": {
+ "post": {
+ "description": "Adds a customizable prebuilt domain along with all of its intent and entity models in a version of the application.",
+ "operationId": "Model_AddCustomPrebuiltDomain",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "prebuiltDomainObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrebuiltDomainCreateBaseObject"
+ },
+ "description": "A prebuilt domain create object containing the name of the domain."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "An array of the created customizable prebuilt domain intent and entity model Ids.",
+ "schema": {
+ "$ref": "#/definitions/GuidList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Add Custom Prebuilt Domain to Application request": {
+ "$ref": "./examples/model/SuccessfulAddCustomPrebuildDomainToApplicationRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/customprebuiltintents": {
+ "post": {
+ "description": "Adds a customizable prebuilt intent model to a version of the application.",
+ "operationId": "Model_AddCustomPrebuiltIntent",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "prebuiltDomainModelCreateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrebuiltDomainModelCreateObject"
+ },
+ "description": "A model object containing the name of the customizable prebuilt intent and the name of the domain to which this model belongs."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created intent model.",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Add Custom Prebuilt Intent request": {
+ "$ref": "./examples/model/SuccessfulAddCustomPrebuildIntentRequest.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Gets information about customizable prebuilt intents added to a version of the application.",
+ "operationId": "Model_ListCustomPrebuiltIntents",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a list of all customizable prebuilt intents and their representations in a version of the application.",
+ "schema": {
+ "$ref": "#/definitions/IntentClassifiersList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Custom Prebuilt Intent request": {
+ "$ref": "./examples/model/SuccessfulGetCustomPrebuildIntentRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/customprebuiltentities": {
+ "post": {
+ "description": "Adds a prebuilt entity model to a version of the application.",
+ "operationId": "Model_AddCustomPrebuiltEntity",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "prebuiltDomainModelCreateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrebuiltDomainModelCreateObject"
+ },
+ "description": "A model object containing the name of the prebuilt entity and the name of the domain to which this model belongs."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created prebuilt model.",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Add Custom Prebuilt Entity request": {
+ "$ref": "./examples/model/SuccessfulAddCustomPrebuiltEntityRequest.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Gets all prebuilt entities used in a version of the application.",
+ "operationId": "Model_ListCustomPrebuiltEntities",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a list of all prebuilt entities and their representations.",
+ "schema": {
+ "$ref": "#/definitions/EntityExtractorsList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Custom Prebuilt Domain Entities request": {
+ "$ref": "./examples/model/SuccessfulGetCustomPrebuiltDomainEntitiesRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/customprebuiltmodels": {
+ "get": {
+ "description": "Gets all prebuilt intent and entity model information used in a version of this application.",
+ "operationId": "Model_ListCustomPrebuiltModels",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a list of all prebuilt models and their representations.",
+ "schema": {
+ "$ref": "#/definitions/CustomPrebuiltModelList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Custom Prebuilt Domain Models request": {
+ "$ref": "./examples/model/SuccessfulGetCustomPrebuiltDomainModelsRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/customprebuiltdomains/{domainName}": {
+ "delete": {
+ "description": "Deletes a prebuilt domain's models in a version of the application.",
+ "operationId": "Model_DeleteCustomPrebuiltDomain",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Domain name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "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 Prebuilt Domain from Application request": {
+ "$ref": "./examples/model/SuccessfulDeletePrebuiltDomainFromApplicationRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/customprebuiltdomains": {
+ "get": {
+ "description": "Gets all the available custom prebuilt domains for all cultures.",
+ "operationId": "Apps_ListAvailableCustomPrebuiltDomains",
+ "responses": {
+ "200": {
+ "description": "Returns a list of all custom prebuilt domains and their intents/entities representation.",
+ "schema": {
+ "$ref": "#/definitions/PrebuiltDomainsList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Available Custom Prebuilt Domains request": {
+ "$ref": "./examples/apps/SuccessfulGetAvailableCustomPrebuiltDomainsRequest.json"
+ }
+ }
+ },
+ "post": {
+ "description": "Adds a prebuilt domain along with its intent and entity models as a new application.",
+ "operationId": "Apps_AddCustomPrebuiltDomain",
+ "parameters": [
+ {
+ "name": "prebuiltDomainCreateObject",
+ "in": "body",
+ "required": true,
+ "description": "A prebuilt domain create object containing the name and culture of the domain.",
+ "schema": {
+ "$ref": "#/definitions/PrebuiltDomainCreateObject"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created application.",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Add Custom Prebuilt Application request": {
+ "$ref": "./examples/apps/SuccessfulAddCustomPrebuiltApplicationRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/customprebuiltdomains/{culture}": {
+ "get": {
+ "description": "Gets all the available prebuilt domains for a specific culture.",
+ "operationId": "Apps_ListAvailableCustomPrebuiltDomainsForCulture",
+ "parameters": [
+ {
+ "name": "culture",
+ "in": "path",
+ "description": "Culture.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a list of all domains and their intents and entities for a specific culture.",
+ "schema": {
+ "$ref": "#/definitions/PrebuiltDomainsList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get AvailableCustomPrebuiltDomainsForCulture request": {
+ "$ref": "./examples/apps/SuccessfulGetAvailableCustomPrebuiltDomainsForCultureRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/entities/{entityId}/children": {
+ "post": {
+ "description": "Creates a single child in an existing entity model hierarchy in a version of the application.",
+ "operationId": "Model_AddEntityChild",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "childEntityModelCreateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ChildEntityModelCreateObject"
+ },
+ "description": "A model object containing the name of the new child model and its children."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created model.",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Create Entity Child Model request": {
+ "$ref": "./examples/model/SuccessfulCreateEntityChildModelRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}": {
+ "get": {
+ "description": "Gets information about the child's model contained in an hierarchical entity child model in a version of the application.",
+ "operationId": "Model_GetHierarchicalEntityChild",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/HEntityIdInPath"
+ },
+ {
+ "name": "hChildId",
+ "in": "path",
+ "description": "The hierarchical entity extractor child ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The hierarchical entity child model info.",
+ "schema": {
+ "$ref": "#/definitions/HierarchicalChildEntity"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Hierarchical Entity Child Info request": {
+ "$ref": "./examples/model/SuccessfulGetHierarchicalChildEntityInfoRequest.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Renames a single child in an existing hierarchical entity model in a version of the application.",
+ "operationId": "Model_UpdateHierarchicalEntityChild",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/HEntityIdInPath"
+ },
+ {
+ "name": "hChildId",
+ "in": "path",
+ "required": true,
+ "description": "The hierarchical entity extractor child ID.",
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "hierarchicalChildModelUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "Model object containing new name of the hierarchical entity child."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated entity child.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Update Hierarchical Entity Child Model request": {
+ "$ref": "./examples/model/SuccessfulUpdateHierarchicalChildModelRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes a hierarchical entity extractor child in a version of the application.",
+ "operationId": "Model_DeleteHierarchicalEntityChild",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/HEntityIdInPath"
+ },
+ {
+ "name": "hChildId",
+ "in": "path",
+ "description": "The hierarchical entity extractor child ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted entity.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Delete Hierarchical Entity Child Model request": {
+ "$ref": "./examples/model/SuccessfulDeleteHierarchicalChildModelRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children": {
+ "post": {
+ "description": "Creates a single child in an existing composite entity model in a version of the application.",
+ "operationId": "Model_AddCompositeEntityChild",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/CEntityIdInPath"
+ },
+ {
+ "name": "compositeChildModelCreateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "A model object containing the name of the new composite child model."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created model.",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Create Composite Entity Child Model request": {
+ "$ref": "./examples/model/SuccessfulCreateCompositeChildModelRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children/{cChildId}": {
+ "delete": {
+ "description": "Deletes a composite entity extractor child from a version of the application.",
+ "operationId": "Model_DeleteCompositeEntityChild",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/CEntityIdInPath"
+ },
+ {
+ "name": "cChildId",
+ "in": "path",
+ "description": "The hierarchical entity extractor child ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted entity.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Delete Composite Entity Child Model request": {
+ "$ref": "./examples/model/SuccessfulDeleteCompositeChildModelRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/regexentities": {
+ "get": {
+ "summary": "Gets information about the regular expression entity models in a version of the application.",
+ "operationId": "Model_ListRegexEntityInfos",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of regular expression entity model infos.",
+ "schema": {
+ "$ref": "#/definitions/RegexEntityExtractorList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Regex Entity Models request": {
+ "$ref": "./examples/model/SuccessfulGetApplicationVersionRegexEntityInfosRequest.json"
+ }
+ }
+ },
+ "post": {
+ "summary": "Adds a regular expression entity model to a version of the application.",
+ "operationId": "Model_CreateRegexEntityModel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "regexEntityExtractorCreateObj",
+ "in": "body",
+ "description": "A model object containing the name and regex pattern for the new regular expression entity extractor.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegexModelCreateObject"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created model.",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Create Regex Entity Model request": {
+ "$ref": "./examples/model/SuccessfulCreateRegexEntityExtractorRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/patternanyentities": {
+ "get": {
+ "summary": "Get information about the Pattern.Any entity models in a version of the application.",
+ "operationId": "Model_ListPatternAnyEntityInfos",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of Pattern.Any entity model infos.",
+ "schema": {
+ "$ref": "#/definitions/PatternAnyEntityExtractorList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Create Regex Entity Model request": {
+ "$ref": "./examples/model/SuccessfulGetApplicationVersionPatternAnyEntityInfosRequest.json"
+ }
+ }
+ },
+ "post": {
+ "summary": "Adds a pattern.any entity extractor to a version of the application.",
+ "operationId": "Model_CreatePatternAnyEntityModel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "extractorCreateObject",
+ "in": "body",
+ "description": "A model object containing the name and explicit list for the new Pattern.Any entity extractor.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatternAnyModelCreateObject"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created Pattern.Any entity model.",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Create Regex Entity Model request": {
+ "$ref": "./examples/model/SuccessfulCreatePatternAnyEntityExtractorRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/entities/{entityId}/roles": {
+ "get": {
+ "summary": "Get all roles for an entity in a version of the application",
+ "operationId": "Model_ListEntityRoles",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "entity Id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of the entity roles",
+ "schema": {
+ "$ref": "#/definitions/EntityRoleList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Entity Roles request": {
+ "$ref": "./examples/model/SuccessfulGetEntityRolesRequest.json"
+ }
+ }
+ },
+ "post": {
+ "summary": "Create an entity role in a version of the application.",
+ "operationId": "Model_CreateEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity model ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleCreateObject",
+ "in": "body",
+ "description": "An entity role object containing the name of role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleCreateObject"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created entity role",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Create Entity Role request": {
+ "$ref": "./examples/model/SuccessfulCreateEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles": {
+ "get": {
+ "summary": "Get a prebuilt entity's roles in a version of the application.",
+ "operationId": "Model_ListPrebuiltEntityRoles",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "entity Id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of the entity roles",
+ "schema": {
+ "$ref": "#/definitions/EntityRoleList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Prebuilt Entity Roles request": {
+ "$ref": "./examples/model/SuccessfulGetPrebuiltEntityRolesRequest.json"
+ }
+ }
+ },
+ "post": {
+ "summary": "Create a role for a prebuilt entity in a version of the application.",
+ "operationId": "Model_CreatePrebuiltEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity model ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleCreateObject",
+ "in": "body",
+ "description": "An entity role object containing the name of role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleCreateObject"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created entity role",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Create Prebuilt Entity Role request": {
+ "$ref": "./examples/model/SuccessfulCreatePrebuiltEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles": {
+ "get": {
+ "summary": "Get all roles for a list entity in a version of the application.",
+ "operationId": "Model_ListClosedListEntityRoles",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "entity Id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of the entity roles",
+ "schema": {
+ "$ref": "#/definitions/EntityRoleList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Closed List Entity Roles request": {
+ "$ref": "./examples/model/SuccessfulGetClosedListEntityRolesRequest.json"
+ }
+ }
+ },
+ "post": {
+ "summary": "Create a role for a list entity in a version of the application.",
+ "operationId": "Model_CreateClosedListEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity model ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleCreateObject",
+ "in": "body",
+ "description": "An entity role object containing the name of role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleCreateObject"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created entity role",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Create Closed List Entity Role request": {
+ "$ref": "./examples/model/SuccessfulCreateClosedListEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles": {
+ "get": {
+ "summary": "Get all roles for a regular expression entity in a version of the application.",
+ "operationId": "Model_ListRegexEntityRoles",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "entity Id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of the entity roles",
+ "schema": {
+ "$ref": "#/definitions/EntityRoleList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Regex Entity Roles request": {
+ "$ref": "./examples/model/SuccessfulGetRegexEntityRolesRequest.json"
+ }
+ }
+ },
+ "post": {
+ "summary": "Create a role for an regular expression entity in a version of the application.",
+ "operationId": "Model_CreateRegexEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity model ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleCreateObject",
+ "in": "body",
+ "description": "An entity role object containing the name of role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleCreateObject"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created entity role",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Create Regex Entity Role request": {
+ "$ref": "./examples/model/SuccessfulCreateRegexEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles": {
+ "get": {
+ "summary": "Get all roles for a composite entity in a version of the application",
+ "operationId": "Model_ListCompositeEntityRoles",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/CEntityIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of the entity roles",
+ "schema": {
+ "$ref": "#/definitions/EntityRoleList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Composite Entity Roles request": {
+ "$ref": "./examples/model/SuccessfulGetCompositeEntityRolesRequest.json"
+ }
+ }
+ },
+ "post": {
+ "summary": "Create a role for a composite entity in a version of the application.",
+ "operationId": "Model_CreateCompositeEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/CEntityIdInPath"
+ },
+ {
+ "name": "entityRoleCreateObject",
+ "in": "body",
+ "description": "An entity role object containing the name of role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleCreateObject"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created entity role",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Create Composite Entity Role request": {
+ "$ref": "./examples/model/SuccessfulCreateCompositeEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles": {
+ "get": {
+ "summary": "Get all roles for a Pattern.any entity in a version of the application",
+ "operationId": "Model_ListPatternAnyEntityRoles",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "entity Id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of the entity roles",
+ "schema": {
+ "$ref": "#/definitions/EntityRoleList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Pattern.Any Entity Roles request": {
+ "$ref": "./examples/model/SuccessfulGetPatternAnyEntityRolesRequest.json"
+ }
+ }
+ },
+ "post": {
+ "summary": "Create a role for an Pattern.any entity in a version of the application.",
+ "operationId": "Model_CreatePatternAnyEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity model ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleCreateObject",
+ "in": "body",
+ "description": "An entity role object containing the name of role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleCreateObject"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created entity role",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Create Pattern.Any Entity Role request": {
+ "$ref": "./examples/model/SuccessfulCreatePatternAnyEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles": {
+ "get": {
+ "summary": "Get all roles for a hierarchical entity in a version of the application",
+ "operationId": "Model_ListHierarchicalEntityRoles",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/HEntityIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of the entity roles",
+ "schema": {
+ "$ref": "#/definitions/EntityRoleList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Hierarchical Entity Roles request": {
+ "$ref": "./examples/model/SuccessfulGetHierarchicalEntityRolesRequest.json"
+ }
+ }
+ },
+ "post": {
+ "summary": "Create a role for an hierarchical entity in a version of the application.",
+ "operationId": "Model_CreateHierarchicalEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/HEntityIdInPath"
+ },
+ {
+ "name": "entityRoleCreateObject",
+ "in": "body",
+ "description": "An entity role object containing the name of role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleCreateObject"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created entity role",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Create Hierarchical Entity Role request": {
+ "$ref": "./examples/model/SuccessfulCreateHierarchicalEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles": {
+ "get": {
+ "summary": "Get all roles for a prebuilt entity in a version of the application",
+ "operationId": "Model_ListCustomPrebuiltEntityRoles",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "entity Id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of the entity roles",
+ "schema": {
+ "$ref": "#/definitions/EntityRoleList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Custom Prebuilt Entity Roles request": {
+ "$ref": "./examples/model/SuccessfulGetCustomPrebuiltEntityRolesRequest.json"
+ }
+ }
+ },
+ "post": {
+ "summary": "Create a role for a prebuilt entity in a version of the application.",
+ "operationId": "Model_CreateCustomPrebuiltEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity model ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleCreateObject",
+ "in": "body",
+ "description": "An entity role object containing the name of role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleCreateObject"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created entity role",
+ "x-nullable": false,
+ "schema": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Create Custom Prebuilt Entity Role request": {
+ "$ref": "./examples/model/SuccessfulCreateCustomPrebuiltEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist": {
+ "get": {
+ "summary": "Get the explicit (exception) list of the pattern.any entity in a version of the application.",
+ "operationId": "Model_GetExplicitList",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The Pattern.Any entity id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of the explicit list items",
+ "schema": {
+ "$ref": "#/definitions/ExplicitListItemList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Explicit List request": {
+ "$ref": "./examples/model/SuccessfulGetPatternAnyExplicitListRequest.json"
+ }
+ }
+ },
+ "post": {
+ "summary": "Add a new exception to the explicit list for the Pattern.Any entity in a version of the application.",
+ "operationId": "Model_AddExplicitListItem",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The Pattern.Any entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "item",
+ "in": "body",
+ "description": "The new explicit list item.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExplicitListItemCreateObject"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The ID of the created explicit list item.",
+ "schema": {
+ "$ref": "#/definitions/ExplicitListItemIDResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Create Custom Prebuilt Entity Role request": {
+ "$ref": "./examples/model/SuccessfulCreatePatternAnyExplicitListRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}": {
+ "get": {
+ "summary": "Gets information about a regular expression entity in a version of the application.",
+ "operationId": "Model_GetRegexEntityEntityInfo",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "regexEntityId",
+ "in": "path",
+ "description": "The regular expression entity model ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A regular expression entity model info.",
+ "schema": {
+ "$ref": "#/definitions/RegexEntityExtractor"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Regex Entity request": {
+ "$ref": "./examples/model/SuccessfulGetRegexEntityInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Updates the regular expression entity in a version of the application.",
+ "operationId": "Model_UpdateRegexEntityModel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "regexEntityId",
+ "in": "path",
+ "description": "The regular expression entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "regexEntityUpdateObject",
+ "in": "body",
+ "description": "An object containing the new entity name and regex pattern.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegexModelUpdateObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the regular expression entity extractor.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Update Regex Entity request": {
+ "$ref": "./examples/model/SuccessfulUpdateRegexEntityModelRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Deletes a regular expression entity from a version of the application.",
+ "operationId": "Model_DeleteRegexEntityModel",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "regexEntityId",
+ "in": "path",
+ "description": "The regular expression entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Delete Regex Entity request": {
+ "$ref": "./examples/model/SuccessfulDeleteRegexEntityRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}": {
+ "get": {
+ "summary": "Gets information about the Pattern.Any model in a version of the application.",
+ "operationId": "Model_GetPatternAnyEntityInfo",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A regular expression entity model info.",
+ "schema": {
+ "$ref": "#/definitions/PatternAnyEntityExtractor"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Pattern.Any Entity request": {
+ "$ref": "./examples/model/SuccessfulGetPatternAnyEntityInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Updates the name and explicit (exception) list of a Pattern.Any entity model in a version of the application.",
+ "operationId": "Model_UpdatePatternAnyEntityModel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The Pattern.Any entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "patternAnyUpdateObject",
+ "in": "body",
+ "description": "An object containing the explicit list of the Pattern.Any entity.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatternAnyModelUpdateObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Pattern.Any entity extractor.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Update Pattern.Any Entity request": {
+ "$ref": "./examples/model/SuccessfulUpdatePatternAnyEntityRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Deletes a Pattern.Any entity extractor from a version of the application.",
+ "operationId": "Model_DeletePatternAnyEntityModel",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The Pattern.Any entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Delete Pattern.Any Entity request": {
+ "$ref": "./examples/model/SuccessfulDeletePatternAnyEntityRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}": {
+ "get": {
+ "summary": "Get one role for a given entity in a version of the application",
+ "operationId": "Model_GetEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An entity role",
+ "schema": {
+ "$ref": "#/definitions/EntityRole"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Entity Extractor Role request": {
+ "$ref": "./examples/model/SuccessfulGetEntityRoleInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Update a role for a given entity in a version of the application.",
+ "operationId": "Model_UpdateEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleUpdateObject",
+ "in": "body",
+ "description": "The new entity role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleUpdateObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the entity role.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Update Entity Extractor Role request": {
+ "$ref": "./examples/model/SuccessfulUpdateEntityRoleRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete an entity role in a version of the application.",
+ "operationId": "Model_DeleteEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role Id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Delete Entity Extractor Role request": {
+ "$ref": "./examples/model/SuccessfulDeleteEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}": {
+ "get": {
+ "summary": "Get one role for a given prebuilt entity in a version of the application",
+ "operationId": "Model_GetPrebuiltEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An entity role",
+ "schema": {
+ "$ref": "#/definitions/EntityRole"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Prebuilt Entity Role request": {
+ "$ref": "./examples/model/SuccessfulGetPrebuiltEntityRoleInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Update a role for a given prebuilt entity in a version of the application",
+ "operationId": "Model_UpdatePrebuiltEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleUpdateObject",
+ "in": "body",
+ "description": "The new entity role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleUpdateObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the entity role.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Update Prebuilt Entity Extractor Role request": {
+ "$ref": "./examples/model/SuccessfulUpdatePrebuiltEntityRoleRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete a role in a prebuilt entity in a version of the application.",
+ "operationId": "Model_DeletePrebuiltEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role Id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Delete Prebuilt Entity Role request": {
+ "$ref": "./examples/model/SuccessfulDeletePrebuiltEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}": {
+ "get": {
+ "summary": "Get one role for a given list entity in a version of the application.",
+ "operationId": "Model_GetClosedListEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An entity role",
+ "schema": {
+ "$ref": "#/definitions/EntityRole"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Closed List Entity Role request": {
+ "$ref": "./examples/model/SuccessfulGetClosedListEntityRoleInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Update a role for a given list entity in a version of the application.",
+ "operationId": "Model_UpdateClosedListEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleUpdateObject",
+ "in": "body",
+ "description": "The new entity role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleUpdateObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the entity role.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Update Closed List Entity Extractor Role request": {
+ "$ref": "./examples/model/SuccessfulUpdateClosedListEntityRoleRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete a role for a given list entity in a version of the application.",
+ "operationId": "Model_DeleteClosedListEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role Id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Delete Prebuilt Entity Role request": {
+ "$ref": "./examples/model/SuccessfulDeletePrebuiltEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}": {
+ "get": {
+ "summary": "Get one role for a given regular expression entity in a version of the application.",
+ "operationId": "Model_GetRegexEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An entity role",
+ "schema": {
+ "$ref": "#/definitions/EntityRole"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Regex Entity Role request": {
+ "$ref": "./examples/model/SuccessfulGetRegexEntityRoleInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Update a role for a given regular expression entity in a version of the application",
+ "operationId": "Model_UpdateRegexEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleUpdateObject",
+ "in": "body",
+ "description": "The new entity role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleUpdateObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the entity role.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Update Regex Entity Extractor Role request": {
+ "$ref": "./examples/model/SuccessfulUpdateRegexEntityRoleRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete a role for a given regular expression in a version of the application.",
+ "operationId": "Model_DeleteRegexEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role Id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Delete Regex Entity Role request": {
+ "$ref": "./examples/model/SuccessfulDeleteRegexEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}": {
+ "get": {
+ "summary": "Get one role for a given composite entity in a version of the application",
+ "operationId": "Model_GetCompositeEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/CEntityIdInPath"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An entity role",
+ "schema": {
+ "$ref": "#/definitions/EntityRole"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Composite Entity Role request": {
+ "$ref": "./examples/model/SuccessfulGetCompositeEntityRoleInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Update a role for a given composite entity in a version of the application",
+ "operationId": "Model_UpdateCompositeEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/CEntityIdInPath"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleUpdateObject",
+ "in": "body",
+ "description": "The new entity role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleUpdateObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the entity role.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Update Composite Entity Extractor Role request": {
+ "$ref": "./examples/model/SuccessfulUpdateCompositeEntityRoleRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete a role for a given composite entity in a version of the application.",
+ "operationId": "Model_DeleteCompositeEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/CEntityIdInPath"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role Id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Delete Composite Entity Role request": {
+ "$ref": "./examples/model/SuccessfulDeleteCompositeEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}": {
+ "get": {
+ "summary": "Get one role for a given Pattern.any entity in a version of the application.",
+ "operationId": "Model_GetPatternAnyEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An entity role",
+ "schema": {
+ "$ref": "#/definitions/EntityRole"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Pattern.Any Entity Role request": {
+ "$ref": "./examples/model/SuccessfulGetPatternAnyEntityRoleInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Update a role for a given Pattern.any entity in a version of the application.",
+ "operationId": "Model_UpdatePatternAnyEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleUpdateObject",
+ "in": "body",
+ "description": "The new entity role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleUpdateObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the entity role.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Update Pattern.Any Entity Extractor Role request": {
+ "$ref": "./examples/model/SuccessfulUpdatePatternAnyEntityRoleRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete a role for a given Pattern.any entity in a version of the application.",
+ "operationId": "Model_DeletePatternAnyEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role Id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Delete Pattern.Any Entity Role request": {
+ "$ref": "./examples/model/SuccessfulDeletePatternAnyEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}": {
+ "get": {
+ "summary": "Get one role for a given hierarchical entity in a version of the application.",
+ "operationId": "Model_GetHierarchicalEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/HEntityIdInPath"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An entity role",
+ "schema": {
+ "$ref": "#/definitions/EntityRole"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Hierarchical Entity Role request": {
+ "$ref": "./examples/model/SuccessfulGetHierarchicalEntityRoleInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Update a role for a given hierarchical entity in a version of the application.",
+ "operationId": "Model_UpdateHierarchicalEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/HEntityIdInPath"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleUpdateObject",
+ "in": "body",
+ "description": "The new entity role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleUpdateObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the entity role.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Update Hierarchical Entity Extractor Role request": {
+ "$ref": "./examples/model/SuccessfulUpdateHierarchicalEntityRoleRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete a role for a given hierarchical role in a version of the application.",
+ "operationId": "Model_DeleteHierarchicalEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/HEntityIdInPath"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role Id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Delete Hierarchical Entity Role request": {
+ "$ref": "./examples/model/SuccessfulDeleteHierarchicalEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}": {
+ "get": {
+ "summary": "Get one role for a given prebuilt entity in a version of the application.",
+ "operationId": "Model_GetCustomEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An entity role",
+ "schema": {
+ "$ref": "#/definitions/EntityRole"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Custom Prebuilt Domain Entity Role request": {
+ "$ref": "./examples/model/SuccessfulGetCustomPrebuiltEntityRoleInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Update a role for a given prebuilt entity in a version of the application.",
+ "operationId": "Model_UpdateCustomPrebuiltEntityRole",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "entityRoleUpdateObject",
+ "in": "body",
+ "description": "The new entity role.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntityRoleUpdateObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the entity role.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Update Custom Prebuilt Entity Extractor Role request": {
+ "$ref": "./examples/model/SuccessfulUpdateCustomPrebuiltEntityRoleRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete a role for a given prebuilt entity in a version of the application.",
+ "operationId": "Model_DeleteCustomEntityRole",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "roleId",
+ "in": "path",
+ "description": "The entity role Id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Delete Custom Prebuilt Entity Role request": {
+ "$ref": "./examples/model/SuccessfulDeleteCustomPrebuiltEntityRoleRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}": {
+ "get": {
+ "summary": "Get the explicit (exception) list of the pattern.any entity in a version of the application.",
+ "operationId": "Model_GetExplicitListItem",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The Pattern.Any entity Id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "itemId",
+ "in": "path",
+ "description": "The explicit list item Id.",
+ "required": true,
+ "type": "integer",
+ "format": "int64"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An explicit list item info.",
+ "schema": {
+ "$ref": "#/definitions/ExplicitListItem"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Pattern.Any Explicit List Item request": {
+ "$ref": "./examples/model/SuccessfulGetPatternAnyExplicitListItemRequest.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Updates an explicit (exception) list item for a Pattern.Any entity in a version of the application.",
+ "operationId": "Model_UpdateExplicitListItem",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The Pattern.Any entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "itemId",
+ "in": "path",
+ "description": "The explicit list item ID.",
+ "required": true,
+ "type": "integer",
+ "format": "int64"
+ },
+ {
+ "name": "item",
+ "in": "body",
+ "description": "The new explicit list item.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExplicitListItemUpdateObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the explicit list item.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Update Pattern.Any Entity Explicit List Item request": {
+ "$ref": "./examples/model/SuccessfulUpdatePatternAnyEntityExplicitListItemRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete an item from the explicit (exception) list for a Pattern.any entity in a version of the application.",
+ "operationId": "Model_DeleteExplicitListItem",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "entityId",
+ "in": "path",
+ "description": "The pattern.any entity id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "itemId",
+ "in": "path",
+ "description": "The explicit list item which will be deleted.",
+ "required": true,
+ "type": "integer",
+ "format": "int64"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Delete Pattern.Any Explicit List Item request": {
+ "$ref": "./examples/model/SuccessfulDeletePatternAnyExplicitListItemRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/patternrule": {
+ "post": {
+ "summary": "Adds a pattern to a version of the application.",
+ "operationId": "Pattern_AddPattern",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "pattern",
+ "in": "body",
+ "description": "The input pattern.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatternRuleCreateObject"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The created pattern",
+ "schema": {
+ "$ref": "#/definitions/PatternRuleInfo"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Add Pattern request": {
+ "$ref": "./examples/patterns/SuccessfulAddPatternRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/patternrules": {
+ "get": {
+ "summary": "Gets patterns in a version of the application.",
+ "operationId": "Pattern_ListPatterns",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved patterns",
+ "schema": {
+ "$ref": "#/definitions/PatternRuleList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Application Version Patterns request": {
+ "$ref": "./examples/patterns/SuccessfulGetPatternsRequest.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Updates patterns in a version of the application.",
+ "operationId": "Pattern_UpdatePatterns",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "patterns",
+ "in": "body",
+ "description": "An array represents the patterns.",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PatternRuleUpdateObject"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The updated patterns",
+ "schema": {
+ "$ref": "#/definitions/PatternRuleList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Batch Update Patterns request": {
+ "$ref": "./examples/patterns/SuccessfulUpdatePatternsRequest.json"
+ }
+ }
+ },
+ "post": {
+ "summary": "Adds a batch of patterns in a version of the application.",
+ "operationId": "Pattern_BatchAddPatterns",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "patterns",
+ "in": "body",
+ "description": "A JSON array containing patterns.",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PatternRuleCreateObject"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The created patterns",
+ "schema": {
+ "$ref": "#/definitions/PatternRuleList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Batch Add Patterns request": {
+ "$ref": "./examples/patterns/SuccessfulBatchAddLabelsRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Deletes a list of patterns in a version of the application.",
+ "operationId": "Pattern_DeletePatterns",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "patternIds",
+ "in": "body",
+ "description": "The patterns IDs.",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Batch Delete Patterns request": {
+ "$ref": "./examples/patterns/SuccessfulDeletePatternsRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/patternrules/{patternId}": {
+ "put": {
+ "summary": "Updates a pattern in a version of the application.",
+ "operationId": "Pattern_UpdatePattern",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "patternId",
+ "in": "path",
+ "description": "The pattern ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "pattern",
+ "in": "body",
+ "description": "An object representing a pattern.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatternRuleUpdateObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The updated pattern",
+ "schema": {
+ "$ref": "#/definitions/PatternRuleInfo"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Update Pattern request": {
+ "$ref": "./examples/patterns/SuccessfulUpdatePatternRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Deletes the pattern with the specified ID from a version of the application..",
+ "operationId": "Pattern_DeletePattern",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "patternId",
+ "in": "path",
+ "description": "The pattern ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Delete Pattern request": {
+ "$ref": "./examples/patterns/SuccessfulDeletePatternRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/intents/{intentId}/patternrules": {
+ "get": {
+ "summary": "Returns patterns for the specific intent in a version of the application.",
+ "operationId": "Pattern_ListIntentPatterns",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/IntentIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SkipInPath"
+ },
+ {
+ "$ref": "#/parameters/TakeInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved patterns",
+ "schema": {
+ "$ref": "#/definitions/PatternRuleList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Intent Patterns request": {
+ "$ref": "./examples/patterns/SuccessfulGetIntentPatternsRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/settings": {
+ "get": {
+ "description": "Gets the settings in a version of the application.",
+ "operationId": "Settings_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of the application version settings.",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AppVersionSettingObject"
+ }
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Application Version settings request": {
+ "$ref": "./examples/versions/SuccessfulGetApplicationVersionSettingsRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Updates the settings in a version of the application.",
+ "operationId": "Settings_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "name": "listOfAppVersionSettingObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AppVersionSettingObject"
+ }
+ },
+ "description": "A list of the updated application version settings."
+ }
+ ],
+ "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 Update Application Version settings request": {
+ "$ref": "./examples/versions/SuccessfulUpdateApplicationVersionSettingsRequest.json"
+ }
+ }
+ }
+ },
+ "/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_ListUserLUISAccounts",
+ "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 a published LUIS application as a GZip file to be used in the LUIS container.",
+ "operationId": "Apps_PackagePublishedApplicationAsGzip",
+ "summary": "package - Gets published LUIS application package in binary stream GZip format",
+ "parameters": [
+ {
+ "$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 file to be used in the LUIS container.",
+ "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.",
+ "type": "object",
+ "required": [
+ "entityName",
+ "startCharIndex",
+ "endCharIndex"
+ ],
+ "properties": {
+ "entityName": {
+ "description": "The entity type.",
+ "type": "string"
+ },
+ "startCharIndex": {
+ "description": "The index within the utterance where the extracted entity starts.",
+ "type": "integer"
+ },
+ "endCharIndex": {
+ "description": "The index within the utterance where the extracted entity ends.",
+ "type": "integer"
+ },
+ "role": {
+ "description": "The role the entity plays in the utterance.",
+ "type": "string"
+ }
+ }
+ },
+ "ApplicationCreateObject": {
+ "description": "Properties for creating a new LUIS Application",
+ "type": "object",
+ "required": [
+ "culture",
+ "name"
+ ],
+ "properties": {
+ "culture": {
+ "description": "The culture for the new application. It is the language that your app understands and speaks. E.g.: \"en-us\". Note: the culture cannot be changed after the app is created.",
+ "type": "string"
+ },
+ "domain": {
+ "description": "The domain for the new application. Optional. E.g.: Comics.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the new application. Optional.",
+ "type": "string"
+ },
+ "initialVersionId": {
+ "description": "The initial version ID. Optional. Default value is: \"0.1\"",
+ "type": "string"
+ },
+ "usageScenario": {
+ "description": "Defines the scenario for the new application. Optional. E.g.: IoT.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name for the new application.",
+ "type": "string"
+ }
+ }
+ },
+ "PrebuiltDomainCreateBaseObject": {
+ "description": "A model object containing the name of the custom prebuilt entity and the name of the domain to which this model belongs.",
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "description": "The domain name.",
+ "type": "string"
+ }
+ }
+ },
+ "PrebuiltDomainCreateObject": {
+ "description": "A prebuilt domain create object containing the name and culture of the domain.",
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "description": "The domain name.",
+ "type": "string"
+ },
+ "culture": {
+ "description": "The culture of the new domain.",
+ "type": "string"
+ }
+ }
+ },
+ "PrebuiltDomainModelCreateObject": {
+ "description": "A model object containing the name of the custom prebuilt intent or entity and the name of the domain to which this model belongs.",
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "description": "The domain name.",
+ "type": "string"
+ },
+ "modelName": {
+ "description": "The intent name or entity name.",
+ "type": "string"
+ }
+ }
+ },
+ "CompositeEntityModel": {
+ "description": "A composite entity extractor.",
+ "type": "object",
+ "properties": {
+ "children": {
+ "description": "Child entities.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "Entity name.",
+ "type": "string"
+ }
+ }
+ },
+ "EntityModelCreateObject": {
+ "description": "An entity extractor create object.",
+ "type": "object",
+ "properties": {
+ "children": {
+ "description": "Child entities.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/ChildEntityModelCreateObject"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "Entity name.",
+ "type": "string"
+ }
+ }
+ },
+ "ChildEntityModelCreateObject": {
+ "description": "A child entity extractor create object.",
+ "type": "object",
+ "properties": {
+ "children": {
+ "description": "Child entities.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/ChildEntityModelCreateObject"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "Entity name.",
+ "type": "string"
+ },
+ "instanceOf": {
+ "description": "The instance of model name",
+ "type": "string"
+ }
+ }
+ },
+ "EntityModelUpdateObject": {
+ "description": "An entity extractor update object.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Entity name.",
+ "type": "string"
+ },
+ "instanceOf": {
+ "description": "The instance of model name",
+ "type": "string"
+ }
+ }
+ },
+ "JSONEntity": {
+ "description": "Exported Model - Extracted Entity from utterance.",
+ "type": "object",
+ "required": [
+ "startPos",
+ "endPos",
+ "entity"
+ ],
+ "properties": {
+ "startPos": {
+ "description": "The index within the utterance where the extracted entity starts.",
+ "type": "integer"
+ },
+ "endPos": {
+ "description": "The index within the utterance where the extracted entity ends.",
+ "type": "integer"
+ },
+ "entity": {
+ "description": "The entity name.",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role the entity plays in the utterance.",
+ "type": "string"
+ }
+ }
+ },
+ "ApplicationSettingUpdateObject": {
+ "description": "Object model for updating an application's settings.",
+ "type": "object",
+ "properties": {
+ "public": {
+ "description": "Setting your application as public allows other people to use your application's endpoint using their own keys.",
+ "type": "boolean",
+ "x-nullable": false,
+ "x-ms-client-name": "isPublic"
+ }
+ }
+ },
+ "PublishSettingUpdateObject": {
+ "description": "Object model for updating an application's publish settings.",
+ "type": "object",
+ "properties": {
+ "sentimentAnalysis": {
+ "description": "Setting sentiment analysis as true returns the Sentiment of the input utterance along with the response",
+ "type": "boolean",
+ "x-nullable": false
+ },
+ "speech": {
+ "description": "Setting speech as public enables speech priming in your app",
+ "type": "boolean",
+ "x-nullable": false
+ },
+ "spellChecker": {
+ "description": "Setting spell checker as public enables spell checking the input utterance.",
+ "type": "boolean",
+ "x-nullable": false
+ }
+ }
+ },
+ "ExampleLabelObject": {
+ "description": "A labeled example utterance.",
+ "type": "object",
+ "properties": {
+ "text": {
+ "description": "The example utterance.",
+ "type": "string"
+ },
+ "entityLabels": {
+ "description": "The identified entities within the example utterance.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/EntityLabelObject"
+ },
+ "type": "array"
+ },
+ "intentName": {
+ "description": "The identified intent representing the example utterance.",
+ "type": "string"
+ }
+ }
+ },
+ "PhraselistCreateObject": {
+ "description": "Object model for creating a phraselist model.",
+ "type": "object",
+ "properties": {
+ "phrases": {
+ "description": "List of comma-separated phrases that represent the Phraselist.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The Phraselist name.",
+ "type": "string"
+ },
+ "isExchangeable": {
+ "description": "An interchangeable phrase list feature serves as a list of synonyms for training. A non-exchangeable phrase list serves as separate features for training. So, if your non-interchangeable phrase list contains 5 phrases, they will be mapped to 5 separate features. You can think of the non-interchangeable phrase list as an additional bag of words to add to LUIS existing vocabulary features. It is used as a lexicon lookup feature where its value is 1 if the lexicon contains a given word or 0 if it doesn’t. Default value is true.",
+ "default": true,
+ "type": "boolean"
+ }
+ }
+ },
+ "SubClosedList": {
+ "description": "Sublist of items for a list entity.",
+ "type": "object",
+ "properties": {
+ "canonicalForm": {
+ "description": "The standard form that the list represents.",
+ "type": "string"
+ },
+ "list": {
+ "description": "List of synonym words.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "SubClosedListResponse": {
+ "description": "Sublist of items for a list entity.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubClosedList"
+ }
+ ],
+ "properties": {
+ "id": {
+ "description": "The sublist ID",
+ "type": "integer",
+ "x-nullable": false
+ }
+ }
+ },
+ "ApplicationUpdateObject": {
+ "description": "Object model for updating the name or description of an application.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The application's new name.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The application's new description.",
+ "type": "string"
+ }
+ }
+ },
+ "PrebuiltExtractorNames": {
+ "description": "Object model for adding a prebuilt entity to the application.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "JSONRegexFeature": {
+ "description": "Exported Model - A Pattern feature.",
+ "type": "object",
+ "properties": {
+ "pattern": {
+ "description": "The Regular Expression to match.",
+ "type": "string"
+ },
+ "activated": {
+ "description": "Indicates if the Pattern feature is enabled.",
+ "type": "boolean"
+ },
+ "name": {
+ "description": "Name of the feature.",
+ "type": "string"
+ }
+ }
+ },
+ "PatternUpdateObject": {
+ "description": "Object model for updating an existing Pattern feature.",
+ "type": "object",
+ "properties": {
+ "pattern": {
+ "description": "The Regular Expression to match.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the feature.",
+ "type": "string"
+ },
+ "isActive": {
+ "description": "Indicates if the Pattern feature is enabled.",
+ "default": true,
+ "type": "boolean"
+ }
+ }
+ },
+ "ClosedList": {
+ "description": "Exported Model - A list entity.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the list entity.",
+ "type": "string"
+ },
+ "subLists": {
+ "description": "Sublists for the list entity.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/SubClosedList"
+ },
+ "type": "array"
+ },
+ "roles": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "ClosedListModelPatchObject": {
+ "description": "Object model for adding a batch of sublists to an existing list entity.",
+ "type": "object",
+ "properties": {
+ "subLists": {
+ "description": "Sublists to add.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/WordListObject"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "JSONModelFeature": {
+ "description": "Exported Model - Phraselist Model Feature.",
+ "type": "object",
+ "properties": {
+ "activated": {
+ "description": "Indicates if the feature is enabled.",
+ "type": "boolean"
+ },
+ "name": {
+ "description": "The Phraselist name.",
+ "type": "string"
+ },
+ "words": {
+ "description": "List of comma-separated phrases that represent the Phraselist.",
+ "type": "string"
+ },
+ "mode": {
+ "description": "An interchangeable phrase list feature serves as a list of synonyms for training. A non-exchangeable phrase list serves as separate features for training. So, if your non-interchangeable phrase list contains 5 phrases, they will be mapped to 5 separate features. You can think of the non-interchangeable phrase list as an additional bag of words to add to LUIS existing vocabulary features. It is used as a lexicon lookup feature where its value is 1 if the lexicon contains a given word or 0 if it doesn’t. Default value is true.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ModelCreateObject": {
+ "description": "Object model for creating a new entity extractor.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the new entity extractor.",
+ "type": "string"
+ }
+ }
+ },
+ "PatternCreateObject": {
+ "description": "Object model for creating a Pattern feature.",
+ "type": "object",
+ "properties": {
+ "pattern": {
+ "description": "The Regular Expression to match.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the feature.",
+ "type": "string"
+ }
+ }
+ },
+ "WordListObject": {
+ "description": "Sublist of items for a list entity.",
+ "type": "object",
+ "properties": {
+ "canonicalForm": {
+ "description": "The standard form that the list represents.",
+ "type": "string"
+ },
+ "list": {
+ "description": "List of synonym words.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "WordListBaseUpdateObject": {
+ "description": "Object model for updating one of the list entity's sublists.",
+ "type": "object",
+ "properties": {
+ "canonicalForm": {
+ "description": "The standard form that the list represents.",
+ "type": "string"
+ },
+ "list": {
+ "description": "List of synonym words.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "JSONUtterance": {
+ "description": "Exported Model - Utterance that was used to train the model.",
+ "type": "object",
+ "properties": {
+ "text": {
+ "description": "The utterance.",
+ "type": "string"
+ },
+ "intent": {
+ "description": "The matched intent.",
+ "type": "string"
+ },
+ "entities": {
+ "description": "The matched entities.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/JSONEntity"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "ModelUpdateObject": {
+ "description": "Object model for updating an intent classifier.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The entity's new name.",
+ "type": "string"
+ }
+ }
+ },
+ "ClosedListModelUpdateObject": {
+ "description": "Object model for updating a list entity.",
+ "type": "object",
+ "properties": {
+ "subLists": {
+ "description": "The new sublists for the feature.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/WordListObject"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "The new name of the list entity.",
+ "type": "string"
+ }
+ }
+ },
+ "ClosedListModelCreateObject": {
+ "description": "Object model for creating a list entity.",
+ "type": "object",
+ "properties": {
+ "subLists": {
+ "description": "Sublists for the feature.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/WordListObject"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "Name of the list entity.",
+ "type": "string"
+ }
+ }
+ },
+ "ExampleLabelObjectArray": {
+ "description": "Object model for adding a batch of labeled examples.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/ExampleLabelObject"
+ },
+ "type": "array"
+ },
+ "VersionInfo": {
+ "description": "Object model of an application version.",
+ "type": "object",
+ "required": [
+ "version",
+ "trainingStatus"
+ ],
+ "properties": {
+ "version": {
+ "description": "The version ID. E.g.: \"0.1\"",
+ "type": "string"
+ },
+ "createdDateTime": {
+ "description": "The version's creation timestamp.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastModifiedDateTime": {
+ "description": "Timestamp of the last update.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastTrainedDateTime": {
+ "description": "Timestamp of the last time the model was trained.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastPublishedDateTime": {
+ "description": "Timestamp when was last published.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endpointUrl": {
+ "description": "The Runtime endpoint URL for this model version.",
+ "type": "string"
+ },
+ "assignedEndpointKey": {
+ "description": "The endpoint key.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "externalApiKeys": {
+ "description": "External keys.",
+ "type": "object"
+ },
+ "intentsCount": {
+ "description": "Number of intents in this model.",
+ "type": "integer"
+ },
+ "entitiesCount": {
+ "description": "Number of entities in this model.",
+ "type": "integer"
+ },
+ "endpointHitsCount": {
+ "description": "Number of calls made to this endpoint.",
+ "type": "integer"
+ },
+ "trainingStatus": {
+ "description": "The current training status.",
+ "type": "string",
+ "enum": [
+ "NeedsTraining",
+ "InProgress",
+ "Trained"
+ ],
+ "x-ms-enum": {
+ "name": "TrainingStatus"
+ }
+ }
+ }
+ },
+ "TaskUpdateObject": {
+ "description": "Object model for cloning an application's version.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The new version for the cloned model.",
+ "type": "string"
+ }
+ }
+ },
+ "PhraselistUpdateObject": {
+ "description": "Object model for updating a Phraselist.",
+ "type": "object",
+ "properties": {
+ "phrases": {
+ "description": "List of comma-separated phrases that represent the Phraselist.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The Phraselist name.",
+ "type": "string"
+ },
+ "isActive": {
+ "description": "Indicates if the Phraselist is enabled.",
+ "default": true,
+ "type": "boolean"
+ },
+ "isExchangeable": {
+ "description": "An exchangeable phrase list feature are serves as single feature to the LUIS underlying training algorithm. It is used as a lexicon lookup feature where its value is 1 if the lexicon contains a given word or 0 if it doesn’t. Think of an exchangeable as a synonyms list. A non-exchangeable phrase list feature has all the phrases in the list serve as separate features to the underlying training algorithm. So, if you your phrase list feature contains 5 phrases, they will be mapped to 5 separate features. You can think of the non-exchangeable phrase list feature as an additional bag of words that you are willing to add to LUIS existing vocabulary features. Think of a non-exchangeable as set of different words. Default value is true.",
+ "default": true,
+ "type": "boolean"
+ }
+ }
+ },
+ "PrebuiltDomainObject": {
+ "type": "object",
+ "properties": {
+ "domain_name": {
+ "type": "string"
+ },
+ "model_name": {
+ "type": "string"
+ }
+ }
+ },
+ "HierarchicalModel": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "children": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "inherits": {
+ "type": "object",
+ "$ref": "#/definitions/PrebuiltDomainObject"
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ApplicationPublishObject": {
+ "description": "Object model for publishing a specific application version.",
+ "type": "object",
+ "properties": {
+ "versionId": {
+ "description": "The version ID to publish.",
+ "type": "string"
+ },
+ "isStaging": {
+ "description": "Indicates if the staging slot should be used, instead of the Production one.",
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "LuisApp": {
+ "description": "Exported Model - An exported LUIS Application.",
+ "additionalProperties": true,
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the application.",
+ "type": "string"
+ },
+ "versionId": {
+ "description": "The version ID of the application that was exported.",
+ "type": "string"
+ },
+ "desc": {
+ "description": "The description of the application.",
+ "type": "string"
+ },
+ "culture": {
+ "description": "The culture of the application. E.g.: en-us.",
+ "type": "string"
+ },
+ "intents": {
+ "description": "List of intents.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/HierarchicalModel"
+ },
+ "type": "array"
+ },
+ "entities": {
+ "description": "List of entities.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/HierarchicalModel"
+ },
+ "type": "array"
+ },
+ "closedLists": {
+ "description": "List of list entities.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/ClosedList"
+ },
+ "type": "array"
+ },
+ "composites": {
+ "description": "List of composite entities.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/HierarchicalModel"
+ },
+ "type": "array"
+ },
+ "patternAnyEntities": {
+ "description": "List of Pattern.Any entities.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/PatternAny"
+ },
+ "type": "array"
+ },
+ "regex_entities": {
+ "description": "List of regular expression entities.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/RegexEntity"
+ },
+ "type": "array"
+ },
+ "prebuiltEntities": {
+ "description": "List of prebuilt entities.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/PrebuiltEntity"
+ },
+ "type": "array"
+ },
+ "regex_features": {
+ "description": "List of pattern features.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/JSONRegexFeature"
+ },
+ "type": "array"
+ },
+ "model_features": {
+ "description": "List of model features.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/JSONModelFeature"
+ },
+ "type": "array"
+ },
+ "patterns": {
+ "description": "List of patterns.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/PatternRule"
+ },
+ "type": "array"
+ },
+ "utterances": {
+ "description": "List of example utterances.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/JSONUtterance"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "GuidResponse": {
+ "description": "The ID (GUID) returned by an operation.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "VersionResponse": {
+ "description": "The new version ID returned by when importing a model version.",
+ "type": "string"
+ },
+ "FeatureIDResponse": {
+ "description": "The ID of the created feature.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "LabeledUtterances": {
+ "description": "A list of predictions and label pairs for every example in the application.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LabeledUtterance"
+ }
+ },
+ "LabeledUtterance": {
+ "description": "A prediction and label pair of an example.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "description": "ID of Labeled Utterance."
+ },
+ "text": {
+ "type": "string",
+ "description": "The utterance. For example, \"What's the weather like in seattle?\""
+ },
+ "tokenizedText": {
+ "type": "array",
+ "description": "The utterance tokenized.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "intentLabel": {
+ "description": "The intent matching the example.",
+ "type": "string"
+ },
+ "entityLabels": {
+ "description": "The entities matching the example.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityLabel"
+ }
+ },
+ "intentPredictions": {
+ "description": "List of suggested intents.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntentPrediction"
+ }
+ },
+ "entityPredictions": {
+ "description": "List of suggested entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityPrediction"
+ }
+ }
+ }
+ },
+ "IntentsSuggestionExamples": {
+ "description": "List of predicted/suggested intents.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntentsSuggestionExample"
+ }
+ },
+ "IntentsSuggestionExample": {
+ "description": "Predicted/suggested intent.",
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The utterance. For example, \"What's the weather like in seattle?\""
+ },
+ "tokenizedText": {
+ "type": "array",
+ "description": "The tokenized utterance.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "intentPredictions": {
+ "description": "Predicted/suggested intents.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntentPrediction"
+ }
+ },
+ "entityPredictions": {
+ "description": "Predicted/suggested entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityPrediction"
+ }
+ }
+ }
+ },
+ "EntitiesSuggestionExamples": {
+ "description": "List of predicted/suggested entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntitiesSuggestionExample"
+ }
+ },
+ "EntitiesSuggestionExample": {
+ "description": "Predicted/suggested entity.",
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The utterance. For example, \"What's the weather like in seattle?\""
+ },
+ "tokenizedText": {
+ "type": "array",
+ "description": "The utterance tokenized.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "intentPredictions": {
+ "description": "Predicted/suggested intents.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntentPrediction"
+ }
+ },
+ "entityPredictions": {
+ "description": "Predicted/suggested entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityPrediction"
+ }
+ }
+ }
+ },
+ "EntityLabel": {
+ "description": "Defines the entity type and position of the extracted entity within the example.",
+ "type": "object",
+ "properties": {
+ "entityName": {
+ "description": "The entity type.",
+ "type": "string"
+ },
+ "startTokenIndex": {
+ "description": "The index within the utterance where the extracted entity starts.",
+ "type": "integer"
+ },
+ "endTokenIndex": {
+ "description": "The index within the utterance where the extracted entity ends.",
+ "type": "integer"
+ },
+ "role": {
+ "type": "string",
+ "description": "The role of the predicted entity."
+ },
+ "roleId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The role id for the predicted entity."
+ }
+ },
+ "required": [
+ "entityName",
+ "startTokenIndex",
+ "endTokenIndex"
+ ]
+ },
+ "IntentPrediction": {
+ "description": "A suggested intent.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The intent's name",
+ "type": "string"
+ },
+ "score": {
+ "description": "The intent's score, based on the prediction model.",
+ "type": "number"
+ }
+ }
+ },
+ "EntityPrediction": {
+ "description": "A suggested entity.",
+ "type": "object",
+ "required": [
+ "entityName",
+ "startTokenIndex",
+ "endTokenIndex",
+ "phrase"
+ ],
+ "properties": {
+ "entityName": {
+ "description": "The entity's name",
+ "type": "string"
+ },
+ "startTokenIndex": {
+ "description": "The index within the utterance where the extracted entity starts.",
+ "type": "integer"
+ },
+ "endTokenIndex": {
+ "description": "The index within the utterance where the extracted entity ends.",
+ "type": "integer"
+ },
+ "phrase": {
+ "type": "string",
+ "description": "The actual token(s) that comprise the entity."
+ }
+ }
+ },
+ "PersonalAssistantsResponse": {
+ "type": "object",
+ "description": "Response containing user's endpoint keys and the endpoint URLs of the prebuilt Cortana applications.",
+ "properties": {
+ "endpointKeys": {
+ "$ref": "#/definitions/EndpointKeys"
+ },
+ "endpointUrls": {
+ "$ref": "#/definitions/PersonalAssistantUrls"
+ }
+ }
+ },
+ "EndpointKeys": {
+ "type": "array",
+ "description": "An a array of GUIDs, comprised of Azure Endpoint Keys and the Authoring API key.",
+ "items": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "PersonalAssistantUrls": {
+ "type": "object",
+ "description": "Endpoint URLs for prebuilt Cortana applications.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "ModelInfo": {
+ "description": "Base type used in entity types.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The ID of the Entity Model."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Entity Model."
+ },
+ "typeId": {
+ "type": "integer",
+ "description": "The type ID of the Entity Model."
+ },
+ "readableType": {
+ "$ref": "#/definitions/ReadableType"
+ }
+ },
+ "required": [
+ "id",
+ "readableType"
+ ]
+ },
+ "ModelsInfoResponseObject": {
+ "description": "A list of application model infos.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelInfoResponse"
+ }
+ },
+ "ModelInfoResponse": {
+ "description": "An application model info.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The ID of the Entity Model."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Entity Model."
+ },
+ "typeId": {
+ "type": "integer",
+ "description": "The type ID of the Entity Model."
+ },
+ "readableType": {
+ "$ref": "#/definitions/ReadableType"
+ }
+ },
+ "required": [
+ "id",
+ "readableType"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/HierarchicalEntityExtractor"
+ },
+ {
+ "$ref": "#/definitions/CompositeEntityExtractor"
+ },
+ {
+ "$ref": "#/definitions/ClosedListEntityExtractor"
+ },
+ {
+ "$ref": "#/definitions/IntentClassifier"
+ },
+ {
+ "$ref": "#/definitions/EntityExtractor"
+ },
+ {
+ "$ref": "#/definitions/RegexEntityExtractor"
+ },
+ {
+ "$ref": "#/definitions/PatternAnyEntityExtractor"
+ },
+ {
+ "$ref": "#/definitions/NDepthEntityExtractor"
+ }
+ ]
+ },
+ "EntityModelInfo": {
+ "description": "An Entity Extractor model info.",
+ "type": "object",
+ "properties": {
+ "roles": {
+ "$ref": "#/definitions/EntityRoleList"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ModelInfo"
+ }
+ ]
+ },
+ "ReadableType": {
+ "description": "Full name of the entity type.",
+ "type": "string",
+ "enum": [
+ "Entity Extractor",
+ "Child Entity Extractor",
+ "Hierarchical Entity Extractor",
+ "Hierarchical Child Entity Extractor",
+ "Composite Entity Extractor",
+ "List Entity Extractor",
+ "Prebuilt Entity Extractor",
+ "Intent Classifier",
+ "Pattern.Any Entity Extractor",
+ "Closed List Entity Extractor",
+ "Regex Entity Extractor"
+ ]
+ },
+ "HierarchicalEntityExtractor": {
+ "description": "Hierarchical Entity Extractor.",
+ "type": "object",
+ "x-ms-discriminator-value": "Hierarchical Entity Extractor",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ModelInfo"
+ },
+ {
+ "$ref": "#/definitions/EntityModelInfo"
+ }
+ ],
+ "properties": {
+ "children": {
+ "description": "List of child entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChildEntity"
+ }
+ }
+ }
+ },
+ "HierarchicalEntityExtractorsList": {
+ "description": "List of Hierarchical Entity Extractors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HierarchicalEntityExtractor"
+ }
+ },
+ "CompositeEntityExtractor": {
+ "description": "A Composite Entity Extractor.",
+ "type": "object",
+ "x-ms-discriminator-value": "Composite Entity Extractor",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ModelInfo"
+ },
+ {
+ "$ref": "#/definitions/EntityModelInfo"
+ }
+ ],
+ "properties": {
+ "children": {
+ "description": "List of child entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChildEntity"
+ }
+ }
+ }
+ },
+ "CompositeEntityExtractorsList": {
+ "description": "List of Composite Entity Extractors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CompositeEntityExtractor"
+ }
+ },
+ "ClosedListEntityExtractor": {
+ "description": "List Entity Extractor.",
+ "type": "object",
+ "x-ms-discriminator-value": "List Entity Extractor",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ModelInfo"
+ },
+ {
+ "$ref": "#/definitions/EntityModelInfo"
+ }
+ ],
+ "properties": {
+ "subLists": {
+ "description": "List of sublists.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubClosedListResponse"
+ }
+ }
+ }
+ },
+ "ClosedListEntityExtractorsList": {
+ "description": "List of List Entity Extractors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClosedListEntityExtractor"
+ }
+ },
+ "PrebuiltEntityExtractor": {
+ "description": "Prebuilt Entity Extractor.",
+ "type": "object",
+ "x-ms-discriminator-value": "Prebuilt Entity Extractor",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ModelInfo"
+ },
+ {
+ "$ref": "#/definitions/EntityModelInfo"
+ }
+ ]
+ },
+ "PrebuiltEntityExtractorsList": {
+ "description": "List of Prebuilt Entity Extractors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrebuiltEntityExtractor"
+ }
+ },
+ "ChildEntity": {
+ "type": "object",
+ "description": "The base child entity type.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The ID (GUID) belonging to a child entity."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of a child entity."
+ },
+ "instanceOf": {
+ "description": "Instance of Model.",
+ "type": "string"
+ },
+ "typeId": {
+ "description": "The type ID of the Entity Model.",
+ "type": "integer"
+ },
+ "readableType": {
+ "$ref": "#/definitions/ReadableType"
+ },
+ "children": {
+ "description": "List of children",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChildEntity"
+ }
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "HierarchicalChildEntity": {
+ "description": "A Hierarchical Child Entity.",
+ "type": "object",
+ "properties": {
+ "typeId": {
+ "description": "The type ID of the Entity Model.",
+ "type": "integer"
+ },
+ "readableType": {
+ "$ref": "#/definitions/ReadableType"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChildEntity"
+ }
+ ]
+ },
+ "CustomPrebuiltModel": {
+ "description": "A Custom Prebuilt model.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ModelInfo"
+ },
+ {
+ "$ref": "#/definitions/IntentClassifier"
+ },
+ {
+ "$ref": "#/definitions/EntityExtractor"
+ }
+ ]
+ },
+ "CustomPrebuiltModelList": {
+ "description": "A List of Custom Prebuilt models.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomPrebuiltModel"
+ }
+ },
+ "IntentClassifier": {
+ "description": "Intent Classifier.",
+ "type": "object",
+ "x-ms-discriminator-value": "Intent Classifier",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ModelInfo"
+ }
+ ],
+ "properties": {
+ "customPrebuiltDomainName": {
+ "description": "The domain name.",
+ "type": "string"
+ },
+ "customPrebuiltModelName": {
+ "description": "The intent name or entity name.",
+ "type": "string"
+ }
+ }
+ },
+ "EntityExtractor": {
+ "description": "Entity Extractor.",
+ "type": "object",
+ "x-ms-discriminator-value": "Entity Extractor",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ModelInfo"
+ },
+ {
+ "$ref": "#/definitions/EntityModelInfo"
+ }
+ ],
+ "properties": {
+ "customPrebuiltDomainName": {
+ "description": "The domain name.",
+ "type": "string"
+ },
+ "customPrebuiltModelName": {
+ "description": "The intent name or entity name.",
+ "type": "string"
+ }
+ }
+ },
+ "NDepthEntityExtractor": {
+ "description": "N-Depth Entity Extractor.",
+ "type": "object",
+ "x-ms-discriminator-value": "N-Depth Entity Extractor",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ModelInfo"
+ },
+ {
+ "$ref": "#/definitions/EntityModelInfo"
+ }
+ ],
+ "properties": {
+ "customPrebuiltDomainName": {
+ "description": "The domain name.",
+ "type": "string"
+ },
+ "customPrebuiltModelName": {
+ "description": "The intent name or entity name.",
+ "type": "string"
+ },
+ "children": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChildEntity"
+ }
+ }
+ }
+ },
+ "IntentClassifiersList": {
+ "description": "List of Intent Classifiers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntentClassifier"
+ }
+ },
+ "EntityExtractorsList": {
+ "description": "List of Entity Extractors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityExtractor"
+ }
+ },
+ "NDepthEntityExtractorsList": {
+ "description": "List of N-Depth Entity Extractors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NDepthEntityExtractor"
+ }
+ },
+ "FeaturesResponseObject": {
+ "description": "Model Features, including Patterns and Phraselists.",
+ "type": "object",
+ "properties": {
+ "phraselistFeatures": {
+ "$ref": "#/definitions/PhraseListFeatureInfoList"
+ },
+ "patternFeatures": {
+ "$ref": "#/definitions/PatternFeatureInfoList"
+ }
+ }
+ },
+ "FeatureInfoObject": {
+ "description": "The base class Features-related response objects inherit from.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "description": "A six-digit ID used for Features."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the Feature."
+ },
+ "isActive": {
+ "description": "Indicates if the feature is enabled.",
+ "type": "boolean"
+ }
+ }
+ },
+ "PatternFeatureInfo": {
+ "description": "Pattern feature.",
+ "type": "object",
+ "properties": {
+ "pattern": {
+ "description": "The Regular Expression to match.",
+ "type": "string"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/FeatureInfoObject"
+ }
+ ]
+ },
+ "PatternFeatureInfoList": {
+ "description": "List of Pattern features.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PatternFeatureInfo"
+ }
+ },
+ "PhraseListFeatureInfo": {
+ "description": "Phraselist Feature.",
+ "type": "object",
+ "properties": {
+ "phrases": {
+ "type": "string",
+ "description": "A list of comma-separated values."
+ },
+ "isExchangeable": {
+ "description": "An exchangeable phrase list feature are serves as single feature to the LUIS underlying training algorithm. It is used as a lexicon lookup feature where its value is 1 if the lexicon contains a given word or 0 if it doesn’t. Think of an exchangeable as a synonyms list. A non-exchangeable phrase list feature has all the phrases in the list serve as separate features to the underlying training algorithm. So, if you your phrase list feature contains 5 phrases, they will be mapped to 5 separate features. You can think of the non-exchangeable phrase list feature as an additional bag of words that you are willing to add to LUIS existing vocabulary features. Think of a non-exchangeable as set of different words. Default value is true.",
+ "type": "boolean"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/FeatureInfoObject"
+ }
+ ]
+ },
+ "PhraseListFeatureInfoList": {
+ "description": "List of Phraselist Features.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PhraseListFeatureInfo"
+ }
+ },
+ "LabelExampleResponse": {
+ "description": "Response when adding a labeled example utterance.",
+ "type": "object",
+ "properties": {
+ "UtteranceText": {
+ "description": "The example utterance.",
+ "type": "string"
+ },
+ "ExampleId": {
+ "description": "The newly created sample ID.",
+ "type": "integer"
+ }
+ }
+ },
+ "BatchLabelExample": {
+ "description": "Response when adding a batch of labeled example utterances.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/LabelExampleResponse"
+ },
+ "hasError": {
+ "type": "boolean"
+ },
+ "error": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ }
+ },
+ "BatchLabelExampleResponse": {
+ "description": "Response when adding a batch of labeled example utterances.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BatchLabelExample"
+ }
+ },
+ "ApplicationInfoResponse": {
+ "description": "Response containing the Application Info.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The ID (GUID) of the application."
+ },
+ "name": {
+ "description": "The name of the application.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the application.",
+ "type": "string"
+ },
+ "culture": {
+ "description": "The culture of the application. For example, \"en-us\".",
+ "type": "string"
+ },
+ "usageScenario": {
+ "description": "Defines the scenario for the new application. Optional. For example, IoT.",
+ "type": "string"
+ },
+ "domain": {
+ "description": "The domain for the new application. Optional. For example, Comics.",
+ "type": "string"
+ },
+ "versionsCount": {
+ "description": "Amount of model versions within the application.",
+ "type": "integer"
+ },
+ "createdDateTime": {
+ "description": "The version's creation timestamp.",
+ "type": "string"
+ },
+ "endpoints": {
+ "description": "The Runtime endpoint URL for this model version.",
+ "type": "object"
+ },
+ "endpointHitsCount": {
+ "description": "Number of calls made to this endpoint.",
+ "type": "integer"
+ },
+ "activeVersion": {
+ "description": "The version ID currently marked as active.",
+ "type": "string"
+ }
+ }
+ },
+ "ApplicationsInfoList": {
+ "description": "List of Application Infos.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationInfoResponse"
+ }
+ },
+ "ProductionOrStagingEndpointInfo": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EndpointInfo"
+ }
+ ]
+ },
+ "EndpointInfo": {
+ "type": "object",
+ "description": "The base class \"ProductionOrStagingEndpointInfo\" inherits from.",
+ "properties": {
+ "versionId": {
+ "description": "The version ID to publish.",
+ "type": "string"
+ },
+ "isStaging": {
+ "description": "Indicates if the staging slot should be used, instead of the Production one.",
+ "type": "boolean"
+ },
+ "endpointUrl": {
+ "description": "The Runtime endpoint URL for this model version.",
+ "type": "string"
+ },
+ "region": {
+ "description": "The target region that the application is published to.",
+ "type": "string"
+ },
+ "assignedEndpointKey": {
+ "description": "The endpoint key.",
+ "type": "string"
+ },
+ "endpointRegion": {
+ "type": "string",
+ "description": "The endpoint's region."
+ },
+ "failedRegions": {
+ "type": "string",
+ "description": "Regions where publishing failed."
+ },
+ "publishedDateTime": {
+ "description": "Timestamp when was last published.",
+ "type": "string"
+ }
+ }
+ },
+ "AvailableEndpoints": {
+ "type": "object",
+ "description": "Collection of endpoint URLs where the selected application is deployed to.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "AvailableCulture": {
+ "description": "Available culture for using in a new application.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The language name.",
+ "type": "string"
+ },
+ "code": {
+ "description": "The ISO value for the language.",
+ "type": "string"
+ }
+ }
+ },
+ "AvailableCultures": {
+ "type": "array",
+ "description": "A list of available application cultures.",
+ "items": {
+ "$ref": "#/definitions/AvailableCulture"
+ }
+ },
+ "AvailableDomains": {
+ "description": "A list of available application domains.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ApplicationUsageScenarios": {
+ "description": "A list of possible application usage scenarios.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ApplicationSettings": {
+ "description": "The application settings.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The application ID.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "public": {
+ "description": "Setting your application as public allows other people to use your application's endpoint using their own keys for billing purposes.",
+ "type": "boolean",
+ "x-nullable": false,
+ "x-ms-client-name": "isPublic"
+ }
+ },
+ "required": [
+ "id",
+ "public"
+ ]
+ },
+ "PublishSettings": {
+ "description": "The application publish settings.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The application ID.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "sentimentAnalysis": {
+ "description": "Setting sentiment analysis as true returns the sentiment of the input utterance along with the response",
+ "type": "boolean",
+ "x-nullable": false,
+ "x-ms-client-name": "IsSentimentAnalysisEnabled"
+ },
+ "speech": {
+ "description": "Enables speech priming in your app",
+ "type": "boolean",
+ "x-nullable": false,
+ "x-ms-client-name": "IsSpeechEnabled"
+ },
+ "spellChecker": {
+ "description": "Enables spell checking of the utterance.",
+ "type": "boolean",
+ "x-nullable": false,
+ "x-ms-client-name": "IsSpellCheckerEnabled"
+ }
+ },
+ "required": [
+ "id",
+ "sentimentAnalysis",
+ "speech",
+ "spellChecker"
+ ]
+ },
+ "AvailablePrebuiltEntityModel": {
+ "description": "Available Prebuilt entity model for using in an application.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The entity name.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The entity description and usage information.",
+ "type": "string"
+ },
+ "examples": {
+ "description": "Usage examples.",
+ "type": "string"
+ }
+ }
+ },
+ "AvailablePrebuiltEntityModels": {
+ "description": "List of Available Prebuilt entity models.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AvailablePrebuiltEntityModel"
+ }
+ },
+ "EnqueueTrainingResponse": {
+ "description": "Response model when requesting to train the model.",
+ "type": "object",
+ "properties": {
+ "statusId": {
+ "description": "The train request status ID.",
+ "type": "integer"
+ },
+ "status": {
+ "$ref": "#/definitions/TrainingStatus"
+ }
+ }
+ },
+ "TrainingStatus": {
+ "description": "The Training status.",
+ "type": "string",
+ "enum": [
+ "Queued",
+ "InProgress",
+ "UpToDate",
+ "Fail",
+ "Success"
+ ]
+ },
+ "ModelTrainingInfo": {
+ "description": "Model Training Info.",
+ "type": "object",
+ "properties": {
+ "modelId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The ID (GUID) of the model."
+ },
+ "details": {
+ "$ref": "#/definitions/ModelTrainingDetails"
+ }
+ }
+ },
+ "ModelTrainingDetails": {
+ "description": "Model Training Details.",
+ "type": "object",
+ "properties": {
+ "statusId": {
+ "description": "The train request status ID.",
+ "type": "integer"
+ },
+ "status": {
+ "$ref": "#/definitions/TrainingStatus"
+ },
+ "exampleCount": {
+ "description": "The count of examples used to train the model.",
+ "type": "integer"
+ },
+ "trainingDateTime": {
+ "description": "When the model was trained.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "failureReason": {
+ "description": "Reason for the training failure.",
+ "type": "string"
+ }
+ }
+ },
+ "ModelTrainingInfoList": {
+ "description": "List of Model Training Infos.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelTrainingInfo"
+ }
+ },
+ "UserAccessList": {
+ "description": "List of user permissions.",
+ "type": "object",
+ "properties": {
+ "owner": {
+ "type": "string",
+ "description": "The email address of owner of the application."
+ },
+ "emails": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "UserCollaborator": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "The email address of the user."
+ }
+ }
+ },
+ "CollaboratorsArray": {
+ "type": "object",
+ "properties": {
+ "emails": {
+ "type": "array",
+ "description": "The email address of the users.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "OperationStatus": {
+ "description": "Response of an Operation status.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Status Code.",
+ "enum": [
+ "Failed",
+ "FAILED",
+ "Success"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "OperationStatusType"
+ }
+ },
+ "message": {
+ "type": "string",
+ "description": "Status details."
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response when invoking an operation on the API.",
+ "type": "object",
+ "properties": {
+ "errorType": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "OperationError": {
+ "description": "Operation error details when invoking an operation on the API.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
+ "PrebuiltDomainsList": {
+ "description": "List of Prebuilt Domains.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrebuiltDomain"
+ }
+ },
+ "PrebuiltDomain": {
+ "description": "Prebuilt Domain.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "culture": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "examples": {
+ "type": "string"
+ },
+ "intents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrebuiltDomainItem"
+ }
+ },
+ "entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrebuiltDomainItem"
+ }
+ }
+ }
+ },
+ "PrebuiltDomainItem": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "examples": {
+ "type": "string"
+ }
+ }
+ },
+ "GuidList": {
+ "description": "List of IDs (GUID)",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GuidResponse"
+ }
+ },
+ "EntityRoleCreateObject": {
+ "description": "Object model for creating an entity role.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The entity role name.",
+ "type": "string"
+ }
+ }
+ },
+ "RegexModelCreateObject": {
+ "description": "Model object for creating a regular expression entity model.",
+ "type": "object",
+ "properties": {
+ "regexPattern": {
+ "description": "The regular expression entity pattern.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The model name.",
+ "type": "string"
+ }
+ }
+ },
+ "PatternAnyModelCreateObject": {
+ "description": "Model object for creating a Pattern.Any entity model.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The model name.",
+ "type": "string"
+ },
+ "explicitList": {
+ "description": "The Pattern.Any explicit list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExplicitListItemCreateObject": {
+ "description": "Object model for creating an explicit (exception) list item.",
+ "type": "object",
+ "properties": {
+ "explicitListItem": {
+ "description": "The explicit list item.",
+ "type": "string"
+ }
+ }
+ },
+ "RegexModelUpdateObject": {
+ "description": "Model object for updating a regular expression entity model.",
+ "type": "object",
+ "properties": {
+ "regexPattern": {
+ "description": "The regular expression entity pattern.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The model name.",
+ "type": "string"
+ }
+ }
+ },
+ "PatternAnyModelUpdateObject": {
+ "description": "Model object for updating a Pattern.Any entity model.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The model name.",
+ "type": "string"
+ },
+ "explicitList": {
+ "description": "The Pattern.Any explicit list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "EntityRoleUpdateObject": {
+ "description": "Object model for updating an entity role.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The entity role name.",
+ "type": "string"
+ }
+ }
+ },
+ "ExplicitListItemUpdateObject": {
+ "description": "Model object for updating an explicit (exception) list item.",
+ "type": "object",
+ "properties": {
+ "explicitListItem": {
+ "description": "The explicit list item.",
+ "type": "string"
+ }
+ }
+ },
+ "PatternRuleCreateObject": {
+ "description": "Object model for creating a pattern",
+ "type": "object",
+ "properties": {
+ "pattern": {
+ "description": "The pattern text.",
+ "type": "string"
+ },
+ "intent": {
+ "description": "The intent's name which the pattern belongs to.",
+ "type": "string"
+ }
+ }
+ },
+ "PatternRuleUpdateObject": {
+ "description": "Object model for updating a pattern.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "The pattern ID.",
+ "type": "string"
+ },
+ "pattern": {
+ "description": "The pattern text.",
+ "type": "string"
+ },
+ "intent": {
+ "description": "The intent's name which the pattern belongs to.",
+ "type": "string"
+ }
+ }
+ },
+ "RegexEntityExtractor": {
+ "description": "Regular Expression Entity Extractor.",
+ "type": "object",
+ "x-ms-discriminator-value": "Regex Entity Extractor",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ModelInfo"
+ },
+ {
+ "$ref": "#/definitions/EntityModelInfo"
+ }
+ ],
+ "properties": {
+ "regexPattern": {
+ "description": "The Regular Expression entity pattern.",
+ "type": "string"
+ }
+ }
+ },
+ "RegexEntityExtractorList": {
+ "description": "List of Regular Expression Entity Extractors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegexEntityExtractor"
+ }
+ },
+ "PatternAnyEntityExtractor": {
+ "description": "Pattern.Any Entity Extractor.",
+ "type": "object",
+ "x-ms-discriminator-value": "Pattern.Any Entity Extractor",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ModelInfo"
+ },
+ {
+ "$ref": "#/definitions/EntityModelInfo"
+ }
+ ],
+ "properties": {
+ "explicitList": {
+ "$ref": "#/definitions/ExplicitListItemList"
+ }
+ }
+ },
+ "PatternAnyEntityExtractorList": {
+ "description": "List of Pattern.Any Entity Extractors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PatternAnyEntityExtractor"
+ }
+ },
+ "EntityRole": {
+ "description": "Entity extractor role",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "The entity role ID.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The entity role name.",
+ "type": "string"
+ }
+ }
+ },
+ "EntityRoleList": {
+ "description": "List of Pattern.Any Entity Extractors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityRole"
+ }
+ },
+ "ExplicitListItem": {
+ "description": "Explicit (exception) list item",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "int64",
+ "description": "The explicit list item ID.",
+ "type": "integer"
+ },
+ "explicitListItem": {
+ "description": "The explicit list item value.",
+ "type": "string"
+ }
+ }
+ },
+ "ExplicitListItemList": {
+ "description": "List of explicit (exception) list items",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExplicitListItem"
+ }
+ },
+ "ExplicitListItemIDResponse": {
+ "description": "The ID of the created explicit list item.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "PatternRuleInfo": {
+ "description": "Pattern rule",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "The pattern ID.",
+ "type": "string"
+ },
+ "pattern": {
+ "description": "The pattern text.",
+ "type": "string"
+ },
+ "intent": {
+ "description": "The intent's name where the pattern belongs to.",
+ "type": "string"
+ }
+ }
+ },
+ "PatternRuleList": {
+ "description": "List of patterns",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PatternRuleInfo"
+ }
+ },
+ "ExamplesPerModelResponseObject": {
+ "description": "A list of example utterances per model.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LabelTextObject"
+ }
+ },
+ "LabelTextObject": {
+ "description": "An object containing the example utterance's text.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "description": "The ID of the Label."
+ },
+ "text": {
+ "type": "string",
+ "description": "The text of the label."
+ }
+ }
+ },
+ "PatternAny": {
+ "description": "Pattern.Any Entity Extractor.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "explicitList": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "roles": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "RegexEntity": {
+ "description": "Regular Expression Entity Extractor.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "regexPattern": {
+ "type": "string"
+ },
+ "roles": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "PrebuiltEntity": {
+ "description": "Prebuilt Entity Extractor.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "roles": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "PatternRule": {
+ "description": "Pattern",
+ "type": "object",
+ "properties": {
+ "pattern": {
+ "description": "The pattern text.",
+ "type": "string"
+ },
+ "intent": {
+ "description": "The intent's name where the pattern belongs to.",
+ "type": "string"
+ }
+ }
+ },
+ "AppVersionSettingObject": {
+ "description": "Object model of an application version setting.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The application version setting name.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The application version setting value.",
+ "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": {
+ "AppIdInPath": {
+ "name": "appId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "description": "The application ID.",
+ "x-ms-parameter-location": "method"
+ },
+ "VersionIdInPath": {
+ "name": "versionId",
+ "in": "path",
+ "description": "The version ID.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "CEntityIdInPath": {
+ "name": "cEntityId",
+ "in": "path",
+ "description": "The composite entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method"
+ },
+ "HEntityIdInPath": {
+ "name": "hEntityId",
+ "in": "path",
+ "description": "The hierarchical entity extractor ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method"
+ },
+ "IntentIdInPath": {
+ "name": "intentId",
+ "in": "path",
+ "description": "The intent classifier ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method"
+ },
+ "SlotNameInPath": {
+ "name": "slotName",
+ "in": "path",
+ "description": "The publishing slot name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SkipInPath": {
+ "name": "skip",
+ "in": "query",
+ "description": "The number of entries to skip. Default value is 0.",
+ "type": "integer",
+ "default": 0,
+ "minimum": 0,
+ "x-ms-parameter-location": "method"
+ },
+ "TakeInPath": {
+ "name": "take",
+ "in": "query",
+ "description": "The number of entries to return. Maximum page size is 500. Default is 100.",
+ "type": "integer",
+ "default": 100,
+ "minimum": 0,
+ "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"
+ },
+ "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"
+ },
+ "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
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulAddApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulAddApplicationRequest.json
new file mode 100644
index 000000000000..41fb8dce349f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulAddApplicationRequest.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "applicationCreateObject": {
+ "culture": "en-us",
+ "domain": "Comics",
+ "description": "New LUIS App",
+ "usageScenario": "IoT",
+ "name": "New LUIS App"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/9e6703ec-56fe-48ce-8a72-10d592f6056d"
+ },
+ "body": "9e6703ec-56fe-48ce-8a72-10d592f6056d"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulAddCustomPrebuiltApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulAddCustomPrebuiltApplicationRequest.json
new file mode 100644
index 000000000000..030f7fd033c9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulAddCustomPrebuiltApplicationRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "prebuiltDomainCreateObject": {
+ "culture": "en-US",
+ "domainName": "Web"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/customprebuiltdomains/00000000-0000-0000-0000-000000000000"
+ },
+ "body": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulDeleteApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulDeleteApplicationRequest.json
new file mode 100644
index 000000000000..d4b87f77d103
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulDeleteApplicationRequest.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulDownloadApplicationQueryLogsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulDownloadApplicationQueryLogsRequest.json
new file mode 100644
index 000000000000..97528c73eec3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulDownloadApplicationQueryLogsRequest.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "appId": "{appId}"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/octet-stream"
+ },
+ "body": "\"Query\",\"UTC DateTime\",\"Response\" \"hello, world!\",01/31/2017 17:17:41,\"{ \"\"query\"\": \"\"Hello, World!\"\", \"\"topScoringIntent\"\": { \"\"intent\"\": \"\"None\"\", \"\"score\"\": 0.6277761 }, \"\"intents\"\": [ { \"\"intent\"\": \"\"None\"\", \"\"score\"\": 0.6277761 }, { \"\"intent\"\": \"\"BookFlight\"\", \"\"score\"\": 0.002136109 }, { \"\"intent\"\": \"\"GetWeather\"\", \"\"score\"\": 0.00142168161 } ], \"\"entities\"\": []}\""
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationCulturesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationCulturesRequest.json
new file mode 100644
index 000000000000..0ad1e00a6681
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationCulturesRequest.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "name": "English",
+ "code": "en-us"
+ },
+ {
+ "name": "Chinese",
+ "code": "zh-cn"
+ },
+ {
+ "name": "French",
+ "code": "fr-fr"
+ },
+ {
+ "name": "French Canadian",
+ "code": "fr-ca"
+ },
+ {
+ "name": "Spanish",
+ "code": "es-es"
+ },
+ {
+ "name": "Spanish Mexican",
+ "code": "es-mx"
+ },
+ {
+ "name": "Italian",
+ "code": "it-it"
+ },
+ {
+ "name": "German",
+ "code": "de-de"
+ },
+ {
+ "name": "Japanese",
+ "code": "ja-jp"
+ },
+ {
+ "name": "Brazilian Portuguese",
+ "code": "pt-br"
+ },
+ {
+ "name": "Korean",
+ "code": "ko-kr"
+ },
+ {
+ "name": "Dutch",
+ "code": "nl-nl"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationDomainsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationDomainsRequest.json
new file mode 100644
index 000000000000..7b30aa76981a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationDomainsRequest.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ "Booking & Reference",
+ "Business",
+ "Comics",
+ "Communication",
+ "Education",
+ "Entertainment",
+ "Finance",
+ "Food & Nutrition",
+ "Gaming",
+ "Health & Fitness",
+ "Home Automation",
+ "Media & Video",
+ "Medical",
+ "Music & Audio",
+ "Navigation & Maps",
+ "News & Magazines",
+ "Personalization",
+ "Productivity",
+ "Real Estate",
+ "Scheduler",
+ "Shopping",
+ "Social Network",
+ "Sports",
+ "Telecom",
+ "Tools",
+ "Transportation",
+ "Translation",
+ "Travel & Local",
+ "Weather",
+ "Others"
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationInfoRequest.json
new file mode 100644
index 000000000000..5374060f0e95
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationInfoRequest.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "name": "MyFirstDummyAp",
+ "description": "This is my first dummy application",
+ "culture": "en-us",
+ "usageScenario": "IoT",
+ "domain": "Comics",
+ "versionsCount": 3,
+ "createdDateTime": "2017-01-31T16:15:54Z",
+ "endpoints": {
+ "PRODUCTION": {
+ "versionId": "0.1",
+ "isStaging": false,
+ "endpointUrl": "DummyUrl",
+ "endpointRegion": "westus",
+ "assignedEndpointKey": "",
+ "publishedDateTime": "2017-02-19T17:09:14Z"
+ }
+ },
+ "endpointHitsCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationSettingsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationSettingsRequest.json
new file mode 100644
index 000000000000..1cf9c19dc47d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationSettingsRequest.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000}",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "51963bf0-08a1-44b7-9c69-735dbb92ce74",
+ "public": false
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationUsageScenariosListRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationUsageScenariosListRequest.json
new file mode 100644
index 000000000000..4177f38f46e2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationUsageScenariosListRequest.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ "IoT",
+ "Bot",
+ "Mobile Application",
+ "Other"
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationsListRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationsListRequest.json
new file mode 100644
index 000000000000..2cd6815f6b46
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetApplicationsListRequest.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "name": "MyFirstDummyApp",
+ "description": "This is my first dummy application",
+ "culture": "en-us",
+ "usageScenario": "IoT",
+ "domain": "Comics",
+ "versionsCount": 3,
+ "createdDateTime": "2017-01-31T16:15:54Z",
+ "endpoints": {
+ "PRODUCTION": {
+ "versionId": "0.1",
+ "isStaging": false,
+ "endpointUrl": "DummyUrl",
+ "assignedEndpointKey": "",
+ "endpointRegion": "westus",
+ "publishedDateTime": "2017-02-19T17:09:14Z"
+ }
+ },
+ "endpointHitsCount": 0
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetAvailableCustomPrebuiltDomainsForCultureRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetAvailableCustomPrebuiltDomainsForCultureRequest.json
new file mode 100644
index 000000000000..4248d6289988
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetAvailableCustomPrebuiltDomainsForCultureRequest.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "culture": "{culture}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "name": "taxi",
+ "culture": "en-us",
+ "description": "A custom prebuilt domain for taxi booking",
+ "examples": "book taxi x on friday at 6 pm, take me to Tinga's from Westin hotel with taxi lux",
+ "intents": [
+ {
+ "name": "book_taxi",
+ "description": "Requests/Books taxi",
+ "examples": "book taxi x on friday at 6 pm"
+ },
+ {
+ "name": "cancel_taxi",
+ "description": "Cancels taxi request",
+ "examples": "I just called an taxi SUV , please cancel, Cancel my taxi"
+ }
+ ],
+ "entities": [
+ {
+ "name": "from_place_name",
+ "description": "Route starting point",
+ "examples": "find taxi x to take me to 9th street from space needle"
+ }
+ ]
+ },
+ {
+ "name": "weather",
+ "culture": "en-us",
+ "description": "A custom prebuilt domain that gets weather forecast and condition",
+ "examples": "Show me the weather for this weekend, What's the weather?",
+ "intents": [
+ {
+ "name": "get_forecast",
+ "description": "Gets weather forecast",
+ "examples": "What's the weather like tomorrow?"
+ },
+ {
+ "name": "get_condition",
+ "description": "Gets weather condition",
+ "examples": "what's the average temperature in India in September?"
+ }
+ ],
+ "entities": [
+ {
+ "name": "location",
+ "description": "Location of the queried weather",
+ "examples": "What's the weather like in Minneapolis"
+ },
+ {
+ "name": "unit",
+ "description": "Temperature measurement unit",
+ "examples": "Please change the weather from Fahrenheit to Celsius"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetAvailableCustomPrebuiltDomainsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetAvailableCustomPrebuiltDomainsRequest.json
new file mode 100644
index 000000000000..08ed90e3c9cc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetAvailableCustomPrebuiltDomainsRequest.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "name": "taxi",
+ "culture": "en-us",
+ "description": "A custom prebuilt domain for taxi booking",
+ "examples": "book taxi x on friday at 6 pm, take me to Tinga's from Westin hotel with taxi lux",
+ "intents": [
+ {
+ "name": "book_taxi",
+ "description": "Requests/Books taxi",
+ "examples": "book taxi x on friday at 6 pm"
+ },
+ {
+ "name": "cancel_taxi",
+ "description": "Cancels taxi request",
+ "examples": "I just called an taxi SUV , please cancel, Cancel my taxi"
+ }
+ ],
+ "entities": [
+ {
+ "name": "from_place_name",
+ "description": "Route starting point",
+ "examples": "find taxi x to take me to 9th street from space needle"
+ }
+ ]
+ },
+ {
+ "name": "weather",
+ "culture": "en-us",
+ "description": "A custom prebuilt domain that gets weather forecast and condition",
+ "examples": "Show me the weather for this weekend, What's the weather?",
+ "intents": [
+ {
+ "name": "get_forecast",
+ "description": "Gets weather forecast",
+ "examples": "What's the weather like tomorrow?"
+ },
+ {
+ "name": "get_condition",
+ "description": "Gets weather condition",
+ "examples": "what's the average temperature in India in September?"
+ }
+ ],
+ "entities": [
+ {
+ "name": "location",
+ "description": "Location of the queried weather",
+ "examples": "What's the weather like in Minneapolis"
+ },
+ {
+ "name": "unit",
+ "description": "Temperature measurement unit",
+ "examples": "Please change the weather from Fahrenheit to Celsius"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetEndpointsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetEndpointsRequest.json
new file mode 100644
index 000000000000..6b1631e49726
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetEndpointsRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "westus": "https://westus.api.cognitive.microsoft.com/api/v2.0/apps/bb25e72c-2279-46bb-a99b-89fcb921b58a",
+ "eastus2": "https://eastus2.api.cognitive.microsoft.com/api/v2.0/apps/bb25e72c-2279-46bb-a99b-89fcb921b58a",
+ "westcentralus": "https://westcentralus.api.cognitive.microsoft.com/api/v2.0/apps/bb25e72c-2279-46bb-a99b-89fcb921b58a",
+ "southeastasia": "https://southeastasia.api.cognitive.microsoft.com/api/v2.0/apps/bb25e72c-2279-46bb-a99b-89fcb921b58a"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetPersonalAssistantApplications.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetPersonalAssistantApplications.json
new file mode 100644
index 000000000000..9d62ff8c21d2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetPersonalAssistantApplications.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "endpointKeys": [],
+ "endpointUrls": {
+ "English": "EnglishDummyURL",
+ "Chinese": "ChineseDummyURL",
+ "French": "FrenchDummyURL",
+ "Spanish": "SpanishDummyURL",
+ "Italian": "ItalianDummyURL"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetPublishSettingsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetPublishSettingsRequest.json
new file mode 100644
index 000000000000..89f4df476993
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulGetPublishSettingsRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000}",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "51963bf0-08a1-44b7-9c69-735dbb92ce74",
+ "sentimentAnalysis": true,
+ "speech": true,
+ "spellChecker": true
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulImportApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulImportApplicationRequest.json
new file mode 100644
index 000000000000..3f023c906e7d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulImportApplicationRequest.json
@@ -0,0 +1,307 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appName": "Test LUIS App",
+ "luisApp": {
+ "luis_schema_version": "3.0.0",
+ "versionId": "0.1",
+ "name": "LuisBot",
+ "desc": "",
+ "culture": "en-us",
+ "intents": [
+ {
+ "name": "HomeAutomation.TurnOff",
+ "inherits": {
+ "domain_name": "HomeAutomation",
+ "model_name": "TurnOff"
+ }
+ },
+ {
+ "name": "dateintent"
+ },
+ {
+ "name": "Help"
+ },
+ {
+ "name": "None"
+ },
+ {
+ "name": "SearchHotels"
+ },
+ {
+ "name": "ShowHotelsReviews"
+ }
+ ],
+ "entities": [
+ {
+ "name": "AirportCode",
+ "roles": [
+ "destination"
+ ]
+ },
+ {
+ "name": "Hotel",
+ "roles": []
+ }
+ ],
+ "composites": [],
+ "closedLists": [],
+ "patternAnyEntities": [
+ {
+ "name": "patternAny1",
+ "explicitList": [],
+ "roles": [
+ "role1",
+ "role2"
+ ]
+ }
+ ],
+ "regex_entities": [
+ {
+ "name": "regex1",
+ "regexPattern": "[^a]+",
+ "roles": [
+ "regex role"
+ ]
+ }
+ ],
+ "prebuiltEntities": [
+ {
+ "name": "datetimeV2",
+ "roles": [
+ "datetime role"
+ ]
+ }
+ ],
+ "model_features": [
+ {
+ "name": "Near",
+ "mode": true,
+ "words": "near,around,close,nearby",
+ "activated": true
+ },
+ {
+ "name": "Show",
+ "mode": true,
+ "words": "show,find,look,search",
+ "activated": true
+ }
+ ],
+ "regex_features": [
+ {
+ "name": "AirportCodeRegex",
+ "pattern": "[a-z]{3}",
+ "activated": true
+ }
+ ],
+ "patterns": [
+ {
+ "pattern": "this is [a test] {patternAny1:role1}",
+ "intent": "Help"
+ }
+ ],
+ "utterances": [
+ {
+ "text": "i need help",
+ "intent": "Help",
+ "entities": []
+ },
+ {
+ "text": "help me",
+ "intent": "Help",
+ "entities": []
+ },
+ {
+ "text": "tomorrow",
+ "intent": "dateintent",
+ "entities": []
+ },
+ {
+ "text": "search for hotels in seattle",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "what can i do?",
+ "intent": "Help",
+ "entities": []
+ },
+ {
+ "text": "next monday",
+ "intent": "dateintent",
+ "entities": []
+ },
+ {
+ "text": "next year",
+ "intent": "dateintent",
+ "entities": []
+ },
+ {
+ "text": "look for hotels in miami",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "show me hotels in california",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "show me the reviews of the amazing bot resort",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 23,
+ "endPos": 44
+ }
+ ]
+ },
+ {
+ "text": "can i see the reviews of extended bot hotel?",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 25,
+ "endPos": 42
+ }
+ ]
+ },
+ {
+ "text": "find reviews of hotelxya",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 16,
+ "endPos": 23
+ }
+ ]
+ },
+ {
+ "text": "show me reviews of the amazing hotel",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 19,
+ "endPos": 35
+ }
+ ]
+ },
+ {
+ "text": "what are the available options?",
+ "intent": "Help",
+ "entities": []
+ },
+ {
+ "text": "best hotels in seattle",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "hotels in los angeles",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "can you show me hotels from los angeles?",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "can you show me the reviews of the amazing resort & hotel",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 31,
+ "endPos": 56
+ }
+ ]
+ },
+ {
+ "text": "what are the reviews of the hotel bot framework?",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 24,
+ "endPos": 46
+ }
+ ]
+ },
+ {
+ "text": "find hotels near eze",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 17,
+ "endPos": 19
+ }
+ ]
+ },
+ {
+ "text": "where can i stay near nnn?",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 22,
+ "endPos": 24
+ }
+ ]
+ },
+ {
+ "text": "show hotels near att airport",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 17,
+ "endPos": 19
+ }
+ ]
+ },
+ {
+ "text": "find hotels near agl",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 17,
+ "endPos": 19
+ }
+ ]
+ },
+ {
+ "text": "find hotels around eze airport",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 19,
+ "endPos": 21
+ }
+ ]
+ },
+ {
+ "text": "01/7",
+ "intent": "dateintent",
+ "entities": []
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/374fac89-ae12-4afd-8c21-8a6424ce1c1f"
+ },
+ "body": "374fac89-ae12-4afd-8c21-8a6424ce1c1f"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json
new file mode 100644
index 000000000000..fe5a3d4fcfc1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "11be6373fca44ded80fbe2afa8597c18",
+ "applicationPublishObject": {
+ "versionId": "0.1",
+ "isStaging": false
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "isStaging": false,
+ "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/11be6373fca44ded80fbe2afa8597c18",
+ "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18",
+ "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/preview/v3.0/examples/apps/SuccessfulRenameApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulRenameApplicationRequest.json
new file mode 100644
index 000000000000..52a47756fda7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulRenameApplicationRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "applicationUpdateObject": {
+ "name": "LUIS App name updated",
+ "description": "LUIS App description updated"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulUpdateApplicationSettingsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulUpdateApplicationSettingsRequest.json
new file mode 100644
index 000000000000..662d17154fda
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulUpdateApplicationSettingsRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000}",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "applicationSettingUpdateObject": {
+ "public": false
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulUpdatePublishSettingsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulUpdatePublishSettingsRequest.json
new file mode 100644
index 000000000000..95f8c39bacf6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulUpdatePublishSettingsRequest.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000}",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "publishSettingUpdateObject": {
+ "sentimentAnalysis": true,
+ "speech": true,
+ "spellChecker": true
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulAddLabelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulAddLabelRequest.json
new file mode 100644
index 000000000000..9a7220daa4e3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulAddLabelRequest.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "exampleLabelObject": {
+ "text": "whats the weather in buenos aires?",
+ "intentName": "WeatherInPlace",
+ "entityLabels": [
+ {
+ "entityName": "Place",
+ "startCharIndex": 21,
+ "endCharIndex": 34
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "UtteranceText": "whats the weather in buenos aires?",
+ "ExampleId": -11
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulBatchAddLabelsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulBatchAddLabelsRequest.json
new file mode 100644
index 000000000000..bc2a357b807a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulBatchAddLabelsRequest.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "2370fb9d-7dbc-4898-a361-a742cf290766",
+ "versionId": "0.1",
+ "exampleLabelObjectArray": [
+ {
+ "text": "whats the weather in seattle?",
+ "entityLabels": [
+ {
+ "entityName": "Place",
+ "startCharIndex": 21,
+ "endCharIndex": 29
+ }
+ ],
+ "intentName": "WeatherInPlace"
+ },
+ {
+ "text": "whats the weather in buenos aires?",
+ "entityLabels": [
+ {
+ "entityName": "Place",
+ "startCharIndex": 21,
+ "endCharIndex": 34
+ }
+ ],
+ "intentName": "WeatherInPlace"
+ }
+ ]
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": [
+ {
+ "value": {
+ "UtteranceText": "whats the weather in seattle?",
+ "ExampleId": -728104
+ },
+ "hasError": false
+ },
+ {
+ "value": {
+ "UtteranceText": "whats the weather in buenos aires?",
+ "ExampleId": -5313943
+ },
+ "hasError": false
+ }
+ ]
+ },
+ "207": {
+ "headers": {},
+ "body": [
+ {
+ "hasError": true,
+ "error": {
+ "code": "FAILED",
+ "message": "whats the weather in seattle?. Error: The intent classifier InvalidIntent does not exist in the selected application"
+ }
+ },
+ {
+ "value": {
+ "UtteranceText": "whats the weather in buenos aires?",
+ "ExampleId": -5313943
+ },
+ "hasError": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulDeleteExampleLabelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulDeleteExampleLabelRequest.json
new file mode 100644
index 000000000000..8ee37c1f5b28
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulDeleteExampleLabelRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "exampleId": -5313926
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulReviewLabeledExamplesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulReviewLabeledExamplesRequest.json
new file mode 100644
index 000000000000..a0a43d373b31
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulReviewLabeledExamplesRequest.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": -12,
+ "text": "what's the weather like in seattle?",
+ "tokenizedText": [
+ "what",
+ "'",
+ "s",
+ "the",
+ "weather",
+ "like",
+ "in",
+ "seattle",
+ "?"
+ ],
+ "intentLabel": "GetWeather",
+ "entityLabels": [
+ {
+ "entityName": "Location",
+ "startTokenIndex": 7,
+ "endTokenIndex": 7
+ }
+ ],
+ "intentPredictions": [
+ {
+ "name": "GetWeather",
+ "score": 1
+ },
+ {
+ "name": "None",
+ "score": 0.21
+ },
+ {
+ "name": "BookFlight",
+ "score": 0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Location",
+ "startTokenIndex": 7,
+ "endTokenIndex": 7,
+ "phrase": "seattle"
+ }
+ ]
+ },
+ {
+ "id": -11,
+ "text": "book me a flight from cairo to redmond next thursday",
+ "tokenizedText": [
+ "book",
+ "me",
+ "a",
+ "flight",
+ "from",
+ "cairo",
+ "to",
+ "redmond",
+ "next",
+ "thursday"
+ ],
+ "intentLabel": "BookFlight",
+ "entityLabels": [
+ {
+ "entityName": "Location",
+ "startTokenIndex": 7,
+ "endTokenIndex": 7,
+ "role": "To"
+ },
+ {
+ "entityName": "Location",
+ "startTokenIndex": 5,
+ "endTokenIndex": 5,
+ "role": "from"
+ }
+ ],
+ "intentPredictions": [
+ {
+ "name": "BookFlight",
+ "score": 0.93
+ },
+ {
+ "name": "None",
+ "score": 0.41
+ },
+ {
+ "name": "GetWeather",
+ "score": 0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 8,
+ "endTokenIndex": 9,
+ "phrase": "next thursday"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulCreatePatternFeatureRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulCreatePatternFeatureRequest.json
new file mode 100644
index 000000000000..35e57c737e43
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulCreatePatternFeatureRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "patternCreateObject": {
+ "name": "EmailPattern",
+ "pattern": "\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\b"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": 83147
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulCreatePhraselistFeatureRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulCreatePhraselistFeatureRequest.json
new file mode 100644
index 000000000000..2ed286e00f91
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulCreatePhraselistFeatureRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "phraselistCreateObject": {
+ "name": "DaysOfWeek",
+ "phrases": "monday,tuesday,wednesday,thursday,friday,saturday,sunday",
+ "isExchangeable": true
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": 1823
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulDeletePatternFeatureInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulDeletePatternFeatureInfoRequest.json
new file mode 100644
index 000000000000..a015437cf345
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulDeletePatternFeatureInfoRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "patternId": 8342
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulDeletePhraselistFeatureInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulDeletePhraselistFeatureInfoRequest.json
new file mode 100644
index 000000000000..9a2cbf9d87f3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulDeletePhraselistFeatureInfoRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "phraselistId": 178384
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetApplicationVersionFeaturesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetApplicationVersionFeaturesRequest.json
new file mode 100644
index 000000000000..66a84bc09fa0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetApplicationVersionFeaturesRequest.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "skipIn": 0,
+ "takeIn": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "phraselistFeatures": [
+ {
+ "id": 5341,
+ "name": "Cities",
+ "phrases": "Seattle,New York,Paris,Moscow,Beijin",
+ "isExchangeable": true,
+ "isActive": true
+ },
+ {
+ "id": 74598,
+ "name": "DaysOfWeek",
+ "phrases": "monday,tuesday,wednesday,thursday,friday,saturday,sunday",
+ "isExchangeable": true,
+ "isActive": true
+ }
+ ],
+ "patternFeatures": [
+ {
+ "id": 81231,
+ "name": "EmailPattern",
+ "pattern": "\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\b",
+ "isActive": true
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetApplicationVersionPatternFeaturesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetApplicationVersionPatternFeaturesRequest.json
new file mode 100644
index 000000000000..f0c92a45266f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetApplicationVersionPatternFeaturesRequest.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": 601765,
+ "name": "PatternIP",
+ "pattern": "\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\b",
+ "isActive": true
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetApplicationVersionPhraselistFeaturesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetApplicationVersionPhraselistFeaturesRequest.json
new file mode 100644
index 000000000000..bb9025bc0045
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetApplicationVersionPhraselistFeaturesRequest.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": 321421,
+ "name": "Cities",
+ "phrases": "Seattle,New York,Paris,Moscow,Beijin",
+ "isExchangeable": true,
+ "isActive": true
+ },
+ {
+ "id": 97832,
+ "name": "DaysOfWeek",
+ "phrases": "monday,tuesday,wednesday,thursday,friday,saturday,sunday",
+ "isExchangeable": true,
+ "isActive": true
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetPatternFeatureInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetPatternFeatureInfoRequest.json
new file mode 100644
index 000000000000..fafa171d1690
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetPatternFeatureInfoRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "patternId": 7892
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": 7892,
+ "name": "EmailPattern",
+ "pattern": "\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\b",
+ "isActive": true
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetPhraselistFeatureInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetPhraselistFeatureInfoRequest.json
new file mode 100644
index 000000000000..8e50aee9467c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetPhraselistFeatureInfoRequest.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "phraselistId": 178384
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": 178384,
+ "name": "DaysOfWeek",
+ "phrases": "monday,tuesday,wednesday,thursday,friday,saturday,sunday",
+ "isExchangeable": true,
+ "isActive": true
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulUpdatePatternFeatureInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulUpdatePatternFeatureInfoRequest.json
new file mode 100644
index 000000000000..3e3bdc463952
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulUpdatePatternFeatureInfoRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "patternId": 8342,
+ "patternUpdateObject": {
+ "name": "ModifiedEmailPattern",
+ "pattern": "\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\b"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulUpdatePhraselistFeatureInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulUpdatePhraselistFeatureInfoRequest.json
new file mode 100644
index 000000000000..1d7675a2f4be
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulUpdatePhraselistFeatureInfoRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "phraselistId": 178384,
+ "phraselistUpdateObject": {
+ "name": "DaysOfWeek",
+ "phrases": "monday,tuesday,wednesday,thursday,friday,saturday,sunday",
+ "isActive": false,
+ "isExchangeable": true
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddApplicationVersionPrebuiltInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddApplicationVersionPrebuiltInfosRequest.json
new file mode 100644
index 000000000000..305e4023e1e6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddApplicationVersionPrebuiltInfosRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "prebuiltExtractorNames": [
+ "datetimeV2"
+ ]
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": [
+ {
+ "id": "a18eaa87-ecd9-4a67-a951-e70cf5b87c7e",
+ "name": "datetime",
+ "typeId": 2,
+ "readableType": "Prebuilt Entity Extractor"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddCustomPrebuildDomainToApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddCustomPrebuildDomainToApplicationRequest.json
new file mode 100644
index 000000000000..d6673649257b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddCustomPrebuildDomainToApplicationRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "0.1",
+ "prebuiltDomainObject": {
+ "domainName": "Web"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": [
+ "2639049a-e41d-4285-a3c6-8a17ed299473",
+ "200d6173-ecfa-4967-bf95-3c319902dc52",
+ "f80aa9ba-64c8-4a36-8cc5-92010d0aadf1",
+ "f50d6f0f-b2dd-4973-9270-c114312b3a10"
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddCustomPrebuildIntentRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddCustomPrebuildIntentRequest.json
new file mode 100644
index 000000000000..f2399d68b3de
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddCustomPrebuildIntentRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "1.0",
+ "prebuiltDomainModelCreateObject": {
+ "domainName": "Calendar",
+ "modelName": "Add"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": "1c2e70c1-3cbf-4e89-9703-9583b81102b9"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddCustomPrebuiltEntityRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddCustomPrebuiltEntityRequest.json
new file mode 100644
index 000000000000..f059dc322ee5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddCustomPrebuiltEntityRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "1.0",
+ "prebuiltDomainModelCreateObject": {
+ "domainName": "Camera",
+ "modelName": "AppName"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": "1c2e70c1-3cbf-4e89-9703-9583b81102b9"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddSublistToClosedListEntityModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddSublistToClosedListEntityModelRequest.json
new file mode 100644
index 000000000000..447ac7fba5d3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddSublistToClosedListEntityModelRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "clEntityId": "d1f95436-57ac-4524-ae81-5bdd32668ccf",
+ "wordListCreateObject": {
+ "canonicalForm": "Texas",
+ "list": [
+ "tx",
+ "texas"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/86226c53-b7a6-416f-876b-226b2b5ab07b/versions/0.1/closedlists/28027e3b-8356-4cdf-b395-24afb94e9469/sublists/6134877"
+ },
+ "body": 6134877
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateClosedListEntityModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateClosedListEntityModelRequest.json
new file mode 100644
index 000000000000..dace6ef7a4de
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateClosedListEntityModelRequest.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "closedListModelCreateObject": {
+ "name": "States",
+ "subLists": [
+ {
+ "canonicalForm": "New York",
+ "list": [
+ "NY",
+ "New York"
+ ]
+ },
+ {
+ "canonicalForm": "Washington",
+ "list": [
+ "Washington",
+ "WA"
+ ]
+ },
+ {
+ "canonicalForm": "California",
+ "list": [
+ "California",
+ "CA",
+ "Calif.",
+ "Cal."
+ ]
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": "8713b104-78ec-4c4f-9f96-f2e53562cc16"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateClosedListEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateClosedListEntityRoleRequest.json
new file mode 100644
index 000000000000..d6f6182023a1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateClosedListEntityRoleRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "fc821c4e-a2f8-4074-9410-7271b38a692d",
+ "entityRoleCreateObject": {
+ "name": "sample role"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/86226c53-b7a6-416f-876b-226b2b5ab07b/versions/0.1/closedlists/fc821c4e-a2f8-4074-9410-7271b38a692d/roles/3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "body": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateCompositeChildModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateCompositeChildModelRequest.json
new file mode 100644
index 000000000000..2bb04cce834e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateCompositeChildModelRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "cEntityId": "fe559c31-9778-42ea-ba45-94e0bd7cf767",
+ "compositeChildModelCreateObject": {
+ "name": "dateFrame"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": "891c235f-4f42-4320-bc36-b6256b6c3f2b"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateCompositeEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateCompositeEntityRoleRequest.json
new file mode 100644
index 000000000000..cf93fe1b64a3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateCompositeEntityRoleRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "cEntityId": "fc821c4e-a2f8-4074-9410-7271b38a692d",
+ "entityRoleCreateObject": {
+ "name": "sample role"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/86226c53-b7a6-416f-876b-226b2b5ab07b/versions/0.1/compositeentities/fc821c4e-a2f8-4074-9410-7271b38a692d/roles/3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "body": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateCustomPrebuiltEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateCustomPrebuiltEntityRoleRequest.json
new file mode 100644
index 000000000000..0f5a94f1d798
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateCustomPrebuiltEntityRoleRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "fc821c4e-a2f8-4074-9410-7271b38a692d",
+ "entityRoleCreateObject": {
+ "name": "sample role"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/86226c53-b7a6-416f-876b-226b2b5ab07b/versions/0.1/customprebuiltentities/fc821c4e-a2f8-4074-9410-7271b38a692d/roles/3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "body": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateEntityChildModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateEntityChildModelRequest.json
new file mode 100644
index 000000000000..646d7054e2ec
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateEntityChildModelRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "fe559c31-9778-42ea-ba45-94e0bd7cf767",
+ "childEntityModelCreateObject": {
+ "name": "Day",
+ "children": [],
+ "instanceOf": "number"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": "891c235f-4f42-4320-bc36-b6256b6c3f2b"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateEntityExtractorRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateEntityExtractorRequest.json
new file mode 100644
index 000000000000..596f30243198
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateEntityExtractorRequest.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityModelCreateObject": {
+ "name": "DayOfWeek",
+ "children": [
+ {
+ "name": "Day",
+ "instanceOf": "datetimeV2"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/86226c53-b7a6-416f-876b-226b2b5ab07b/versions/0.1/entities/7e838199-a5db-47a6-8931-d79f1729a922"
+ },
+ "body": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateEntityRoleRequest.json
new file mode 100644
index 000000000000..758e3e4565b0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateEntityRoleRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "fc821c4e-a2f8-4074-9410-7271b38a692d",
+ "entityRoleCreateObject": {
+ "name": "sample role"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/86226c53-b7a6-416f-876b-226b2b5ab07b/versions/0.1/entities/fc821c4e-a2f8-4074-9410-7271b38a692d/roles/3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "body": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateHierarchicalEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateHierarchicalEntityRoleRequest.json
new file mode 100644
index 000000000000..01739e859d51
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateHierarchicalEntityRoleRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "hEntityId": "fc821c4e-a2f8-4074-9410-7271b38a692d",
+ "entityRoleCreateObject": {
+ "name": "sample role"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/86226c53-b7a6-416f-876b-226b2b5ab07b/versions/0.1/hierarchicalentities/fc821c4e-a2f8-4074-9410-7271b38a692d/roles/3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "body": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateIntentClassifierRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateIntentClassifierRequest.json
new file mode 100644
index 000000000000..360e9f0bc1aa
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateIntentClassifierRequest.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "intentCreateObject": {
+ "name": "BookFlight"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": "227a71ed-7d4b-4dce-8f3a-16c4e5cc06e8"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreatePatternAnyEntityExtractorRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreatePatternAnyEntityExtractorRequest.json
new file mode 100644
index 000000000000..b213febc28f8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreatePatternAnyEntityExtractorRequest.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "extractorCreateObject": {
+ "name": "AirportCodeRegex",
+ "explicitList": [
+ "item 1",
+ "item 2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": "bc1bae43-7904-48ad-a165-88b1910174f9"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreatePatternAnyEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreatePatternAnyEntityRoleRequest.json
new file mode 100644
index 000000000000..f644416634c4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreatePatternAnyEntityRoleRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "fc821c4e-a2f8-4074-9410-7271b38a692d",
+ "entityRoleCreateObject": {
+ "name": "sample role"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/86226c53-b7a6-416f-876b-226b2b5ab07b/versions/0.1/patternanyentities/fc821c4e-a2f8-4074-9410-7271b38a692d/roles/3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "body": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreatePatternAnyExplicitListRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreatePatternAnyExplicitListRequest.json
new file mode 100644
index 000000000000..e98ab4359748
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreatePatternAnyExplicitListRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "fc821c4e-a2f8-4074-9410-7271b38a692d",
+ "item": {
+ "explicitListItem": "item 1"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/86226c53-b7a6-416f-876b-226b2b5ab07b/versions/0.1/patternanyentities/fc821c4e-a2f8-4074-9410-7271b38a692d/explicitlist/8645"
+ },
+ "body": 8645
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreatePrebuiltEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreatePrebuiltEntityRoleRequest.json
new file mode 100644
index 000000000000..98ca2610c499
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreatePrebuiltEntityRoleRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "fc821c4e-a2f8-4074-9410-7271b38a692d",
+ "entityRoleCreateObject": {
+ "name": "sample role"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/86226c53-b7a6-416f-876b-226b2b5ab07b/versions/0.1/prebuilts/fc821c4e-a2f8-4074-9410-7271b38a692d/roles/3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "body": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateRegexEntityExtractorRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateRegexEntityExtractorRequest.json
new file mode 100644
index 000000000000..01886097f539
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateRegexEntityExtractorRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "regexEntityExtractorCreateObj": {
+ "name": "AirportCodeRegex",
+ "regexPattern": "[a-z]{3}"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": "bc1bae43-7904-48ad-a165-88b1910174f9"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateRegexEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateRegexEntityRoleRequest.json
new file mode 100644
index 000000000000..19028d004f50
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulCreateRegexEntityRoleRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "fc821c4e-a2f8-4074-9410-7271b38a692d",
+ "entityRoleCreateObject": {
+ "name": "sample role"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/86226c53-b7a6-416f-876b-226b2b5ab07b/versions/0.1/regexentities/fc821c4e-a2f8-4074-9410-7271b38a692d/roles/3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "body": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteClosedListEntityModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteClosedListEntityModelRequest.json
new file mode 100644
index 000000000000..51dc2f145c5c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteClosedListEntityModelRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "clEntityId": "d1f95436-57ac-4524-ae81-5bdd32668ccf"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteCompositeChildModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteCompositeChildModelRequest.json
new file mode 100644
index 000000000000..7d3835d1c72c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteCompositeChildModelRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "cEntityId": "fe559c31-9778-42ea-ba45-94e0bd7cf767",
+ "cChildId": "891c235f-4f42-4320-bc36-b6256b6c3f2b"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteCompositeEntityModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteCompositeEntityModelRequest.json
new file mode 100644
index 000000000000..36253c0b0e77
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteCompositeEntityModelRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{apiKey}",
+ "appId": "{appId}",
+ "versionId": "{versionId}",
+ "cEntityId": "{cEntityId}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteCompositeEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteCompositeEntityRoleRequest.json
new file mode 100644
index 000000000000..eb058743cbdb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteCompositeEntityRoleRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "cEntityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteCustomPrebuiltEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteCustomPrebuiltEntityRoleRequest.json
new file mode 100644
index 000000000000..bf989faebffc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteCustomPrebuiltEntityRoleRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteEntityExtractorRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteEntityExtractorRequest.json
new file mode 100644
index 000000000000..527791465895
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteEntityExtractorRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteEntityRoleRequest.json
new file mode 100644
index 000000000000..bf989faebffc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteEntityRoleRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteHierarchicalChildModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteHierarchicalChildModelRequest.json
new file mode 100644
index 000000000000..160694dc02c8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteHierarchicalChildModelRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "hEntityId": "fe559c31-9778-42ea-ba45-94e0bd7cf767",
+ "hChildId": "fe559c31-9778-42ea-ed45-94e0bd7cf767"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteHierarchicalEntityModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteHierarchicalEntityModelRequest.json
new file mode 100644
index 000000000000..79283b0975b4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteHierarchicalEntityModelRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{apiKey}",
+ "appId": "{appId}",
+ "versionId": "{versionId}",
+ "hEntityId": "{hEntityId}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteHierarchicalEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteHierarchicalEntityRoleRequest.json
new file mode 100644
index 000000000000..22c45f4c81de
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteHierarchicalEntityRoleRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "hEntityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteIntentModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteIntentModelRequest.json
new file mode 100644
index 000000000000..396d8d3b3b23
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteIntentModelRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "intentId": "d7a08f1a-d276-4364-b2d5-b0235c61e37f"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePatternAnyEntityRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePatternAnyEntityRequest.json
new file mode 100644
index 000000000000..527791465895
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePatternAnyEntityRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePatternAnyEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePatternAnyEntityRoleRequest.json
new file mode 100644
index 000000000000..bf989faebffc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePatternAnyEntityRoleRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePatternAnyExplicitListItemRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePatternAnyExplicitListItemRequest.json
new file mode 100644
index 000000000000..f5052475dd3f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePatternAnyExplicitListItemRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "itemId": 543211
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePrebuiltDomainFromApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePrebuiltDomainFromApplicationRequest.json
new file mode 100644
index 000000000000..7557e0d93a28
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePrebuiltDomainFromApplicationRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "0.1",
+ "domainName": "Web"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePrebuiltEntityRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePrebuiltEntityRequest.json
new file mode 100644
index 000000000000..208e4484deae
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePrebuiltEntityRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "prebuiltId": "a065c863-918e-4c56-a267-9aaae3c7dced"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePrebuiltEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePrebuiltEntityRoleRequest.json
new file mode 100644
index 000000000000..bf989faebffc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeletePrebuiltEntityRoleRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteRegexEntityRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteRegexEntityRequest.json
new file mode 100644
index 000000000000..8a16ae29c73a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteRegexEntityRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "regexEntityId": "a065c863-918e-4c56-a267-9aaae3c7dced"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteRegexEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteRegexEntityRoleRequest.json
new file mode 100644
index 000000000000..bf989faebffc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteRegexEntityRoleRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteSublistRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteSublistRequest.json
new file mode 100644
index 000000000000..0d3bf08baf1e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteSublistRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "clEntityId": "d1f95436-57ac-4524-ae81-5bdd32668ccf",
+ "subListId": 123
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
new file mode 100644
index 000000000000..0d50a283b553
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "11be6373fca44ded80fbe2afa8597c18",
+ "versionId": "0.1",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "8713b104-78ec-4c4f-9f96-f2e53562cc16",
+ "name": "States",
+ "typeId": 5,
+ "readableType": "Closed List Entity Extractor",
+ "subLists": [
+ {
+ "id": 1,
+ "canonicalForm": "new york",
+ "list": [
+ "ny",
+ "new york"
+ ]
+ },
+ {
+ "id": 2,
+ "canonicalForm": "washington",
+ "list": [
+ "washington",
+ "wa"
+ ]
+ },
+ {
+ "id": 3,
+ "canonicalForm": "california",
+ "list": [
+ "california",
+ "ca",
+ "calif.",
+ "cal."
+ ]
+ }
+ ],
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionCompositeEntityInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionCompositeEntityInfosRequest.json
new file mode 100644
index 000000000000..488104e50742
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionCompositeEntityInfosRequest.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "appId": "{appId}",
+ "versionId": "{versionId}",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "bc1bae43-7904-48ad-a165-88b1910174f9",
+ "name": "Reservation",
+ "typeId": 4,
+ "readableType": "Composite Entity Extractor",
+ "children": [
+ {
+ "id": "63ebd752-4e81-4ce7-a698-b59b82bf5519",
+ "name": "Location::To"
+ },
+ {
+ "id": "a18eaa87-ecd9-4a67-a951-e70cf5b87c7e",
+ "name": "datetime"
+ }
+ ],
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionEntityInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionEntityInfosRequest.json
new file mode 100644
index 000000000000..4ee81b36ccf6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionEntityInfosRequest.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "DayOfWeek",
+ "typeId": 1,
+ "readableType": "Entity Extractor",
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ },
+ {
+ "id": "b8e31be4-300f-455e-894b-6f079abca0a2",
+ "name": "$Camera.AppName",
+ "typeId": 1,
+ "readableType": "Entity Extractor",
+ "customPrebuiltDomainName": "Camera",
+ "customPrebuiltModelName": "AppName",
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionHierarchicalEntityInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionHierarchicalEntityInfosRequest.json
new file mode 100644
index 000000000000..e3caf94b3199
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionHierarchicalEntityInfosRequest.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "appId": "{appId}",
+ "versionId": "{versionId}",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "fe559c31-9778-42ea-ba45-94e0bd7cf767",
+ "name": "Location",
+ "typeId": 3,
+ "readableType": "Hierarchical Entity Extractor",
+ "children": [
+ {
+ "id": "ec076676-d8d9-42fa-a44e-87989c0a2f82",
+ "name": "From"
+ },
+ {
+ "id": "63ebd752-4e81-4ce7-a698-b59b82bf5519",
+ "name": "To"
+ }
+ ],
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionIntentInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionIntentInfosRequest.json
new file mode 100644
index 000000000000..7bbe97aef02b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionIntentInfosRequest.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "227a71ed-7d4b-4dce-8f3a-16c4e5cc06e8",
+ "name": "BookFlight",
+ "typeId": 0,
+ "readableType": "Intent Classifier"
+ },
+ {
+ "id": "8285a9ee-6bc0-4409-87f4-82d539f70529",
+ "name": "None",
+ "typeId": 0,
+ "readableType": "Intent Classifier"
+ },
+ {
+ "id": "9500536f-ffec-4fab-93ad-6268abb0f73c",
+ "name": "$Camera.CapturePhoto",
+ "typeId": 0,
+ "readableType": "Intent Classifier",
+ "customPrebuiltDomainName": "Camera",
+ "customPrebuiltModelName": "CapturePhoto"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionModelInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionModelInfosRequest.json
new file mode 100644
index 000000000000..edab6c2a1d44
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionModelInfosRequest.json
@@ -0,0 +1,183 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "227a71ed-7d4b-4dce-8f3a-16c4e5cc06e8",
+ "name": "BookFlight",
+ "typeId": 0,
+ "readableType": "Intent Classifier"
+ },
+ {
+ "id": "a18eaa87-ecd9-4a67-a951-e70cf5b87c7e",
+ "name": "datetime",
+ "typeId": 2,
+ "readableType": "Prebuilt Entity Extractor",
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "DayOfWeek",
+ "typeId": 1,
+ "readableType": "Entity Extractor",
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ },
+ {
+ "id": "fe559c31-9778-42ea-ba45-94e0bd7cf767",
+ "name": "Location",
+ "typeId": 3,
+ "readableType": "Hierarchical Entity Extractor",
+ "children": [
+ {
+ "id": "ec076676-d8d9-42fa-a44e-87989c0a2f82",
+ "name": "From"
+ },
+ {
+ "id": "63ebd752-4e81-4ce7-a698-b59b82bf5519",
+ "name": "To"
+ }
+ ],
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ },
+ {
+ "id": "8285a9ee-6bc0-4409-87f4-82d539f70529",
+ "name": "None",
+ "typeId": 0,
+ "readableType": "Intent Classifier"
+ },
+ {
+ "id": "bc1bae43-7904-48ad-a165-88b1910174f9",
+ "name": "Reservation",
+ "typeId": 4,
+ "readableType": "Composite Entity Extractor",
+ "children": [
+ {
+ "id": "63ebd752-4e81-4ce7-a698-b59b82bf5519",
+ "name": "Location::To"
+ },
+ {
+ "id": "a18eaa87-ecd9-4a67-a951-e70cf5b87c7e",
+ "name": "datetime"
+ }
+ ],
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ },
+ {
+ "id": "8713b104-78ec-4c4f-9f96-f2e53562cc16",
+ "name": "States",
+ "typeId": 5,
+ "readableType": "Closed List Entity Extractor",
+ "subLists": [
+ {
+ "id": 1,
+ "canonicalForm": "new york",
+ "list": [
+ "ny",
+ "new york"
+ ]
+ },
+ {
+ "id": 2,
+ "canonicalForm": "washington",
+ "list": [
+ "washington",
+ "wa"
+ ]
+ },
+ {
+ "id": 3,
+ "canonicalForm": "california",
+ "list": [
+ "california",
+ "ca",
+ "calif.",
+ "cal."
+ ]
+ }
+ ],
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ },
+ {
+ "id": "b8e31be4-300f-455e-894b-6f079abca0a2",
+ "name": "$Camera.AppName",
+ "typeId": 1,
+ "readableType": "Entity Extractor",
+ "customPrebuiltDomainName": "Camera",
+ "customPrebuiltModelName": "AppName",
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ },
+ {
+ "id": "9500536f-ffec-4fab-93ad-6268abb0f73c",
+ "name": "$Camera.CapturePhoto",
+ "typeId": 0,
+ "readableType": "Intent Classifier",
+ "customPrebuiltDomainName": "Camera",
+ "customPrebuiltModelName": "CapturePhoto"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionPatternAnyEntityInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionPatternAnyEntityInfosRequest.json
new file mode 100644
index 000000000000..9b96c5e3b6f0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionPatternAnyEntityInfosRequest.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "any 1",
+ "typeId": 7,
+ "readableType": "Pattern.Any Entity Extractor",
+ "explicitList": [
+ {
+ "id": 456,
+ "explicitListItem": "item 1"
+ },
+ {
+ "id": 457,
+ "explicitListItem": "item 2"
+ }
+ ],
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "any 2",
+ "typeId": 7,
+ "readableType": "Pattern.Any Entity Extractor",
+ "explicitList": [],
+ "roles": []
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionPrebuiltInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionPrebuiltInfosRequest.json
new file mode 100644
index 000000000000..51985bdac0e4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionPrebuiltInfosRequest.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "a18eaa87-ecd9-4a67-a951-e70cf5b87c7e",
+ "name": "datetime",
+ "typeId": 2,
+ "readableType": "Prebuilt Entity Extractor",
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionRegexEntityInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionRegexEntityInfosRequest.json
new file mode 100644
index 000000000000..1ae466748e94
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionRegexEntityInfosRequest.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "AirportCodeRegex",
+ "regexPattern": "[a-z]{3}",
+ "typeId": 8,
+ "readableType": "Regex Entity Extractor",
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "Guid regex",
+ "regexPattern": "[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{3}-[0-9A-F]{12}",
+ "typeId": 8,
+ "readableType": "Regex Entity Extractor",
+ "roles": []
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetAvailablePrebuiltEntityExtractorsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetAvailablePrebuiltEntityExtractorsRequest.json
new file mode 100644
index 000000000000..e1e9a393772e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetAvailablePrebuiltEntityExtractorsRequest.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "name": "geography",
+ "description": "Continents, Countries, Cities, Post codes, and other points of interest",
+ "examples": "Antarctica, Portugal, Dubai, Sanjiang County, Lake Pontchartrain, CB3 0DS"
+ },
+ {
+ "name": "datetime",
+ "description": "Dates and times, resolved to a canonical form",
+ "examples": "June 23, 1976, Jul 11 2012, 7 AM, 6:49 PM, tomorrow at 7 AM"
+ },
+ {
+ "name": "email",
+ "description": "Email Addresses",
+ "examples": "user@site.net, user_name@mysite.com.eg"
+ },
+ {
+ "name": "url",
+ "description": "Websites URLs",
+ "examples": "www.website.com, http://website.net?name=my_name&age=10, https://www.mywebsite.net.eg/page"
+ },
+ {
+ "name": "phoneNumber",
+ "description": "US phone numbers",
+ "examples": "123-456-7890, +1 123 456 789, (123)456-789"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetClosedListEntityInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetClosedListEntityInfoRequest.json
new file mode 100644
index 000000000000..e7a6acd06c8b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetClosedListEntityInfoRequest.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "clEntityId": "8713b104-78ec-4c4f-9f96-f2e53562cc16"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "8713b104-78ec-4c4f-9f96-f2e53562cc16",
+ "name": "States",
+ "typeId": 5,
+ "readableType": "Closed List Entity Extractor",
+ "subLists": [
+ {
+ "id": 1,
+ "canonicalForm": "new york",
+ "list": [
+ "ny",
+ "new york"
+ ]
+ },
+ {
+ "id": 2,
+ "canonicalForm": "washington",
+ "list": [
+ "washington",
+ "wa"
+ ]
+ },
+ {
+ "id": 3,
+ "canonicalForm": "california",
+ "list": [
+ "california",
+ "ca",
+ "calif.",
+ "cal."
+ ]
+ }
+ ],
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetClosedListEntityRoleInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetClosedListEntityRoleInfoRequest.json
new file mode 100644
index 000000000000..2052c08d2652
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetClosedListEntityRoleInfoRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "a682a962-1f92-4ae7-b8b8-398414e30c12",
+ "name": "role 1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetClosedListEntityRolesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetClosedListEntityRolesRequest.json
new file mode 100644
index 000000000000..503a2725e69a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetClosedListEntityRolesRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "2d3173b0-983c-43ae-92f8-6f5b5d09a11a"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCompositeEntityInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCompositeEntityInfoRequest.json
new file mode 100644
index 000000000000..50832117a604
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCompositeEntityInfoRequest.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "appId": "{appId}",
+ "versionId": "{versionId}",
+ "cEntityId": "{cEntityId}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "bc1bae43-7904-48ad-a165-88b1910174f9",
+ "name": "Reservation",
+ "typeId": 4,
+ "readableType": "Composite Entity Extractor",
+ "children": [
+ {
+ "id": "63ebd752-4e81-4ce7-a698-b59b82bf5519",
+ "name": "Location::To"
+ },
+ {
+ "id": "a18eaa87-ecd9-4a67-a951-e70cf5b87c7e",
+ "name": "datetime"
+ }
+ ],
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCompositeEntityRoleInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCompositeEntityRoleInfoRequest.json
new file mode 100644
index 000000000000..03d1d14f36bd
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCompositeEntityRoleInfoRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "cEntityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "a682a962-1f92-4ae7-b8b8-398414e30c12",
+ "name": "role 1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCompositeEntityRolesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCompositeEntityRolesRequest.json
new file mode 100644
index 000000000000..23455912afe2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCompositeEntityRolesRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "cEntityId": "2d3173b0-983c-43ae-92f8-6f5b5d09a11a"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuildIntentRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuildIntentRequest.json
new file mode 100644
index 000000000000..ea428c098af3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuildIntentRequest.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "1.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "b8e31be4-300f-455e-894b-6f079abca0a2",
+ "name": "Camera.AppName",
+ "typeId": 1,
+ "readableType": "Intent Classifier",
+ "customPrebuiltDomainName": "Calendar",
+ "customPrebuiltModelName": "Add"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuiltDomainEntitiesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuiltDomainEntitiesRequest.json
new file mode 100644
index 000000000000..df2704a27f18
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuiltDomainEntitiesRequest.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "1.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "b8e31be4-300f-455e-894b-6f079abca0a2",
+ "name": "Camera.AppName",
+ "typeId": 1,
+ "readableType": "Entity Extractor",
+ "customPrebuiltDomainName": "Camera",
+ "customPrebuiltModelName": "AppName",
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuiltDomainModelsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuiltDomainModelsRequest.json
new file mode 100644
index 000000000000..e81d514c3e5a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuiltDomainModelsRequest.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "1.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "1aa813da-8d36-4d16-bb13-d6f193290fea",
+ "name": "Calendar.Find",
+ "typeId": 0,
+ "readableType": "Intent Classifier",
+ "customPrebuiltDomainName": "Calendar",
+ "customPrebuiltModelName": "Find"
+ },
+ {
+ "id": "d02b2e38-6b3c-412e-bf9e-f6770a40c9a0",
+ "name": "Calendar.Location",
+ "typeId": 1,
+ "readableType": "Entity Extractor",
+ "customPrebuiltDomainName": "Calendar",
+ "customPrebuiltModelName": "Location",
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuiltEntityRoleInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuiltEntityRoleInfoRequest.json
new file mode 100644
index 000000000000..2052c08d2652
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuiltEntityRoleInfoRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "a682a962-1f92-4ae7-b8b8-398414e30c12",
+ "name": "role 1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuiltEntityRolesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuiltEntityRolesRequest.json
new file mode 100644
index 000000000000..503a2725e69a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetCustomPrebuiltEntityRolesRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "2d3173b0-983c-43ae-92f8-6f5b5d09a11a"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntityInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntityInfoRequest.json
new file mode 100644
index 000000000000..2a90b679eea1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntityInfoRequest.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "DayOfWeek",
+ "typeId": 1,
+ "readableType": "Entity Extractor",
+ "children": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "typeId": 1,
+ "readableType": "Child Entity Extractor",
+ "name": "Day",
+ "instanceOf": "datetimeV2"
+ }
+ ],
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntityRoleInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntityRoleInfoRequest.json
new file mode 100644
index 000000000000..2052c08d2652
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntityRoleInfoRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "a682a962-1f92-4ae7-b8b8-398414e30c12",
+ "name": "role 1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntityRolesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntityRolesRequest.json
new file mode 100644
index 000000000000..503a2725e69a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntityRolesRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "2d3173b0-983c-43ae-92f8-6f5b5d09a11a"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntitySuggestionExamples.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntitySuggestionExamples.json
new file mode 100644
index 000000000000..0c103cc44e24
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntitySuggestionExamples.json
@@ -0,0 +1,2643 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "text": "hey",
+ "tokenizedText": [
+ "hey"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.65
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.02
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "2-2-2017",
+ "tokenizedText": [
+ "2",
+ "-",
+ "2",
+ "-",
+ "2017"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.88
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 0,
+ "endTokenIndex": 4,
+ "phrase": "2-2-2017"
+ }
+ ]
+ },
+ {
+ "text": "maybe find me an airport first",
+ "tokenizedText": [
+ "maybe",
+ "find",
+ "me",
+ "an",
+ "airport",
+ "first"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 0.99
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "as",
+ "tokenizedText": [
+ "as"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.98
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.01
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "find hotel in barcelona",
+ "tokenizedText": [
+ "find",
+ "hotel",
+ "in",
+ "barcelona"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 3,
+ "endTokenIndex": 3,
+ "phrase": "barcelona"
+ },
+ {
+ "entityName": "geography",
+ "startTokenIndex": 3,
+ "endTokenIndex": 3,
+ "phrase": "barcelona"
+ }
+ ]
+ },
+ {
+ "text": "find airport with code atl",
+ "tokenizedText": [
+ "find",
+ "airport",
+ "with",
+ "code",
+ "atl"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Code",
+ "startTokenIndex": 4,
+ "endTokenIndex": 4,
+ "phrase": "atl"
+ }
+ ]
+ },
+ {
+ "text": "change hotel location to madrid",
+ "tokenizedText": [
+ "change",
+ "hotel",
+ "location",
+ "to",
+ "madrid"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 1.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.24
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 4,
+ "endTokenIndex": 4,
+ "phrase": "madrid"
+ }
+ ]
+ },
+ {
+ "text": "ok, find me an airport",
+ "tokenizedText": [
+ "ok",
+ ",",
+ "find",
+ "me",
+ "an",
+ "airport"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 1.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "eze",
+ "tokenizedText": [
+ "eze"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 0.68
+ },
+ {
+ "name": "None",
+ "score": 0.29
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Code",
+ "startTokenIndex": 0,
+ "endTokenIndex": 0,
+ "phrase": "eze"
+ }
+ ]
+ },
+ {
+ "text": "today",
+ "tokenizedText": [
+ "today"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.64
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.01
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 0,
+ "endTokenIndex": 0,
+ "phrase": "today"
+ },
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 0,
+ "endTokenIndex": 0,
+ "phrase": "today"
+ }
+ ]
+ },
+ {
+ "text": "buenos aires",
+ "tokenizedText": [
+ "buenos",
+ "aires"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.16
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.07
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "hi there",
+ "tokenizedText": [
+ "hi",
+ "there"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.37
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.01
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "05-28-2017",
+ "tokenizedText": [
+ "05",
+ "-",
+ "28",
+ "-",
+ "2017"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.85
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 0,
+ "endTokenIndex": 4,
+ "phrase": "05-28-2017"
+ }
+ ]
+ },
+ {
+ "text": "tomorrow",
+ "tokenizedText": [
+ "tomorrow"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.6
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.01
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 0,
+ "endTokenIndex": 0,
+ "phrase": "tomorrow"
+ }
+ ]
+ },
+ {
+ "text": "tell me the weather in san francisco",
+ "tokenizedText": [
+ "tell",
+ "me",
+ "the",
+ "weather",
+ "in",
+ "san",
+ "francisco"
+ ],
+ "intentPredictions": [
+ {
+ "name": "WeatherInPlace",
+ "score": 0.99
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 5,
+ "endTokenIndex": 6,
+ "phrase": "san francisco"
+ },
+ {
+ "entityName": "geography",
+ "startTokenIndex": 5,
+ "endTokenIndex": 6,
+ "phrase": "san francisco"
+ }
+ ]
+ },
+ {
+ "text": "find me a hotel in barcelona",
+ "tokenizedText": [
+ "find",
+ "me",
+ "a",
+ "hotel",
+ "in",
+ "barcelona"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 5,
+ "endTokenIndex": 5,
+ "phrase": "barcelona"
+ }
+ ]
+ },
+ {
+ "text": "dme",
+ "tokenizedText": [
+ "dme"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.62
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.09
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "dude",
+ "tokenizedText": [
+ "dude"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.65
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.02
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "sorry, find me airport juj",
+ "tokenizedText": [
+ "sorry",
+ ",",
+ "find",
+ "me",
+ "airport",
+ "juj"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 1.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Code",
+ "startTokenIndex": 5,
+ "endTokenIndex": 5,
+ "phrase": "juj"
+ }
+ ]
+ },
+ {
+ "text": "madrid",
+ "tokenizedText": [
+ "madrid"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.52
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "search for airport",
+ "tokenizedText": [
+ "search",
+ "for",
+ "airport"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "what's the time in miami?",
+ "tokenizedText": [
+ "what",
+ "'",
+ "s",
+ "the",
+ "time",
+ "in",
+ "miami",
+ "?"
+ ],
+ "intentPredictions": [
+ {
+ "name": "TimeInPlace",
+ "score": 1.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 6,
+ "endTokenIndex": 6,
+ "phrase": "miami"
+ },
+ {
+ "entityName": "geography",
+ "startTokenIndex": 6,
+ "endTokenIndex": 6,
+ "phrase": "miami"
+ }
+ ]
+ },
+ {
+ "text": "next monday",
+ "tokenizedText": [
+ "next",
+ "monday"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.3
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.01
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 0,
+ "endTokenIndex": 1,
+ "phrase": "next monday"
+ }
+ ]
+ },
+ {
+ "text": "search hotels, seattle",
+ "tokenizedText": [
+ "search",
+ "hotels",
+ ",",
+ "seattle"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels",
+ "score": 1.0
+ },
+ {
+ "name": "None",
+ "score": 0.02
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "geography",
+ "startTokenIndex": 3,
+ "endTokenIndex": 3,
+ "phrase": "seattle"
+ }
+ ]
+ },
+ {
+ "text": "change location to madrid",
+ "tokenizedText": [
+ "change",
+ "location",
+ "to",
+ "madrid"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 1.0
+ },
+ {
+ "name": "None",
+ "score": 0.03
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 3,
+ "endTokenIndex": 3,
+ "phrase": "madrid"
+ }
+ ]
+ },
+ {
+ "text": "search hotels, \"next day\"",
+ "tokenizedText": [
+ "search",
+ "hotels",
+ ",",
+ "\"",
+ "next",
+ "day",
+ "\""
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels",
+ "score": 0.99
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "find a deluxe room in a 3 stars hotel in barcelona please",
+ "tokenizedText": [
+ "find",
+ "a",
+ "deluxe",
+ "room",
+ "in",
+ "a",
+ "3",
+ "stars",
+ "hotel",
+ "in",
+ "barcelona",
+ "please"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "RoomType",
+ "startTokenIndex": 2,
+ "endTokenIndex": 2,
+ "phrase": "deluxe"
+ },
+ {
+ "entityName": "Category",
+ "startTokenIndex": 6,
+ "endTokenIndex": 7,
+ "phrase": "3 stars"
+ },
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 10,
+ "endTokenIndex": 10,
+ "phrase": "barcelona"
+ },
+ {
+ "entityName": "geography",
+ "startTokenIndex": 10,
+ "endTokenIndex": 10,
+ "phrase": "barcelona"
+ }
+ ]
+ },
+ {
+ "text": "time miami",
+ "tokenizedText": [
+ "time",
+ "miami"
+ ],
+ "intentPredictions": [
+ {
+ "name": "TimeInPlace",
+ "score": 1.0
+ },
+ {
+ "name": "None",
+ "score": 0.14
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "find hotel in barcelona from today",
+ "tokenizedText": [
+ "find",
+ "hotel",
+ "in",
+ "barcelona",
+ "from",
+ "today"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 3,
+ "endTokenIndex": 3,
+ "phrase": "barcelona"
+ },
+ {
+ "entityName": "Checkin",
+ "startTokenIndex": 5,
+ "endTokenIndex": 5,
+ "phrase": "today"
+ },
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 5,
+ "endTokenIndex": 5,
+ "phrase": "today"
+ }
+ ]
+ },
+ {
+ "text": "search for 5 start hotels in jujuy",
+ "tokenizedText": [
+ "search",
+ "for",
+ "5",
+ "start",
+ "hotels",
+ "in",
+ "jujuy"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 2,
+ "endTokenIndex": 2,
+ "phrase": "5"
+ },
+ {
+ "entityName": "Category",
+ "startTokenIndex": 2,
+ "endTokenIndex": 3,
+ "phrase": "5 start"
+ },
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 6,
+ "endTokenIndex": 6,
+ "phrase": "jujuy"
+ }
+ ]
+ },
+ {
+ "text": "search hotels, past tomorrow",
+ "tokenizedText": [
+ "search",
+ "hotels",
+ ",",
+ "past",
+ "tomorrow"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels",
+ "score": 1.0
+ },
+ {
+ "name": "None",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 4,
+ "endTokenIndex": 4,
+ "phrase": "tomorrow"
+ }
+ ]
+ },
+ {
+ "text": "loz",
+ "tokenizedText": [
+ "loz"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 1.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Code",
+ "startTokenIndex": 0,
+ "endTokenIndex": 0,
+ "phrase": "loz"
+ }
+ ]
+ },
+ {
+ "text": "show me the weather",
+ "tokenizedText": [
+ "show",
+ "me",
+ "the",
+ "weather"
+ ],
+ "intentPredictions": [
+ {
+ "name": "WeatherInPlace",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "dme airport",
+ "tokenizedText": [
+ "dme",
+ "airport"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 0.99
+ },
+ {
+ "name": "None",
+ "score": 0.04
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Code",
+ "startTokenIndex": 0,
+ "endTokenIndex": 0,
+ "phrase": "dme"
+ }
+ ]
+ },
+ {
+ "text": "find zzz airport",
+ "tokenizedText": [
+ "find",
+ "zzz",
+ "airport"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 1.0
+ },
+ {
+ "name": "None",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Code",
+ "startTokenIndex": 1,
+ "endTokenIndex": 1,
+ "phrase": "zzz"
+ }
+ ]
+ },
+ {
+ "text": "change location to miami",
+ "tokenizedText": [
+ "change",
+ "location",
+ "to",
+ "miami"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 1.0
+ },
+ {
+ "name": "None",
+ "score": 0.08
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 3,
+ "endTokenIndex": 3,
+ "phrase": "miami"
+ },
+ {
+ "entityName": "geography",
+ "startTokenIndex": 3,
+ "endTokenIndex": 3,
+ "phrase": "miami"
+ }
+ ]
+ },
+ {
+ "text": "find hotel from today till next monday",
+ "tokenizedText": [
+ "find",
+ "hotel",
+ "from",
+ "today",
+ "till",
+ "next",
+ "monday"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Checkin",
+ "startTokenIndex": 3,
+ "endTokenIndex": 3,
+ "phrase": "today"
+ },
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 3,
+ "endTokenIndex": 3,
+ "phrase": "today"
+ },
+ {
+ "entityName": "Checkout",
+ "startTokenIndex": 5,
+ "endTokenIndex": 6,
+ "phrase": "next monday"
+ },
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 5,
+ "endTokenIndex": 6,
+ "phrase": "next monday"
+ }
+ ]
+ },
+ {
+ "text": "sorry, find me airport with code bcn",
+ "tokenizedText": [
+ "sorry",
+ ",",
+ "find",
+ "me",
+ "airport",
+ "with",
+ "code",
+ "bcn"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 1.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.02
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Code",
+ "startTokenIndex": 7,
+ "endTokenIndex": 7,
+ "phrase": "bcn"
+ }
+ ]
+ },
+ {
+ "text": "actionresult = \"weather in aisjj3o9f2\"",
+ "tokenizedText": [
+ "actionresult",
+ "=",
+ "\"",
+ "weather",
+ "in",
+ "aisjj3o9f2",
+ "\""
+ ],
+ "intentPredictions": [
+ {
+ "name": "WeatherInPlace",
+ "score": 0.82
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.02
+ },
+ {
+ "name": "None",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 5,
+ "endTokenIndex": 5,
+ "phrase": "aisjj3o9f2"
+ }
+ ]
+ },
+ {
+ "text": "[object object]",
+ "tokenizedText": [
+ "[",
+ "object",
+ "object",
+ "]"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.06
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.05
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.01
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "05-27-2017",
+ "tokenizedText": [
+ "05",
+ "-",
+ "27",
+ "-",
+ "2017"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.84
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 0,
+ "endTokenIndex": 4,
+ "phrase": "05-27-2017"
+ }
+ ]
+ },
+ {
+ "text": "change hotel location",
+ "tokenizedText": [
+ "change",
+ "hotel",
+ "location"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 1.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.03
+ },
+ {
+ "name": "None",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "asdttt",
+ "tokenizedText": [
+ "asdttt"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 1.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "whats the time in miami",
+ "tokenizedText": [
+ "whats",
+ "the",
+ "time",
+ "in",
+ "miami"
+ ],
+ "intentPredictions": [
+ {
+ "name": "TimeInPlace",
+ "score": 1.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 4,
+ "endTokenIndex": 4,
+ "phrase": "miami"
+ },
+ {
+ "entityName": "geography",
+ "startTokenIndex": 4,
+ "endTokenIndex": 4,
+ "phrase": "miami"
+ }
+ ]
+ },
+ {
+ "text": "time in brasil",
+ "tokenizedText": [
+ "time",
+ "in",
+ "brasil"
+ ],
+ "intentPredictions": [
+ {
+ "name": "TimeInPlace",
+ "score": 1.0
+ },
+ {
+ "name": "None",
+ "score": 0.01
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 2,
+ "endTokenIndex": 2,
+ "phrase": "brasil"
+ }
+ ]
+ },
+ {
+ "text": "mia",
+ "tokenizedText": [
+ "mia"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.65
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.02
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "3-3-2017",
+ "tokenizedText": [
+ "3",
+ "-",
+ "3",
+ "-",
+ "2017"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.87
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 0,
+ "endTokenIndex": 4,
+ "phrase": "3-3-2017"
+ }
+ ]
+ },
+ {
+ "text": "how is the weather in buenos aires?",
+ "tokenizedText": [
+ "how",
+ "is",
+ "the",
+ "weather",
+ "in",
+ "buenos",
+ "aires",
+ "?"
+ ],
+ "intentPredictions": [
+ {
+ "name": "WeatherInPlace",
+ "score": 0.97
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 5,
+ "endTokenIndex": 6,
+ "phrase": "buenos aires"
+ },
+ {
+ "entityName": "geography",
+ "startTokenIndex": 5,
+ "endTokenIndex": 6,
+ "phrase": "buenos aires"
+ },
+ {
+ "entityName": "geography",
+ "startTokenIndex": 5,
+ "endTokenIndex": 6,
+ "phrase": "buenos aires"
+ },
+ {
+ "entityName": "geography",
+ "startTokenIndex": 5,
+ "endTokenIndex": 6,
+ "phrase": "buenos aires"
+ }
+ ]
+ },
+ {
+ "text": "n",
+ "tokenizedText": [
+ "n"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.98
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.01
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "find aaa airport",
+ "tokenizedText": [
+ "find",
+ "aaa",
+ "airport"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Code",
+ "startTokenIndex": 1,
+ "endTokenIndex": 1,
+ "phrase": "aaa"
+ }
+ ]
+ },
+ {
+ "text": "find airport lhr",
+ "tokenizedText": [
+ "find",
+ "airport",
+ "lhr"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 0.99
+ },
+ {
+ "name": "None",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Code",
+ "startTokenIndex": 2,
+ "endTokenIndex": 2,
+ "phrase": "lhr"
+ }
+ ]
+ },
+ {
+ "text": "juj",
+ "tokenizedText": [
+ "juj"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 1.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Code",
+ "startTokenIndex": 0,
+ "endTokenIndex": 0,
+ "phrase": "juj"
+ }
+ ]
+ },
+ {
+ "text": "adweqwe",
+ "tokenizedText": [
+ "adweqwe"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 1.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "find hotel in madrid for today",
+ "tokenizedText": [
+ "find",
+ "hotel",
+ "in",
+ "madrid",
+ "for",
+ "today"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 3,
+ "endTokenIndex": 3,
+ "phrase": "madrid"
+ },
+ {
+ "entityName": "geography",
+ "startTokenIndex": 3,
+ "endTokenIndex": 3,
+ "phrase": "madrid"
+ },
+ {
+ "entityName": "Checkin",
+ "startTokenIndex": 5,
+ "endTokenIndex": 5,
+ "phrase": "today"
+ },
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 5,
+ "endTokenIndex": 5,
+ "phrase": "today"
+ }
+ ]
+ },
+ {
+ "text": "find airport zzz",
+ "tokenizedText": [
+ "find",
+ "airport",
+ "zzz"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 1.0
+ },
+ {
+ "name": "None",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Code",
+ "startTokenIndex": 2,
+ "endTokenIndex": 2,
+ "phrase": "zzz"
+ }
+ ]
+ },
+ {
+ "text": "search hotels, \"past tomorrow\"",
+ "tokenizedText": [
+ "search",
+ "hotels",
+ ",",
+ "\"",
+ "past",
+ "tomorrow",
+ "\""
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 5,
+ "endTokenIndex": 5,
+ "phrase": "tomorrow"
+ }
+ ]
+ },
+ {
+ "text": "search for 5 stars hotels in barcelo",
+ "tokenizedText": [
+ "search",
+ "for",
+ "5",
+ "stars",
+ "hotels",
+ "in",
+ "barcelo"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Category",
+ "startTokenIndex": 2,
+ "endTokenIndex": 3,
+ "phrase": "5 stars"
+ },
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 6,
+ "endTokenIndex": 6,
+ "phrase": "barcelo"
+ }
+ ]
+ },
+ {
+ "text": "airport",
+ "tokenizedText": [
+ "airport"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 1.0
+ },
+ {
+ "name": "None",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "change location",
+ "tokenizedText": [
+ "change",
+ "location"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 1.0
+ },
+ {
+ "name": "None",
+ "score": 0.19
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.02
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "11/11/2017",
+ "tokenizedText": [
+ "11",
+ "/",
+ "11",
+ "/",
+ "2017"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.9
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 0,
+ "endTokenIndex": 4,
+ "phrase": "11/11/2017"
+ }
+ ]
+ },
+ {
+ "text": "tell me the weather in new york",
+ "tokenizedText": [
+ "tell",
+ "me",
+ "the",
+ "weather",
+ "in",
+ "new",
+ "york"
+ ],
+ "intentPredictions": [
+ {
+ "name": "WeatherInPlace",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 5,
+ "endTokenIndex": 6,
+ "phrase": "new york"
+ },
+ {
+ "entityName": "geography",
+ "startTokenIndex": 5,
+ "endTokenIndex": 6,
+ "phrase": "new york"
+ },
+ {
+ "entityName": "Retrieve Sample List",
+ "startTokenIndex": 5,
+ "endTokenIndex": 6,
+ "phrase": "new york"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetExamplesPerModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetExamplesPerModelRequest.json
new file mode 100644
index 000000000000..0bd9783b948a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetExamplesPerModelRequest.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000}",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "modelId": "e4770e43-233a-48ad-a1fa-54f4f97eff9f"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": 10002,
+ "text": "Lorem ipsum dolor sit amet"
+ },
+ {
+ "id": 10003,
+ "text": "consectetur adipiscing elit"
+ },
+ {
+ "id": 10004,
+ "text": "sed do eiusmod tempor incididunt"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetHierarchicalChildEntityInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetHierarchicalChildEntityInfoRequest.json
new file mode 100644
index 000000000000..cb3138df0672
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetHierarchicalChildEntityInfoRequest.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "appId": "{appId}",
+ "versionId": "{versionId}",
+ "hEntityId": "{hEntityId}",
+ "hChildId": "{hChildId}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "ef278a6c-d94f-4d20-a602-cf53d0acf0f5",
+ "name": "From",
+ "typeId": 6,
+ "readableType": "Hierarchical Child Entity Extractor"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetHierarchicalEntityInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetHierarchicalEntityInfoRequest.json
new file mode 100644
index 000000000000..85d6eba6f6f1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetHierarchicalEntityInfoRequest.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "appId": "{appId}",
+ "versionId": "{versionId}",
+ "hEntityId": "{hEntityId}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "fe559c31-9778-42ea-ba45-94e0bd7cf767",
+ "name": "Location",
+ "typeId": 3,
+ "readableType": "Hierarchical Entity Extractor",
+ "children": [
+ {
+ "id": "ec076676-d8d9-42fa-a44e-87989c0a2f82",
+ "name": "From"
+ },
+ {
+ "id": "63ebd752-4e81-4ce7-a698-b59b82bf5519",
+ "name": "To"
+ }
+ ],
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetHierarchicalEntityRoleInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetHierarchicalEntityRoleInfoRequest.json
new file mode 100644
index 000000000000..dd9c6f7f42ba
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetHierarchicalEntityRoleInfoRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "hEntityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "a682a962-1f92-4ae7-b8b8-398414e30c12",
+ "name": "role 1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetHierarchicalEntityRolesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetHierarchicalEntityRolesRequest.json
new file mode 100644
index 000000000000..1b0fc00770de
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetHierarchicalEntityRolesRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "hEntityId": "2d3173b0-983c-43ae-92f8-6f5b5d09a11a"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetIntentInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetIntentInfoRequest.json
new file mode 100644
index 000000000000..1716e6373d98
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetIntentInfoRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "intentId": "d7a08f1a-d276-4364-b2d5-b0235c61e37f"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "8285a9ee-6bc0-4409-87f4-82d539f70529",
+ "name": "TestIntent",
+ "typeId": 0,
+ "readableType": "Intent Classifier"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetIntentsSuggestionExamples.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetIntentsSuggestionExamples.json
new file mode 100644
index 000000000000..a0cd5f3a1bbc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetIntentsSuggestionExamples.json
@@ -0,0 +1,213 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "intentId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "text": "hey",
+ "tokenizedText": [
+ "hey"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.65
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.02
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "2-2-2017",
+ "tokenizedText": [
+ "2",
+ "-",
+ "2",
+ "-",
+ "2017"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.88
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "datetime",
+ "startTokenIndex": 0,
+ "endTokenIndex": 4,
+ "phrase": "2-2-2017"
+ }
+ ]
+ },
+ {
+ "text": "maybe find me an airport first",
+ "tokenizedText": [
+ "maybe",
+ "find",
+ "me",
+ "an",
+ "airport",
+ "first"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindAirportByCode",
+ "score": 0.99
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "as",
+ "tokenizedText": [
+ "as"
+ ],
+ "intentPredictions": [
+ {
+ "name": "None",
+ "score": 0.98
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.01
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.01
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": []
+ },
+ {
+ "text": "find hotel in barcelona",
+ "tokenizedText": [
+ "find",
+ "hotel",
+ "in",
+ "barcelona"
+ ],
+ "intentPredictions": [
+ {
+ "name": "FindHotels",
+ "score": 1.0
+ },
+ {
+ "name": "TimeInPlace",
+ "score": 0.0
+ },
+ {
+ "name": "None",
+ "score": 0.0
+ },
+ {
+ "name": "FindAirportByCode",
+ "score": 0.0
+ },
+ {
+ "name": "FindHotels-ChangeLocation",
+ "score": 0.0
+ },
+ {
+ "name": "WeatherInPlace",
+ "score": 0.0
+ }
+ ],
+ "entityPredictions": [
+ {
+ "entityName": "Renamed Entity",
+ "startTokenIndex": 3,
+ "endTokenIndex": 3,
+ "phrase": "barcelona"
+ },
+ {
+ "entityName": "geography",
+ "startTokenIndex": 3,
+ "endTokenIndex": 3,
+ "phrase": "barcelona"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyEntityInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyEntityInfoRequest.json
new file mode 100644
index 000000000000..e0431eda30b8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyEntityInfoRequest.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "any",
+ "typeId": 7,
+ "readableType": "Pattern.Any Entity Extractor",
+ "explicitList": [
+ {
+ "id": 456,
+ "explicitListItem": "item 1"
+ },
+ {
+ "id": 457,
+ "explicitListItem": "item 2"
+ }
+ ],
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyEntityRoleInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyEntityRoleInfoRequest.json
new file mode 100644
index 000000000000..2052c08d2652
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyEntityRoleInfoRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "a682a962-1f92-4ae7-b8b8-398414e30c12",
+ "name": "role 1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyEntityRolesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyEntityRolesRequest.json
new file mode 100644
index 000000000000..503a2725e69a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyEntityRolesRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "2d3173b0-983c-43ae-92f8-6f5b5d09a11a"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyExplicitListItemRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyExplicitListItemRequest.json
new file mode 100644
index 000000000000..71f5e66dd804
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyExplicitListItemRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "2d3173b0-983c-43ae-92f8-6f5b5d09a11a",
+ "itemId": 76451
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": 76451,
+ "explicitListItem": "item 2"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyExplicitListRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyExplicitListRequest.json
new file mode 100644
index 000000000000..04ca5d9a5ea2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPatternAnyExplicitListRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "2d3173b0-983c-43ae-92f8-6f5b5d09a11a"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": 48674,
+ "explicitListItem": "item 1"
+ },
+ {
+ "id": 76451,
+ "explicitListItem": "item 2"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPrebuiltEntityRoleInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPrebuiltEntityRoleInfoRequest.json
new file mode 100644
index 000000000000..2052c08d2652
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPrebuiltEntityRoleInfoRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "a682a962-1f92-4ae7-b8b8-398414e30c12",
+ "name": "role 1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPrebuiltEntityRolesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPrebuiltEntityRolesRequest.json
new file mode 100644
index 000000000000..503a2725e69a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPrebuiltEntityRolesRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "2d3173b0-983c-43ae-92f8-6f5b5d09a11a"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPrebuiltInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPrebuiltInfoRequest.json
new file mode 100644
index 000000000000..22b050172373
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetPrebuiltInfoRequest.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "prebuiltId": "a065c863-918e-4c56-a267-9aaae3c7dced"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "a065c863-918e-4c56-a267-9aaae3c7dced",
+ "name": "datetimeV2",
+ "typeId": 2,
+ "readableType": "Prebuilt Entity Extractor",
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetRegexEntityInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetRegexEntityInfoRequest.json
new file mode 100644
index 000000000000..675614962014
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetRegexEntityInfoRequest.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "regexEntityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "AirportCodeRegex",
+ "regexPattern": "[a-z]{3}",
+ "typeId": 8,
+ "readableType": "Regex Entity Extractor",
+ "roles": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetRegexEntityRoleInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetRegexEntityRoleInfoRequest.json
new file mode 100644
index 000000000000..2052c08d2652
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetRegexEntityRoleInfoRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "a682a962-1f92-4ae7-b8b8-398414e30c12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "a682a962-1f92-4ae7-b8b8-398414e30c12",
+ "name": "role 1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetRegexEntityRolesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetRegexEntityRolesRequest.json
new file mode 100644
index 000000000000..503a2725e69a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetRegexEntityRolesRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "2d3173b0-983c-43ae-92f8-6f5b5d09a11a"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 1"
+ },
+ {
+ "id": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "name": "role 2"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulPatchClosedListEntityModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulPatchClosedListEntityModelRequest.json
new file mode 100644
index 000000000000..dc5341bcfcc7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulPatchClosedListEntityModelRequest.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "clEntityId": "d1f95436-57ac-4524-ae81-5bdd32668ccf",
+ "closedListModelPatchObject": {
+ "subLists": [
+ {
+ "canonicalForm": "Texas",
+ "list": [
+ "tx",
+ "texas"
+ ]
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulRenameIntentModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulRenameIntentModelRequest.json
new file mode 100644
index 000000000000..41a8e651e259
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulRenameIntentModelRequest.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "intentId": "d7a08f1a-d276-4364-b2d5-b0235c61e37f",
+ "modelUpdateObject": {
+ "name": "newTest"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateClosedListEntityModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateClosedListEntityModelRequest.json
new file mode 100644
index 000000000000..be1354932eff
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateClosedListEntityModelRequest.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "clEntityId": "d1f95436-57ac-4524-ae81-5bdd32668ccf",
+ "closedListModelUpdateObject": {
+ "name": "States",
+ "subLists": [
+ {
+ "canonicalForm": "Texas",
+ "list": [
+ "TX",
+ "Texas"
+ ]
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateClosedListEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateClosedListEntityRoleRequest.json
new file mode 100644
index 000000000000..7169ee6ae797
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateClosedListEntityRoleRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "6dbed7e2-7df6-4cd6-a225-97e6fbe4493d",
+ "entityRoleUpdateObject": {
+ "name": "New Name"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateCompositeEntityModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateCompositeEntityModelRequest.json
new file mode 100644
index 000000000000..78be03fe4f4d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateCompositeEntityModelRequest.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{apiKey}",
+ "appId": "{appId}",
+ "versionId": "{versionId}",
+ "cEntityId": "{cEntityId}",
+ "compositeModelUpdateObject": {
+ "name": "Renamed Entity"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateCompositeEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateCompositeEntityRoleRequest.json
new file mode 100644
index 000000000000..1a460ea7216c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateCompositeEntityRoleRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "cEntityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "6dbed7e2-7df6-4cd6-a225-97e6fbe4493d",
+ "entityRoleUpdateObject": {
+ "name": "New Name"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateCustomPrebuiltEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateCustomPrebuiltEntityRoleRequest.json
new file mode 100644
index 000000000000..7169ee6ae797
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateCustomPrebuiltEntityRoleRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "6dbed7e2-7df6-4cd6-a225-97e6fbe4493d",
+ "entityRoleUpdateObject": {
+ "name": "New Name"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateEntityExtractorRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateEntityExtractorRequest.json
new file mode 100644
index 000000000000..5a4558d9e82a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateEntityExtractorRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "entityModelUpdateObject": {
+ "name": "New Name",
+ "instanceOf": "number"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateEntityRoleRequest.json
new file mode 100644
index 000000000000..7169ee6ae797
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateEntityRoleRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "6dbed7e2-7df6-4cd6-a225-97e6fbe4493d",
+ "entityRoleUpdateObject": {
+ "name": "New Name"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateHierarchicalChildModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateHierarchicalChildModelRequest.json
new file mode 100644
index 000000000000..3f65e0bdc0a6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateHierarchicalChildModelRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "hEntityId": "fe559c31-9778-42ea-ba45-94e0bd7cf767",
+ "hChildId": "fe559c31-9778-42ea-ed45-94e0bd7cf767",
+ "hierarchicalChildModelUpdateObject": {
+ "name": "Location::To"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateHierarchicalEntityModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateHierarchicalEntityModelRequest.json
new file mode 100644
index 000000000000..3ab3ac76e1df
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateHierarchicalEntityModelRequest.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "hEntityId": "fe559c31-9778-42ea-ba45-94e0bd7cf767",
+ "modelUpdateObject": {
+ "name": "Reservation"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateHierarchicalEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateHierarchicalEntityRoleRequest.json
new file mode 100644
index 000000000000..797154c47969
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateHierarchicalEntityRoleRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "hEntityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "6dbed7e2-7df6-4cd6-a225-97e6fbe4493d",
+ "entityRoleUpdateObject": {
+ "name": "New Name"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdatePatternAnyEntityExplicitListItemRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdatePatternAnyEntityExplicitListItemRequest.json
new file mode 100644
index 000000000000..a0f7b69a69f3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdatePatternAnyEntityExplicitListItemRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "itemId": 53435,
+ "item": {
+ "explicitListItem": "new item"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdatePatternAnyEntityRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdatePatternAnyEntityRequest.json
new file mode 100644
index 000000000000..580470d46af4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdatePatternAnyEntityRequest.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "patternAnyUpdateObject": {
+ "name": "New Name",
+ "explicitList": [
+ "item1",
+ "item2"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdatePatternAnyEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdatePatternAnyEntityRoleRequest.json
new file mode 100644
index 000000000000..7169ee6ae797
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdatePatternAnyEntityRoleRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "6dbed7e2-7df6-4cd6-a225-97e6fbe4493d",
+ "entityRoleUpdateObject": {
+ "name": "New Name"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdatePrebuiltEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdatePrebuiltEntityRoleRequest.json
new file mode 100644
index 000000000000..7169ee6ae797
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdatePrebuiltEntityRoleRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "6dbed7e2-7df6-4cd6-a225-97e6fbe4493d",
+ "entityRoleUpdateObject": {
+ "name": "New Name"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateRegexEntityModelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateRegexEntityModelRequest.json
new file mode 100644
index 000000000000..ff26f5a7cffb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateRegexEntityModelRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "regexEntityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "regexEntityUpdateObject": {
+ "name": "New Name",
+ "regexPattern": "[a-z]{3}"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateRegexEntityRoleRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateRegexEntityRoleRequest.json
new file mode 100644
index 000000000000..7169ee6ae797
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateRegexEntityRoleRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "roleId": "6dbed7e2-7df6-4cd6-a225-97e6fbe4493d",
+ "entityRoleUpdateObject": {
+ "name": "New Name"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateSublistRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateSublistRequest.json
new file mode 100644
index 000000000000..cdb7a3de86bc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulUpdateSublistRequest.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "clEntityId": "d1f95436-57ac-4524-ae81-5bdd32668ccf",
+ "subListId": 123,
+ "wordListBaseUpdateObject": {
+ "canonicalForm": "Texas",
+ "list": [
+ "tx",
+ "texas"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/package/SuccessfulGetPublishedApplicationPackageRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/package/SuccessfulGetPublishedApplicationPackageRequest.json
new file mode 100644
index 000000000000..57e0c9be86e3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.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}"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/package/SuccessfulGetTrainedApplicationPackageRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/package/SuccessfulGetTrainedApplicationPackageRequest.json
new file mode 100644
index 000000000000..57e0c9be86e3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.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}"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulAddPatternRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulAddPatternRequest.json
new file mode 100644
index 000000000000..663859dde70d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulAddPatternRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "pattern": {
+ "pattern": "Who's {Name} reporting to?",
+ "intent": "report to"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "cc8fa554-cc6c-4bcc-97eb-c8e5bc2091b3",
+ "pattern": "who's {Name} reporting to?",
+ "intent": "report to"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulBatchAddLabelsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulBatchAddLabelsRequest.json
new file mode 100644
index 000000000000..ff74e0a38dff
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulBatchAddLabelsRequest.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "2370fb9d-7dbc-4898-a361-a742cf290766",
+ "versionId": "0.1",
+ "patterns": [
+ {
+ "pattern": "Who's {Name} reporting to?",
+ "intent": "report to"
+ },
+ {
+ "pattern": "Who's {Name} reporting to?",
+ "intent": "report to"
+ }
+ ]
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": [
+ {
+ "id": "cc8fa554-cc6c-4bcc-97eb-c8e5bc2091b3",
+ "pattern": "who's {Name} reporting to?",
+ "intent": "report to"
+ },
+ {
+ "id": "cc8fa554-cc6c-4bcc-97eb-c8e5bc2091b3",
+ "pattern": "who's {Name} reporting to?",
+ "intent": "report to"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulDeletePatternRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulDeletePatternRequest.json
new file mode 100644
index 000000000000..d2d9eb298075
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulDeletePatternRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "patternId": "cc8fa554-cc6c-4bcc-97eb-c8e5bc2091b3"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulDeletePatternsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulDeletePatternsRequest.json
new file mode 100644
index 000000000000..a6c9168abd4e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulDeletePatternsRequest.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "patternIds": [
+ "cc8fa554-cc6c-4bcc-97eb-c8e5bc2091b3",
+ "2126479d-2a98-4d06-a65e-b8799df2dd53"
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulGetIntentPatternsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulGetIntentPatternsRequest.json
new file mode 100644
index 000000000000..269cebf9bd61
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulGetIntentPatternsRequest.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "intentId": "6dbed7e2-7df6-4cd6-a225-97e6fbe4493d",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "cc8fa554-cc6c-4bcc-97eb-c8e5bc2091b3",
+ "pattern": "who's {Name} reporting to?",
+ "intent": "report to"
+ },
+ {
+ "id": "58077d3a-4bbb-47ba-8aa9-31c0ead0bf08",
+ "pattern": "who's reporting to {Name}?",
+ "intent": "report to"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulGetPatternsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulGetPatternsRequest.json
new file mode 100644
index 000000000000..1829a2e8cdee
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulGetPatternsRequest.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "cc8fa554-cc6c-4bcc-97eb-c8e5bc2091b3",
+ "pattern": "who's {Name} reporting to?",
+ "intent": "report to"
+ },
+ {
+ "id": "58077d3a-4bbb-47ba-8aa9-31c0ead0bf08",
+ "pattern": "who's reporting to {Name}?",
+ "intent": "report to"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulUpdatePatternRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulUpdatePatternRequest.json
new file mode 100644
index 000000000000..67ccc3717e0d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulUpdatePatternRequest.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "patternId": "cc8fa554-cc6c-4bcc-97eb-c8e5bc2091b3",
+ "pattern": {
+ "pattern": "Who's {Name} reporting to?",
+ "intent": "report to"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "cc8fa554-cc6c-4bcc-97eb-c8e5bc2091b3",
+ "pattern": "who's {Name} reporting to?",
+ "intent": "report to"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulUpdatePatternsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulUpdatePatternsRequest.json
new file mode 100644
index 000000000000..fb3997aa2024
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/patterns/SuccessfulUpdatePatternsRequest.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "patterns": [
+ {
+ "id": "cc8fa554-cc6c-4bcc-97eb-c8e5bc2091b3",
+ "pattern": "Who's {Name} reporting to?",
+ "intent": "report to"
+ },
+ {
+ "id": "cc8fa554-cc6c-4bcc-97eb-c8e5bc2091b3",
+ "pattern": "Who's {Name} reporting to?",
+ "intent": "report to"
+ }
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "cc8fa554-cc6c-4bcc-97eb-c8e5bc2091b3",
+ "pattern": "who's {Name} reporting to?",
+ "intent": "report to"
+ },
+ {
+ "id": "cc8fa554-cc6c-4bcc-97eb-c8e5bc2091b3",
+ "pattern": "who's {Name} reporting to?",
+ "intent": "report to"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulAddUserToAccessListRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulAddUserToAccessListRequest.json
new file mode 100644
index 000000000000..868818ea0bda
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulAddUserToAccessListRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "userToAdd": {
+ "email": "guest@outlook.com"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulGetApplicationUserAccessListRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulGetApplicationUserAccessListRequest.json
new file mode 100644
index 000000000000..bca79c6b986c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulGetApplicationUserAccessListRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "owner": "owner@email.com",
+ "emails": [
+ "yourname@outlook.com"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulRemoveUserFromAccessListRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulRemoveUserFromAccessListRequest.json
new file mode 100644
index 000000000000..e07a94cd0393
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulRemoveUserFromAccessListRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "userToDelete": {
+ "email": "guest@outlook.com"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulReplacesUsersFromAccessListRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulReplacesUsersFromAccessListRequest.json
new file mode 100644
index 000000000000..34444826b73b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulReplacesUsersFromAccessListRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "collaborators": {
+ "emails": [
+ "guest@outlook.com",
+ "invited.user@live.com"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/stats/SuccessfulAssignAzureAccountRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/stats/SuccessfulAssignAzureAccountRequest.json
new file mode 100644
index 000000000000..82d9f72a4578
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.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"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/stats/SuccessfulDeleteAssignedAzureAccountRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/stats/SuccessfulDeleteAssignedAzureAccountRequest.json
new file mode 100644
index 000000000000..91903957a95b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.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"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/stats/SuccessfulGetAssignedAzureAccountsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/stats/SuccessfulGetAssignedAzureAccountsRequest.json
new file mode 100644
index 000000000000..bab6b4a286f0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.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}"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/stats/SuccessfulGetAzureAccountsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/stats/SuccessfulGetAzureAccountsRequest.json
new file mode 100644
index 000000000000..7f98282b81d4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.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}"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/train/SuccessfulGetApplicationVersionTrainingStatusRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/train/SuccessfulGetApplicationVersionTrainingStatusRequest.json
new file mode 100644
index 000000000000..d89c56ce2895
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/train/SuccessfulGetApplicationVersionTrainingStatusRequest.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "modelId": "f9b00d5b-1f2d-421e-bc99-5ff192d0b998",
+ "details": {
+ "statusId": 3,
+ "status": "InProgress",
+ "exampleCount": 0
+ }
+ },
+ {
+ "modelId": "51403af3-5342-4926-abaa-91172a42e075",
+ "details": {
+ "statusId": 2,
+ "status": "UpToDate",
+ "exampleCount": 12,
+ "trainingDateTime": "2017-01-31T21:42:02Z"
+ }
+ },
+ {
+ "modelId": "b4cf6402-dc79-4ca3-8666-b0007337e92b",
+ "details": {
+ "statusId": 1,
+ "status": "Fail",
+ "exampleCount": 12,
+ "failureReason": "FewLabels"
+ }
+ },
+ {
+ "modelId": "e8e3135a-acd9-4164-a65c-e2fedbe78cfa",
+ "details": {
+ "statusId": 3,
+ "status": "InProgress",
+ "exampleCount": 0
+ }
+ },
+ {
+ "modelId": "3291fac9-6368-4c87-9562-e78cae0fa7c6",
+ "details": {
+ "statusId": 0,
+ "status": "Success",
+ "exampleCount": 12,
+ "trainingDateTime": "2017-01-31T21:42:02Z"
+ }
+ },
+ {
+ "modelId": "a193efac-ab02-49d7-b005-ee717d45c4f1",
+ "details": {
+ "statusId": 3,
+ "status": "InProgress",
+ "exampleCount": 0
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/train/SuccessfulTrainApplicationVersionRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/train/SuccessfulTrainApplicationVersionRequest.json
new file mode 100644
index 000000000000..67484006a612
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/train/SuccessfulTrainApplicationVersionRequest.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1"
+ },
+ "responses": {
+ "202": {
+ "headers": {},
+ "body": {
+ "statusId": 9,
+ "status": "Queued"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulCloneApplicatioVersionRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulCloneApplicatioVersionRequest.json
new file mode 100644
index 000000000000..c819676e66ff
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulCloneApplicatioVersionRequest.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "0.1",
+ "versionCloneObject": {
+ "version": "1.0"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": "1.0"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulDeleteApplicationVersionRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulDeleteApplicationVersionRequest.json
new file mode 100644
index 000000000000..0fc41319fb8e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulDeleteApplicationVersionRequest.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "0.1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulDeleteUnlabelledUtteranceRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulDeleteUnlabelledUtteranceRequest.json
new file mode 100644
index 000000000000..0d0c02e2995e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulDeleteUnlabelledUtteranceRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "0.1",
+ "utterance": "dummy text"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulExportApplicationVersionRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulExportApplicationVersionRequest.json
new file mode 100644
index 000000000000..388d2eb738e9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulExportApplicationVersionRequest.json
@@ -0,0 +1,305 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "bd72e8d7-62b8-48f5-9dcb-e3b0588b803a",
+ "versionId": "0.2"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "luis_schema_version": "3.0.0",
+ "versionId": "0.1",
+ "name": "LuisBot",
+ "desc": "",
+ "culture": "en-us",
+ "intents": [
+ {
+ "name": "HomeAutomation.TurnOff",
+ "inherits": {
+ "domain_name": "HomeAutomation",
+ "model_name": "TurnOff"
+ }
+ },
+ {
+ "name": "dateintent"
+ },
+ {
+ "name": "Help"
+ },
+ {
+ "name": "None"
+ },
+ {
+ "name": "SearchHotels"
+ },
+ {
+ "name": "ShowHotelsReviews"
+ }
+ ],
+ "entities": [
+ {
+ "name": "AirportCode",
+ "roles": [
+ "destination"
+ ]
+ },
+ {
+ "name": "Hotel",
+ "roles": []
+ }
+ ],
+ "composites": [],
+ "closedLists": [],
+ "patternAnyEntities": [
+ {
+ "name": "patternAny1",
+ "explicitList": [],
+ "roles": [
+ "role1",
+ "role2"
+ ]
+ }
+ ],
+ "regex_entities": [
+ {
+ "name": "regex1",
+ "regexPattern": "[^a]+",
+ "roles": [
+ "regex role"
+ ]
+ }
+ ],
+ "prebuiltEntities": [
+ {
+ "name": "datetimeV2",
+ "roles": [
+ "datetime role"
+ ]
+ }
+ ],
+ "model_features": [
+ {
+ "name": "Near",
+ "mode": true,
+ "words": "near,around,close,nearby",
+ "activated": true
+ },
+ {
+ "name": "Show",
+ "mode": true,
+ "words": "show,find,look,search",
+ "activated": true
+ }
+ ],
+ "regex_features": [
+ {
+ "name": "AirportCodeRegex",
+ "pattern": "[a-z]{3}",
+ "activated": true
+ }
+ ],
+ "patterns": [
+ {
+ "pattern": "this is [a test] {patternAny1:role1}",
+ "intent": "Help"
+ }
+ ],
+ "utterances": [
+ {
+ "text": "i need help",
+ "intent": "Help",
+ "entities": []
+ },
+ {
+ "text": "help me",
+ "intent": "Help",
+ "entities": []
+ },
+ {
+ "text": "tomorrow",
+ "intent": "dateintent",
+ "entities": []
+ },
+ {
+ "text": "search for hotels in seattle",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "what can i do?",
+ "intent": "Help",
+ "entities": []
+ },
+ {
+ "text": "next monday",
+ "intent": "dateintent",
+ "entities": []
+ },
+ {
+ "text": "next year",
+ "intent": "dateintent",
+ "entities": []
+ },
+ {
+ "text": "look for hotels in miami",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "show me hotels in california",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "show me the reviews of the amazing bot resort",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 23,
+ "endPos": 44
+ }
+ ]
+ },
+ {
+ "text": "can i see the reviews of extended bot hotel?",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 25,
+ "endPos": 42
+ }
+ ]
+ },
+ {
+ "text": "find reviews of hotelxya",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 16,
+ "endPos": 23
+ }
+ ]
+ },
+ {
+ "text": "show me reviews of the amazing hotel",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 19,
+ "endPos": 35
+ }
+ ]
+ },
+ {
+ "text": "what are the available options?",
+ "intent": "Help",
+ "entities": []
+ },
+ {
+ "text": "best hotels in seattle",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "hotels in los angeles",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "can you show me hotels from los angeles?",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "can you show me the reviews of the amazing resort & hotel",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 31,
+ "endPos": 56
+ }
+ ]
+ },
+ {
+ "text": "what are the reviews of the hotel bot framework?",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 24,
+ "endPos": 46
+ }
+ ]
+ },
+ {
+ "text": "find hotels near eze",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 17,
+ "endPos": 19
+ }
+ ]
+ },
+ {
+ "text": "where can i stay near nnn?",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 22,
+ "endPos": 24
+ }
+ ]
+ },
+ {
+ "text": "show hotels near att airport",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 17,
+ "endPos": 19
+ }
+ ]
+ },
+ {
+ "text": "find hotels near agl",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 17,
+ "endPos": 19
+ }
+ ]
+ },
+ {
+ "text": "find hotels around eze airport",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 19,
+ "endPos": 21
+ }
+ ]
+ },
+ {
+ "text": "01/7",
+ "intent": "dateintent",
+ "entities": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulGetApplicationVersionInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulGetApplicationVersionInfoRequest.json
new file mode 100644
index 000000000000..5db9fe069442
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulGetApplicationVersionInfoRequest.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "0.1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "version": "0.1",
+ "createdDateTime": "2017-08-01T14:34:15Z",
+ "lastModifiedDateTime": "2017-11-28T20:12:09Z",
+ "lastTrainedDateTime": "2017-11-28T20:12:12Z",
+ "lastPublishedDateTime": "2017-11-28T20:12:35Z",
+ "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "assignedEndpointKey": {
+ "SubscriptionKey": "",
+ "SubscriptionRegion": "westus",
+ "SubscriptionName": ""
+ },
+ "externalApiKeys": {},
+ "intentsCount": 4,
+ "entitiesCount": 0,
+ "endpointHitsCount": 175,
+ "trainingStatus": "Trained"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulGetApplicationVersionSettingsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulGetApplicationVersionSettingsRequest.json
new file mode 100644
index 000000000000..c1afa5393351
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulGetApplicationVersionSettingsRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "0.1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "name": "UseAllTrainingData",
+ "value": "false"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulGetApplicationVersionsInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulGetApplicationVersionsInfoRequest.json
new file mode 100644
index 000000000000..53bc68f9173f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulGetApplicationVersionsInfoRequest.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "skip": 0,
+ "take": 100
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "version": "0.1",
+ "createdDateTime": "2017-08-01T14:34:15Z",
+ "lastModifiedDateTime": "2017-11-28T20:12:09Z",
+ "lastTrainedDateTime": "2017-11-28T20:12:12Z",
+ "lastPublishedDateTime": "2017-11-28T20:12:35Z",
+ "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "assignedEndpointKey": {
+ "SubscriptionKey": "",
+ "SubscriptionRegion": "westus",
+ "SubscriptionName": ""
+ },
+ "externalApiKeys": {},
+ "intentsCount": 4,
+ "entitiesCount": 0,
+ "endpointHitsCount": 175,
+ "trainingStatus": "Trained"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulImportApplicationVersionRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulImportApplicationVersionRequest.json
new file mode 100644
index 000000000000..d1677a179789
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulImportApplicationVersionRequest.json
@@ -0,0 +1,308 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "bd72e8d7-62b8-48f5-9dcb-e3b0588b803a",
+ "versionId": "0.2",
+ "luisApp": {
+ "luis_schema_version": "3.0.0",
+ "versionId": "0.1",
+ "name": "LuisBot",
+ "desc": "",
+ "culture": "en-us",
+ "intents": [
+ {
+ "name": "HomeAutomation.TurnOff",
+ "inherits": {
+ "domain_name": "HomeAutomation",
+ "model_name": "TurnOff"
+ }
+ },
+ {
+ "name": "dateintent"
+ },
+ {
+ "name": "Help"
+ },
+ {
+ "name": "None"
+ },
+ {
+ "name": "SearchHotels"
+ },
+ {
+ "name": "ShowHotelsReviews"
+ }
+ ],
+ "entities": [
+ {
+ "name": "AirportCode",
+ "roles": [
+ "destination"
+ ]
+ },
+ {
+ "name": "Hotel",
+ "roles": []
+ }
+ ],
+ "composites": [],
+ "closedLists": [],
+ "patternAnyEntities": [
+ {
+ "name": "patternAny1",
+ "explicitList": [],
+ "roles": [
+ "role1",
+ "role2"
+ ]
+ }
+ ],
+ "regex_entities": [
+ {
+ "name": "regex1",
+ "regexPattern": "[^a]+",
+ "roles": [
+ "regex role"
+ ]
+ }
+ ],
+ "prebuiltEntities": [
+ {
+ "name": "datetimeV2",
+ "roles": [
+ "datetime role"
+ ]
+ }
+ ],
+ "model_features": [
+ {
+ "name": "Near",
+ "mode": true,
+ "words": "near,around,close,nearby",
+ "activated": true
+ },
+ {
+ "name": "Show",
+ "mode": true,
+ "words": "show,find,look,search",
+ "activated": true
+ }
+ ],
+ "regex_features": [
+ {
+ "name": "AirportCodeRegex",
+ "pattern": "[a-z]{3}",
+ "activated": true
+ }
+ ],
+ "patterns": [
+ {
+ "pattern": "this is [a test] {patternAny1:role1}",
+ "intent": "Help"
+ }
+ ],
+ "utterances": [
+ {
+ "text": "i need help",
+ "intent": "Help",
+ "entities": []
+ },
+ {
+ "text": "help me",
+ "intent": "Help",
+ "entities": []
+ },
+ {
+ "text": "tomorrow",
+ "intent": "dateintent",
+ "entities": []
+ },
+ {
+ "text": "search for hotels in seattle",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "what can i do?",
+ "intent": "Help",
+ "entities": []
+ },
+ {
+ "text": "next monday",
+ "intent": "dateintent",
+ "entities": []
+ },
+ {
+ "text": "next year",
+ "intent": "dateintent",
+ "entities": []
+ },
+ {
+ "text": "look for hotels in miami",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "show me hotels in california",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "show me the reviews of the amazing bot resort",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 23,
+ "endPos": 44
+ }
+ ]
+ },
+ {
+ "text": "can i see the reviews of extended bot hotel?",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 25,
+ "endPos": 42
+ }
+ ]
+ },
+ {
+ "text": "find reviews of hotelxya",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 16,
+ "endPos": 23
+ }
+ ]
+ },
+ {
+ "text": "show me reviews of the amazing hotel",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 19,
+ "endPos": 35
+ }
+ ]
+ },
+ {
+ "text": "what are the available options?",
+ "intent": "Help",
+ "entities": []
+ },
+ {
+ "text": "best hotels in seattle",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "hotels in los angeles",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "can you show me hotels from los angeles?",
+ "intent": "SearchHotels",
+ "entities": []
+ },
+ {
+ "text": "can you show me the reviews of the amazing resort & hotel",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 31,
+ "endPos": 56
+ }
+ ]
+ },
+ {
+ "text": "what are the reviews of the hotel bot framework?",
+ "intent": "ShowHotelsReviews",
+ "entities": [
+ {
+ "entity": "Hotel",
+ "startPos": 24,
+ "endPos": 46
+ }
+ ]
+ },
+ {
+ "text": "find hotels near eze",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 17,
+ "endPos": 19
+ }
+ ]
+ },
+ {
+ "text": "where can i stay near nnn?",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 22,
+ "endPos": 24
+ }
+ ]
+ },
+ {
+ "text": "show hotels near att airport",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 17,
+ "endPos": 19
+ }
+ ]
+ },
+ {
+ "text": "find hotels near agl",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 17,
+ "endPos": 19
+ }
+ ]
+ },
+ {
+ "text": "find hotels around eze airport",
+ "intent": "SearchHotels",
+ "entities": [
+ {
+ "entity": "AirportCode",
+ "startPos": 19,
+ "endPos": 21
+ }
+ ]
+ },
+ {
+ "text": "01/7",
+ "intent": "dateintent",
+ "entities": []
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/bd72e8d7-62b8-48f5-9dcb-e3b0588b803a/versions/0.2"
+ },
+ "body": "0.2"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulRenameApplicationVersionRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulRenameApplicationVersionRequest.json
new file mode 100644
index 000000000000..27f8a7a8e279
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulRenameApplicationVersionRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "0.1",
+ "versionUpdateObject": {
+ "version": "1.0"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulUpdateApplicationVersionSettingsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulUpdateApplicationVersionSettingsRequest.json
new file mode 100644
index 000000000000..e6e76349b17f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/versions/SuccessfulUpdateApplicationVersionSettingsRequest.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "0.1",
+ "listOfAppVersionSettingObject": [
+ {
+ "name": "UseAllTrainingData",
+ "value": "false"
+ }
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/readme.go.md b/specification/cognitiveservices/data-plane/LUIS/Authoring/readme.go.md
index 1bd6bea985e6..a8c6c825e2bc 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/readme.go.md
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/readme.go.md
@@ -14,6 +14,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- tag: authoring_2_0
+ - tag: authoring_3_0_preview
```
### Tag: authoring_2_0 and go
@@ -23,4 +24,13 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'authoring_3_0_preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/cognitiveservices/v3.0/luis/$(namespace)
```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/readme.md b/specification/cognitiveservices/data-plane/LUIS/Authoring/readme.md
index 58b49fc6c834..bd3c1cdb639d 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/readme.md
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/readme.md
@@ -5,12 +5,12 @@
Configuration for generating LUIS Authoring SDK.
``` yaml
-tag: authoring_2_0
+tag: authoring_3_0_preview
add-credentials: true
openapi-type: data-plane
```
-The current release for the Authoring Endpoint is `authoring_2_0`.
+The current release for the Authoring Endpoint is `authoring_3_0_preview`.
# Releases
@@ -49,6 +49,43 @@ directive:
```
---
+
+## Authoring 3.0
+These settings apply only when `--tag=authoring_3_0_preview` is specified on the command line.
+
+``` yaml $(tag) == 'authoring_3_0_preview'
+input-file: preview/v3.0/LUIS-Authoring.json
+```
+
+Deprecated Pattern's Operations
+
+``` yaml $(tag) == 'authoring_2_0'
+directive:
+ - reason: Deprecated
+ remove-operation: Features_GetApplicationVersionPatternFeatures
+ - reason: Deprecated
+ remove-operation: Features_CreatePatternFeature
+ - reason: Deprecated
+ remove-operation: Features_GetPatternFeatureInfo
+ - reason: Deprecated
+ remove-operation: Features_UpdatePatternFeature
+ - reason: Deprecated
+ remove-operation: Features_DeletePatternFeature
+```
+
+AutoRest-Linter Suppressions
+
+``` yaml
+# Ignore autorest-linter issues that cannot be resolve without updates to the API implementation
+directive:
+ - suppress: DeleteMustNotHaveRequestBody
+ reason: Body is used to specify entity to delete
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: Changing casing will break existing clients/consumers
+```
+
+---
+
# Code Generation
@@ -65,7 +102,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-node
```
-### Authoring 2.0 - CSharp Settings
+### CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
csharp:
@@ -110,6 +147,7 @@ require: $(this-folder)/../../../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/stable/v2.0/LUIS-Authoring.json
+ - $(this-folder)/preview/v3.0/LUIS-Authoring.json
```
diff --git a/specification/cognitiveservices/data-plane/LocalSearch/stable/v1.0/LocalSearch.json b/specification/cognitiveservices/data-plane/LocalSearch/stable/v1.0/LocalSearch.json
index dc8cf6783896..65409726ccae 100644
--- a/specification/cognitiveservices/data-plane/LocalSearch/stable/v1.0/LocalSearch.json
+++ b/specification/cognitiveservices/data-plane/LocalSearch/stable/v1.0/LocalSearch.json
@@ -26,7 +26,7 @@
"schemes": [
"https"
],
- "basePath": "/localbusinesses/v7.0/search",
+ "basePath": "/bing",
"produces": [
"application/json"
],
@@ -43,7 +43,7 @@
}
],
"paths": {
- "/localbusinesses/v7.0/search": {
+ "/v7.0/localbusinesses/search": {
"get": {
"summary": "The Local Search API lets you send a search query to Bing and get back search results that include local businesses such as restaurants, hotels, retail stores, or other local businesses. The query can specify the name of the local business or it can ask for a list (for example, restaurants near me).",
"operationId": "Local_Search",
diff --git a/specification/cognitiveservices/data-plane/SpellCheck/stable/v1.0/SpellCheck.json b/specification/cognitiveservices/data-plane/SpellCheck/stable/v1.0/SpellCheck.json
index b4944a90b19f..859eacfff02e 100644
--- a/specification/cognitiveservices/data-plane/SpellCheck/stable/v1.0/SpellCheck.json
+++ b/specification/cognitiveservices/data-plane/SpellCheck/stable/v1.0/SpellCheck.json
@@ -195,7 +195,7 @@
},
{
"name": "Mode",
- "in": "formData",
+ "in": "query",
"description": "The type of spelling and grammar checks to perform. The following are the possible values (the values are case insensitive). The default is Proof. 1) Proof—Finds most spelling and grammar mistakes. 2) Spell—Finds most spelling mistakes but does not find some of the grammar errors that Proof catches (for example, capitalization and repeated words)",
"required": false,
"type": "string",
@@ -210,21 +210,21 @@
},
{
"name": "PreContextText",
- "in": "formData",
+ "in": "query",
"description": "A string that gives context to the text string. For example, the text string petal is valid. However, if you set preContextText to bike, the context changes and the text string becomes not valid. In this case, the API suggests that you change petal to pedal (as in bike pedal). This text is not checked for grammar or spelling errors. The combined length of the text string, preContextText string, and postContextText string may not exceed 10,000 characters. You may specify this parameter in the query string of a GET request or in the body of a POST request.",
"required": false,
"type": "string"
},
{
"name": "PostContextText",
- "in": "formData",
+ "in": "query",
"description": "A string that gives context to the text string. For example, the text string read is valid. However, if you set postContextText to carpet, the context changes and the text string becomes not valid. In this case, the API suggests that you change read to red (as in red carpet). This text is not checked for grammar or spelling errors. The combined length of the text string, preContextText string, and postContextText string may not exceed 10,000 characters. You may specify this parameter in the query string of a GET request or in the body of a POST request.",
"required": false,
"type": "string"
},
{
"name": "Text",
- "in": "formData",
+ "in": "query",
"description": "The text string to check for spelling and grammar errors. The combined length of the text string, preContextText string, and postContextText string may not exceed 10,000 characters. You may specify this parameter in the query string of a GET request or in the body of a POST request. Because of the query string length limit, you'll typically use a POST request unless you're checking only short strings.",
"required": true,
"type": "string"
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 d8a14b5ce417..22d2518fce90 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
@@ -1852,7 +1852,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_Redeploy",
- "description": "The operation to redeploy a virtual machine.",
+ "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromABlob.json
index f9cfdaa2a028..4397997f4119 100755
--- a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromABlob.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromABlob.json
@@ -18,6 +18,26 @@
}
},
"responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
"201": {
"body": {
"properties": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAManagedDisk.json
index 30180eeafb55..6c2decdcd856 100755
--- a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAManagedDisk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAManagedDisk.json
@@ -20,6 +20,28 @@
}
},
"responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
"201": {
"body": {
"properties": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromASnapshot.json
index c837a5c87cff..abc2a642e573 100755
--- a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromASnapshot.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromASnapshot.json
@@ -20,6 +20,28 @@
}
},
"responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
"201": {
"body": {
"properties": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAVM.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAVM.json
index 7f5289e7d5b8..c492785d7c49 100755
--- a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAVM.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAVM.json
@@ -14,6 +14,31 @@
}
},
"responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myVM_OsDisk_1_6dc293b7d811433196903acf92665022"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
"201": {
"body": {
"properties": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
index a1315844c42d..c32664159fad 100755
--- a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
@@ -24,6 +24,31 @@
}
},
"responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
"201": {
"body": {
"properties": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
index 8fd1c55f3f51..651d7c956a60 100755
--- a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
@@ -28,6 +28,35 @@
}
},
"responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
"201": {
"body": {
"properties": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
index a0ee9f92aece..388f56b43c29 100755
--- a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
@@ -28,6 +28,35 @@
}
},
"responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
"201": {
"body": {
"properties": {
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 250af60f9aaf..f085ccef295c 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
@@ -1488,7 +1488,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_Redeploy",
- "description": "The operation to redeploy a virtual machine.",
+ "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
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 a78097f8bce6..2633249aaa27 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
@@ -1569,7 +1569,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_Redeploy",
- "description": "The operation to redeploy a virtual machine.",
+ "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
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 8396348d4785..e3d283c379b6 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
@@ -2004,7 +2004,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_Redeploy",
- "description": "The operation to redeploy a virtual machine.",
+ "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
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 be0f95849a48..cd898877ad80 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
@@ -2152,7 +2152,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_Redeploy",
- "description": "The operation to redeploy a virtual machine.",
+ "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3129,7 +3129,7 @@
"VirtualMachineScaleSets"
],
"operationId": "VirtualMachineScaleSets_Redeploy",
- "description": "Redeploy one or more virtual machines in a VM scale set.",
+ "description": "Shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers them back on.",
"parameters": [
{
"name": "resourceGroupName",
@@ -4166,7 +4166,7 @@
"VirtualMachineScaleSetVMs"
],
"operationId": "VirtualMachineScaleSetVMs_Redeploy",
- "description": "Redeploys a virtual machine in a VM scale set.",
+ "description": "Shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
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 5a910b5a41b1..35d00ec6a20b 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
@@ -2371,7 +2371,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_Redeploy",
- "description": "The operation to redeploy a virtual machine.",
+ "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3303,7 +3303,7 @@
"VirtualMachineScaleSets"
],
"operationId": "VirtualMachineScaleSets_Redeploy",
- "description": "Redeploy one or more virtual machines in a VM scale set.",
+ "description": "Shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers them back on.",
"parameters": [
{
"name": "resourceGroupName",
@@ -4259,7 +4259,7 @@
"VirtualMachineScaleSetVMs"
],
"operationId": "VirtualMachineScaleSetVMs_Redeploy",
- "description": "Redeploys a virtual machine in a VM scale set.",
+ "description": "Shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
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 5ebf7ac468e7..6445e9d30625 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
@@ -2379,7 +2379,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_Redeploy",
- "description": "The operation to redeploy a virtual machine.",
+ "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3368,7 +3368,7 @@
"VirtualMachineScaleSets"
],
"operationId": "VirtualMachineScaleSets_Redeploy",
- "description": "Redeploy one or more virtual machines in a VM scale set.",
+ "description": "Shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers them back on.",
"parameters": [
{
"name": "resourceGroupName",
@@ -4378,7 +4378,7 @@
"VirtualMachineScaleSetVMs"
],
"operationId": "VirtualMachineScaleSetVMs_Redeploy",
- "description": "Redeploys a virtual machine in a VM scale set.",
+ "description": "Shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
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 47de71527c0c..42e44cbd2823 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
@@ -2379,7 +2379,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_Redeploy",
- "description": "The operation to redeploy a virtual machine.",
+ "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3368,7 +3368,7 @@
"VirtualMachineScaleSets"
],
"operationId": "VirtualMachineScaleSets_Redeploy",
- "description": "Redeploy one or more virtual machines in a VM scale set.",
+ "description": "Shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers them back on.",
"parameters": [
{
"name": "resourceGroupName",
@@ -4378,7 +4378,7 @@
"VirtualMachineScaleSetVMs"
],
"operationId": "VirtualMachineScaleSetVMs_Redeploy",
- "description": "Redeploys a virtual machine in a VM scale set.",
+ "description": "Shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json
index e1fa0878ba79..163471ab472c 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json
@@ -2913,7 +2913,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_Redeploy",
- "description": "The operation to redeploy a virtual machine.",
+ "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3913,7 +3913,7 @@
"VirtualMachineScaleSets"
],
"operationId": "VirtualMachineScaleSets_Redeploy",
- "description": "Redeploy one or more virtual machines in a VM scale set.",
+ "description": "Shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers them back on.",
"parameters": [
{
"name": "resourceGroupName",
@@ -4987,7 +4987,7 @@
"VirtualMachineScaleSetVMs"
],
"operationId": "VirtualMachineScaleSetVMs_Redeploy",
- "description": "Redeploys a virtual machine in a VM scale set.",
+ "description": "Shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back on.",
"parameters": [
{
"name": "resourceGroupName",
@@ -6942,6 +6942,10 @@
"allowExtensionOperations": {
"type": "boolean",
"description": "Specifies whether extension operations should be allowed on the virtual machine.
This may only be set to False when no extensions are present on the virtual machine."
+ },
+ "requireGuestProvisionSignal": {
+ "type": "boolean",
+ "description": "Specifies whether the guest provision signal is required from the virtual machine."
}
},
"description": "Specifies the operating system settings for the virtual machine."
@@ -7531,6 +7535,27 @@
},
"description": "The configuration parameters used while performing a rolling upgrade."
},
+ "ScaleInPolicy": {
+ "properties": {
+ "rules": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Default",
+ "OldestVM",
+ "NewestVM"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineScaleSetScaleInRules",
+ "modelAsString": true
+ }
+ },
+ "description": "The rules to be followed when scaling-in a virtual machine scale set.
Possible values are:
**Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.
**OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.
**NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
"
+ }
+ },
+ "description": "Describes a scale-in policy for a virtual machine scale set."
+ },
"ImageOSDisk": {
"properties": {
"osType": {
@@ -8414,6 +8439,10 @@
},
"VirtualMachineScaleSetUpdateNetworkProfile": {
"properties": {
+ "healthProbe": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'."
+ },
"networkInterfaceConfigurations": {
"type": "array",
"items": {
@@ -8664,6 +8693,10 @@
"additionalCapabilities": {
"$ref": "#/definitions/AdditionalCapabilities",
"description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type."
+ },
+ "scaleInPolicy": {
+ "$ref": "#/definitions/ScaleInPolicy",
+ "description": "Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in."
}
},
"description": "Describes the properties of a Virtual Machine Scale Set."
@@ -8689,6 +8722,10 @@
"additionalCapabilities": {
"$ref": "#/definitions/AdditionalCapabilities",
"description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type."
+ },
+ "scaleInPolicy": {
+ "$ref": "#/definitions/ScaleInPolicy",
+ "description": "Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in."
}
},
"description": "Describes the properties of a Virtual Machine Scale Set."
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json
index 25a999414e66..93bbac6ee600 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json
@@ -24,12 +24,16 @@
},
"storageProfile": {
"osDiskImage": {
- "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{snapshotName}",
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{snapshotName}"
+ },
"hostCaching": "ReadOnly"
},
"dataDiskImages": [
{
- "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}",
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
"lun": 1,
"hostCaching": "None"
}
@@ -61,13 +65,17 @@
},
"storageProfile": {
"osDiskImage": {
- "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}",
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}"
+ },
"sizeInGB": 10,
"hostCaching": "ReadOnly"
},
"dataDiskImages": [
{
- "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}",
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
"lun": 1,
"sizeInGB": 10,
"hostCaching": "None"
@@ -102,13 +110,17 @@
},
"storageProfile": {
"osDiskImage": {
- "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}",
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}"
+ },
"sizeInGB": 10,
"hostCaching": "ReadOnly"
},
"dataDiskImages": [
{
- "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}",
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
"lun": 1,
"sizeInGB": 10,
"hostCaching": "None"
@@ -143,13 +155,17 @@
},
"storageProfile": {
"osDiskImage": {
- "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{snapshotName}",
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}"
+ },
"sizeInGB": 10,
"hostCaching": "ReadOnly"
},
"dataDiskImages": [
{
- "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}",
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
"lun": 1,
"sizeInGB": 10,
"hostCaching": "None"
diff --git a/specification/compute/resource-manager/readme.md b/specification/compute/resource-manager/readme.md
index c1b299be432b..2d93aff01922 100644
--- a/specification/compute/resource-manager/readme.md
+++ b/specification/compute/resource-manager/readme.md
@@ -210,6 +210,15 @@ input-file:
- Microsoft.ContainerService/stable/2017-01-31/containerService.json
```
+### Tag: package-2019-07-01-only
+
+These settings apply only when `--tag=package-2019-07-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-07-01-only'
+input-file:
+- Microsoft.Compute/stable/2019-07-01/gallery.json
+```
+
### Tag: package-2019-03-01
These settings apply only when `--tag=package-2019-03-01` is specified on the command line.
@@ -242,6 +251,7 @@ input-file:
- Microsoft.Compute/stable/2019-03-01/compute.json
- Microsoft.Compute/stable/2019-03-01/runCommands.json
- Microsoft.Compute/stable/2019-03-01/gallery.json
+- Microsoft.Compute/stable/2019-03-01/disk.json
```
### Tag: package-2018-10-01-Disks
diff --git a/specification/compute/resource-manager/readme.python.md b/specification/compute/resource-manager/readme.python.md
index 26708410a727..3555b6551350 100644
--- a/specification/compute/resource-manager/readme.python.md
+++ b/specification/compute/resource-manager/readme.python.md
@@ -18,6 +18,7 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi)
batch:
+ - tag: package-2019-07-01-only
- tag: package-2019-04-01-only
- tag: package-2019-03-01-only
- tag: package-2018-10-01-only
@@ -32,6 +33,17 @@ batch:
- tag: package-compute-2015-06
```
+### Tag: package-2019-07-01-only and python
+
+These settings apply only when `--tag=package-2019-07-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-07-01-only' && $(python)
+python:
+ namespace: azure.mgmt.compute.v2019_07_01
+ output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_07_01
+```
+
### Tag: package-2019-04-01-only and python
These settings apply only when `--tag=package-2019-04-01-only --python` is specified on the command line.
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/consumption.json
new file mode 100644
index 000000000000..45a5dacfbed0
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/consumption.json
@@ -0,0 +1,3516 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-06-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"
+ },
+ "UsageDetailsListForBillingPeriod": {
+ "$ref": "./examples/UsageDetailsListForBillingPeriod.json"
+ },
+ "UsageDetailsExpand": {
+ "$ref": "./examples/UsageDetailsExpand.json"
+ },
+ "UsageDetailsListByMetricActualCost": {
+ "$ref": "./examples/UsageDetailsListByMetricActualCost.json"
+ },
+ "UsageDetailsListByMetricAmortizedCost": {
+ "$ref": "./examples/UsageDetailsListByMetricAmortizedCost.json"
+ },
+ "UsageDetailsListByMetricUsage": {
+ "$ref": "./examples/UsageDetailsListByMetricUsage.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/additionalInfo 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/resourceGroup, properties/resourceName, properties/resourceId, properties/chargeType, properties/reservationId, properties/publisherType 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 (:). PublisherType Filter accepts two values azure and marketplace and it is currently supported for Web Direct Offer Type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N usageDetails.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/metricParameter"
+ }
+ ],
+ "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.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/reservationSummaries": {
+ "get": {
+ "tags": [
+ "ReservedInstances"
+ ],
+ "operationId": "ReservationsSummaries_ListByBillingAccountId",
+ "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/ReservationSummariesDailyWithBillingAccountId.json"
+ },
+ "ReservationSummariesMonthlyWithReservationId": {
+ "$ref": "./examples/ReservationSummariesMonthlyWithBillingAccountId.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$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"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/reservationDetails": {
+ "get": {
+ "tags": [
+ "ReservedInstances"
+ ],
+ "operationId": "ReservationsDetails_ListByBillingAccountId",
+ "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/ReservationDetailsByBillingAccountId.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "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"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/microsoft.consumption/ReservationRecommendations": {
+ "get": {
+ "tags": [
+ "ReservationRecommendations"
+ ],
+ "operationId": "ReservationRecommendations_ListByBillingAccountId",
+ "description": "List of recommendations for purchasing reserved instances on billing account scope",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationRecommendations": {
+ "$ref": "./examples/ReservationRecommendationsByBillingAccountList.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/billingAccountIdParameter"
+ }
+ ],
+ "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"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/reservationTransactions": {
+ "get": {
+ "tags": [
+ "ReservedInstances"
+ ],
+ "operationId": "ReservationTransactions_ListByBillingAccountId",
+ "description": "List of transactions for reserved instances on billing account scope",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationTransaction": {
+ "$ref": "./examples/ReservationTransactionsListByBillingAccountId.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "Filter reservation transactions by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge' ",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationTransactionsListResult"
+ }
+ },
+ "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": {
+ "billingAccountId": {
+ "description": "Billing Account identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingAccountName": {
+ "description": "Billing Account Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingPeriodStartDate": {
+ "description": "The billing period start date.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "billingPeriodEndDate": {
+ "description": "The billing period end date.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "billingProfileId": {
+ "description": "Billing Profile identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingProfileName": {
+ "description": "Billing Profile Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountOwnerId": {
+ "description": "Account Owner Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountName": {
+ "description": "Account Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionId": {
+ "description": "Subscription guid.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionName": {
+ "description": "Subscription name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "date": {
+ "description": "Date for the usage record.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "product": {
+ "description": "Product name for the consumed service or purchase. Not available for Marketplace.",
+ "type": "string",
+ "readOnly": true
+ },
+ "partNumber": {
+ "description": "Part Number of the service used. Can be used to join with the price sheet. Not available for marketplace.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterId": {
+ "description": "The meter id (GUID). Not available for marketplace. For reserved instance this represents the primary meter for which the reservation was purchased. For the actual VM Size for which the reservation is purchased see productOrderName.",
+ "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/MeterDetailsResponse",
+ "readOnly": true
+ },
+ "quantity": {
+ "description": "The usage quantity.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "effectivePrice": {
+ "description": "Effective Price that's charged for the usage.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "cost": {
+ "description": "The amount of cost before tax.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "unitPrice": {
+ "description": "Unit Price is the price applicable to you. (your EA or other contract price).",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "billingCurrency": {
+ "description": "Billing Currency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceLocation": {
+ "description": "Resource Location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "consumedService": {
+ "description": "Consumed service name. Name of the azure resource provider that emits the usage or was purchased. This value is not provided for marketplace usage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceId": {
+ "description": "Azure resource manager resource identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceName": {
+ "description": "Resource Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceInfo1": {
+ "description": "Service Info 1.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceInfo2": {
+ "description": "Service Info 2.",
+ "type": "string",
+ "readOnly": true
+ },
+ "additionalInfo": {
+ "description": "Additional details of this usage item. By default this is not populated, unless it's specified in $expand. Use this field to get usage line item specific details such as the actual VM Size (ServiceType) or the ratio in which the reservation discount is applied.",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceSection": {
+ "description": "Invoice Section Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costCenter": {
+ "description": "The cost center of this department if it is a department and a cost center is provided.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceGroup": {
+ "description": "Resource Group Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationId": {
+ "description": "ARM resource id of the reservation. Only applies to records relevant to reservations.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationName": {
+ "description": "User provided display name of the reservation. Last known name for a particular day is populated in the daily data. Only applies to records relevant to reservations.",
+ "type": "string",
+ "readOnly": true
+ },
+ "productOrderId": {
+ "description": "Product Order Id. For reservations this is the Reservation Order ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "productOrderName": {
+ "description": "Product Order Name. For reservations this is the SKU that was purchased.",
+ "type": "string",
+ "readOnly": true
+ },
+ "offerId": {
+ "description": "Offer Id. Ex: MS-AZR-0017P, MS-AZR-0148P.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isAzureCreditEligible": {
+ "description": "Is Azure Credit Eligible.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "term": {
+ "description": "Term (in months). 1 month for monthly recurring purchase. 12 months for a 1 year reservation. 36 months for a 3 year reservation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisherName": {
+ "description": "Publisher Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisherType": {
+ "description": "Publisher Type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "planName": {
+ "description": "Plan Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "chargeType": {
+ "description": "Indicates a charge represents credits, usage, a Marketplace purchase, a reservation fee, or a refund.",
+ "type": "string",
+ "readOnly": true
+ },
+ "frequency": {
+ "description": "Indicates how frequently this charge will occur. OneTime for purchases which only happen once, Monthly for fees which recur every month, and UsageBased for charges based on how much a service is used.",
+ "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
+ },
+ "kind": {
+ "description": "The reservation kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "purchasedQuantity": {
+ "description": "This is the purchased quantity for the reservationId.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "remainingQuantity": {
+ "description": "This is the remaining quantity for the reservationId.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "totalReservedQuantity": {
+ "description": "This is the total count of instances that are reserved for the reservationId.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "usedQuantity": {
+ "description": "This is the used quantity for the reservationId.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "utilizedPercentage": {
+ "description": "This is the utilized percentage for the reservation Id.",
+ "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
+ },
+ "instanceFlexibilityRatio": {
+ "description": "The instance Flexibility Ratio.",
+ "type": "string",
+ "readOnly": true
+ },
+ "instanceFlexibilityGroup": {
+ "description": "The instance Flexibility Group.",
+ "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
+ },
+ "kind": {
+ "description": "The reservation kind.",
+ "type": "string",
+ "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
+ },
+ "instanceFlexibilityRatio": {
+ "description": "The instance Flexibility Ratio.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "instanceFlexibilityGroup": {
+ "description": "The instance Flexibility Group.",
+ "type": "string",
+ "readOnly": true
+ },
+ "normalizedSize": {
+ "description": "The normalized Size.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendedQuantityNormalized": {
+ "description": "The recommended Quantity Normalized.",
+ "type": "number",
+ "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
+ },
+ "skuProperties": {
+ "description": "List of sku properties",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuProperty"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuProperty": {
+ "description": "The Sku property",
+ "properties": {
+ "name": {
+ "description": "The name of sku property.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The value of sku property.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationTransactionProperties": {
+ "default": "The properties of the reservation transaction.",
+ "properties": {
+ "eventDate": {
+ "description": "The date of the transaction",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "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
+ },
+ "description": {
+ "description": "The description of the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventType": {
+ "description": "The type of the transaction (Purchase, Cancel, etc.)",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "description": "The quantity of the transaction.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "amount": {
+ "description": "The charge of the transaction.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "The ISO currency in which the transaction is charged, for example, USD.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationOrderName": {
+ "description": "The name of the reservation order.",
+ "type": "string",
+ "readOnly": true
+ },
+ "purchasingEnrollment": {
+ "description": "The purchasing enrollment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "purchasingSubscriptionGuid": {
+ "description": "The subscription guid that makes the transaction.",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "purchasingSubscriptionName": {
+ "description": "The subscription name that makes the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "armSkuName": {
+ "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
+ },
+ "term": {
+ "description": "This is the term of the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "region": {
+ "description": "The region of the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountName": {
+ "description": "The name of the account that makes the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountOwnerEmail": {
+ "description": "The email of the account owner that makes the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "departmentName": {
+ "description": "The department name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costCenter": {
+ "description": "The cost center of this department if it is a department and a cost center is provided.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currentEnrollment": {
+ "description": "The current enrollment.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationTransaction": {
+ "description": "Reservation transaction resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReservationTransactionProperties",
+ "title": "Reservation Transaction properties"
+ }
+ }
+ },
+ "ReservationTransactionsListResult": {
+ "description": "Result of listing reservation transactions",
+ "properties": {
+ "value": {
+ "description": "The list of reservation transactions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ReservationTransaction"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "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",
+ "BillingMonth",
+ "BillingQuarter",
+ "BillingAnnual"
+ ],
+ "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
+ }
+ }
+ },
+ "MeterDetailsResponse": {
+ "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
+ },
+ "unitOfMeasure": {
+ "description": "The unit in which the meter consumption is charged, for example, 'Hours', 'GB', etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceFamily": {
+ "description": "The service family.",
+ "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-06-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"
+ },
+ "metricParameter": {
+ "name": "metric",
+ "in": "query",
+ "description": "Allows to select different type of cost/usage records.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "actualcost",
+ "amortizedcost",
+ "usage"
+ ],
+ "x-ms-enum": {
+ "name": "metrictype",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "actualcost",
+ "description": "Actual cost data.",
+ "name": "ActualCostMetricType"
+ },
+ {
+ "value": "amortizedcost",
+ "description": "Amortized cost data.",
+ "name": "AmortizedCostMetricType"
+ },
+ {
+ "value": "usage",
+ "description": "Usage data.",
+ "name": "UsageMetricType"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/AggregatedCostByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/AggregatedCostByManagementGroup.json
new file mode 100644
index 000000000000..4b08ed9b558d
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/AggregatedCostByManagementGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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-06-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-06-01T00:00:00.0000000Z",
+ "usageEnd": "2018-10-31T00:00:00.0000000Z",
+ "azureCharges": 150.0,
+ "marketplaceCharges": 50.786,
+ "chargesBilledSeparately": 30.345,
+ "currency": "USD",
+ "children": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/AggregatedCostByManagementGroupFilterByDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/AggregatedCostByManagementGroupFilterByDate.json
new file mode 100644
index 000000000000..ba79c8c8d948
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/AggregatedCostByManagementGroupFilterByDate.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json
new file mode 100644
index 000000000000..d17b875a6a2c
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/BalancesByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/BalancesByBillingAccount.json
new file mode 100644
index 000000000000..2a165a6580d4
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/BalancesByBillingAccount.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/BalancesByBillingAccountForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/BalancesByBillingAccountForBillingPeriod.json
new file mode 100644
index 000000000000..42dee4d7c7c0
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/BalancesByBillingAccountForBillingPeriod.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/Budget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/Budget.json
new file mode 100644
index 000000000000..917384815d40
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/Budget.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "budgetName": "TestBudget",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "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"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/BudgetsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/BudgetsList.json
new file mode 100644
index 000000000000..c7c384625be5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/BudgetsList.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/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"
+ ]
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ChargesForBillingPeriodByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ChargesForBillingPeriodByDepartment.json
new file mode 100644
index 000000000000..d6deffa632d1
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ChargesForBillingPeriodByDepartment.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "billingAccountId": "1234",
+ "departmentId": "42425",
+ "billingPeriodName": "201804",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234"
+ },
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json
new file mode 100644
index 000000000000..0ca1073c9228
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "billingAccountId": "1234",
+ "enrollmentAccountId": "42425",
+ "billingPeriodName": "201804",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234"
+ },
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ChargesListForDepartmentFilterByStartEndDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ChargesListForDepartmentFilterByStartEndDate.json
new file mode 100644
index 000000000000..e6617ac1cae2
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ChargesListForDepartmentFilterByStartEndDate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "billingAccountId": "1234",
+ "departmentId": "42425",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234",
+ "$filter": "usageStart eq '2018-04-01' AND usageEnd eq '2018-05-30'"
+ },
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json
new file mode 100644
index 000000000000..85d45e122dcf
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "billingAccountId": "1234",
+ "enrollmentAccountId": "42425",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234"
+ },
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/CreateOrUpdateBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/CreateOrUpdateBudget.json
new file mode 100644
index 000000000000..5739fcc326d2
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/CreateOrUpdateBudget.json
@@ -0,0 +1,185 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "budgetName": "TestBudget",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "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"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/DeleteBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/DeleteBudget.json
new file mode 100644
index 000000000000..77ea36de13e2
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/DeleteBudget.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "budgetName": "TestBudget",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ForecastsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ForecastsList.json
new file mode 100644
index 000000000000..7fd0da61cf97
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ForecastsList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ForecastsListFilterByDates.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ForecastsListFilterByDates.json
new file mode 100644
index 000000000000..bdad86d9ff39
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ForecastsListFilterByDates.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ForecastsListFilterByGrain.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ForecastsListFilterByGrain.json
new file mode 100644
index 000000000000..7c7a988839e2
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ForecastsListFilterByGrain.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByBillingAccountList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByBillingAccountList.json
new file mode 100644
index 000000000000..09d3839b7414
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByBillingAccountList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json
new file mode 100644
index 000000000000..5968374f2f66
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByDepartmentList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByDepartmentList.json
new file mode 100644
index 000000000000..ec002e3bd7bf
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByDepartmentList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "departmentId": "123456",
+ "billingPeriodName": "201702",
+ "scope": "providers/Microsoft.Billing/departments/123456"
+ },
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json
new file mode 100644
index 000000000000..ec002e3bd7bf
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "departmentId": "123456",
+ "billingPeriodName": "201702",
+ "scope": "providers/Microsoft.Billing/departments/123456"
+ },
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByEnrollmentAccountList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByEnrollmentAccountList.json
new file mode 100644
index 000000000000..1fd6ec8bcd55
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByEnrollmentAccountList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "enrollmentAccountId": "123456",
+ "billingPeriodName": "201702",
+ "scope": "providers/Microsoft.Billing/enrollmentAccounts/123456"
+ },
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json
new file mode 100644
index 000000000000..1fd6ec8bcd55
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "enrollmentAccountId": "123456",
+ "billingPeriodName": "201702",
+ "scope": "providers/Microsoft.Billing/enrollmentAccounts/123456"
+ },
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByManagementGroupList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByManagementGroupList.json
new file mode 100644
index 000000000000..0d0b81acfd7d
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByManagementGroupList.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "managementGroupId": "managementGroupForTest",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json
new file mode 100644
index 000000000000..55f2570cab11
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "managementGroupId": "managementGroupForTest",
+ "billingPeriodName": "201808",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesList.json
new file mode 100644
index 000000000000..d8765cdcb430
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesListForBillingPeriod.json
new file mode 100644
index 000000000000..22e6f9fc48ba
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/MarketplacesListForBillingPeriod.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/PriceSheet.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/PriceSheet.json
new file mode 100644
index 000000000000..9ba20dc37663
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/PriceSheet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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-06-01/examples/PriceSheetExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/PriceSheetExpand.json
new file mode 100644
index 000000000000..a768f660c654
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/PriceSheetExpand.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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-06-01/examples/PriceSheetForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/PriceSheetForBillingPeriod.json
new file mode 100644
index 000000000000..68f3ef205719
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/PriceSheetForBillingPeriod.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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-06-01/examples/ReservationDetails.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationDetails.json
new file mode 100644
index 000000000000..21dedd329cd6
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationDetails.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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,
+ "instanceFlexibilityGroup": "DSv2 Series",
+ "instanceFlexibilityRatio": "0.25"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationDetailsByBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationDetailsByBillingAccountId.json
new file mode 100644
index 000000000000..bb1799ccc49c
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationDetailsByBillingAccountId.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "billingAccountId": "12345",
+ "$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/20171130",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Consumption/reservationDetails",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "usageDate": "2017-11-30T00:00:00-08:00",
+ "skuName": "Standard_D2s_v3",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sqlh1/providers/microsoft.compute/virtualmachines/sqlh1",
+ "totalReservedQuantity": 0,
+ "reservedHours": 48,
+ "usedHours": 0.6,
+ "instanceFlexibilityGroup": "DSv3 Series",
+ "instanceFlexibilityRatio": "1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationDetailsWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationDetailsWithReservationId.json
new file mode 100644
index 000000000000..5cba78a985e2
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationDetailsWithReservationId.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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,
+ "kind": "Reservation",
+ "instanceFlexibilityGroup": "D2v2 Series",
+ "instanceFlexibilityRatio": "1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationRecommendationsByBillingAccountList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationRecommendationsByBillingAccountList.json
new file mode 100644
index 000000000000..7437156942e1
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationRecommendationsByBillingAccountList.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "billingAccountId": "123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "billingAccount/123456/providers/Microsoft.Consumption/reservationRecommendations/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "location": "westus",
+ "sku": "Standard_DS1_v2",
+ "properties": {
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P1Y",
+ "costWithNoReservedInstances": 12.0785105,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 11.4899644807748,
+ "netSavings": 0.588546019225182,
+ "firstUsageDate": "2019-07-07T00:00:00-07:00",
+ "scope": "Shared",
+ "lookBackPeriod": "Last7Days",
+ "instanceFlexibilityRatio": 1,
+ "instanceFlexibilityGroup": "DSv2 Series",
+ "normalizedSize": "Standard_DS1_v2",
+ "recommendedQuantityNormalized": 1,
+ "skuProperties": [
+ {
+ "name": "Cores",
+ "value": "1"
+ },
+ {
+ "name": "Ram",
+ "value": "1"
+ }
+ ]
+ }
+ },
+ {
+ "id": "billingAccount/123456/providers/Microsoft.Consumption/reservationRecommendations/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "location": "westus",
+ "sku": "Standard_DS1_v2",
+ "properties": {
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P1Y",
+ "costWithNoReservedInstances": 10.0785105,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 13.48,
+ "netSavings": 0.68,
+ "firstUsageDate": "2019-07-07T00:00:00-07:00",
+ "scope": "Shared",
+ "lookBackPeriod": "Last7Days",
+ "instanceFlexibilityRatio": 1,
+ "instanceFlexibilityGroup": "DSv2 Series",
+ "normalizedSize": "Standard_DS1",
+ "recommendedQuantityNormalized": 1.2,
+ "skuProperties": [
+ {
+ "name": "SkuDisplayName",
+ "value": "B"
+ },
+ {
+ "name": "CPU",
+ "value": "1"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations?api-version=2018-03-31&$skiptoken=AQAAAA%3D%3D&"
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationRecommendationsFilterByScopeLookBackPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationRecommendationsFilterByScopeLookBackPeriod.json
new file mode 100644
index 000000000000..6668f97a6b74
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationRecommendationsFilterByScopeLookBackPeriod.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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",
+ "skuProperties": [
+ {
+ "name": "Cores",
+ "value": "1"
+ },
+ {
+ "name": "Ram",
+ "value": "1"
+ }
+ ]
+ }
+ },
+ {
+ "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",
+ "skuProperties": [
+ {
+ "name": "SkuDisplayName",
+ "value": "B"
+ },
+ {
+ "name": "CPU",
+ "value": "1"
+ }
+ ]
+ }
+ }
+ ],
+ "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&"
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationRecommendationsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationRecommendationsList.json
new file mode 100644
index 000000000000..dd6d564302c9
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationRecommendationsList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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&"
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesDaily.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesDaily.json
new file mode 100644
index 000000000000..e71cd70c51ae
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesDaily.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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",
+ "kind": "Reservation",
+ "reservedHours": 0.0,
+ "usageDate": "2017-10-01T00:00:00Z",
+ "usedHours": 0.0,
+ "minUtilizationPercentage": 0.0,
+ "avgUtilizationPercentage": 0.0,
+ "maxUtilizationPercentage": 0.0,
+ "purchasedQuantity": 0,
+ "remainingQuantity": 0,
+ "totalReservedQuantity": 155,
+ "usedQuantity": 0,
+ "utilizedPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesDailyWithBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesDailyWithBillingAccountId.json
new file mode 100644
index 000000000000..91aca6ede139
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesDailyWithBillingAccountId.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "billingAccountId": "12345",
+ "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/20180901",
+ "name": "00000000-0000-0000-0000-000000000000_20180901",
+ "type": "Microsoft.Consumption/reservationSummaries",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "skuName": "Standard_B1s",
+ "reservedHours": 720,
+ "usageDate": "2018-09-01T00:00:00-07:00",
+ "usedHours": 0,
+ "minUtilizationPercentage": 0,
+ "avgUtilizationPercentage": 0,
+ "maxUtilizationPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesDailyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesDailyWithReservationId.json
new file mode 100644
index 000000000000..66304d07ac19
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesDailyWithReservationId.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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",
+ "kind": "Reservation",
+ "reservedHours": 0.0,
+ "usageDate": "2017-10-01T00:00:00Z",
+ "usedHours": 0.0,
+ "minUtilizationPercentage": 0.0,
+ "avgUtilizationPercentage": 0.0,
+ "maxUtilizationPercentage": 0.0,
+ "purchasedQuantity": 0,
+ "remainingQuantity": 0,
+ "totalReservedQuantity": 155,
+ "usedQuantity": 0,
+ "utilizedPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesMonthly.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesMonthly.json
new file mode 100644
index 000000000000..79bd223cebd7
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesMonthly.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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",
+ "kind": "Reservation",
+ "reservedHours": 0.0,
+ "usageDate": "2017-10-01T00:00:00Z",
+ "usedHours": 0.0,
+ "minUtilizationPercentage": 0.0,
+ "avgUtilizationPercentage": 0.0,
+ "maxUtilizationPercentage": 0.0,
+ "purchasedQuantity": 0,
+ "remainingQuantity": 0,
+ "totalReservedQuantity": 155,
+ "usedQuantity": 0,
+ "utilizedPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json
new file mode 100644
index 000000000000..5108168485ad
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "billingAccountId": "12345",
+ "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/20180901",
+ "name": "00000000-0000-0000-0000-000000000000_20180901",
+ "type": "Microsoft.Consumption/reservationSummaries",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "skuName": "Standard_B1s",
+ "reservedHours": 720,
+ "usageDate": "2018-09-01T00:00:00-07:00",
+ "usedHours": 0,
+ "minUtilizationPercentage": 0,
+ "avgUtilizationPercentage": 0,
+ "maxUtilizationPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesMonthlyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesMonthlyWithReservationId.json
new file mode 100644
index 000000000000..5076edee3e4a
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationSummariesMonthlyWithReservationId.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-06-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",
+ "kind": "Reservation",
+ "reservedHours": 0.0,
+ "usageDate": "2017-10-01T00:00:00Z",
+ "usedHours": 0.0,
+ "minUtilizationPercentage": 0.0,
+ "avgUtilizationPercentage": 0.0,
+ "maxUtilizationPercentage": 0.0,
+ "purchasedQuantity": 0,
+ "remainingQuantity": 0,
+ "totalReservedQuantity": 155,
+ "usedQuantity": 0,
+ "utilizedPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationTransactionsListByBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationTransactionsListByBillingAccountId.json
new file mode 100644
index 000000000000..9828e9383e48
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/ReservationTransactionsListByBillingAccountId.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "billingAccountId": "123456",
+ "$filter": "properties/usageDate ge '2019-09-09' AND properties/usageDate le '2019-09-10'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919",
+ "name": "201909091919",
+ "type": "Microsoft.Consumption/reservationTransactions",
+ "tags": {},
+ "properties": {
+ "eventDate": "2019-09-09T19:19:04Z",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "description": "Standard_DS1_v2 westus 1 Year",
+ "eventType": "Cancel",
+ "quantity": 1,
+ "amount": -21.000000000000000,
+ "currency": "USD",
+ "reservationOrderName": "Transaction-DS1_v2",
+ "purchasingEnrollment": "123456",
+ "armSkuName": "Standard_DS1_v2",
+ "term": "P1Y",
+ "region": "westus",
+ "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111",
+ "purchasingSubscriptionName": "Infrastructure Subscription",
+ "accountName": "Microsoft Infrastructure",
+ "accountOwnerEmail": "admin@microsoft.com",
+ "departmentName": "Unassigned",
+ "costCenter": "",
+ "currentEnrollment": "123456"
+ }
+ },
+ {
+ "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919",
+ "name": "201909091919",
+ "type": "Microsoft.Consumption/reservationTransactions",
+ "tags": {},
+ "properties": {
+ "eventDate": "2019-09-09T19:19:04Z",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "description": "Standard_DS1_v2 westus 1 Year",
+ "eventType": "Purchase",
+ "quantity": 1,
+ "amount": 21.000000000000000,
+ "currency": "USD",
+ "reservationOrderName": "Transaction-DS1_v2",
+ "purchasingEnrollment": "123456",
+ "armSkuName": "Standard_DS1_v2",
+ "term": "P1Y",
+ "region": "westus",
+ "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111",
+ "purchasingSubscriptionName": "Infrastructure Subscription",
+ "accountName": "Microsoft Infrastructure",
+ "accountOwnerEmail": "admin@microsoft.com",
+ "departmentName": "Unassigned",
+ "costCenter": "",
+ "currentEnrollment": "123456"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/Tags.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/Tags.json
new file mode 100644
index 000000000000..d59c1a792513
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/Tags.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "billingAccountId": "12345",
+ "scope": "providers/Microsoft.CostManagement/billingAccounts/1234"
+ },
+ "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"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsExpand.json
new file mode 100644
index 000000000000..791b465976f4
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsExpand.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201903",
+ "$expand": "meterDetails,additionalInfo",
+ "$filter": "tags eq 'dev:tools'",
+ "$top": 1
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": {
+ "meterName": "Data Transfer Out (GB)",
+ "meterCategory": "Networking",
+ "meterSubCategory": "ExpressRoute",
+ "unitOfMeasure": "GB",
+ "serviceFamily": "Compute"
+ },
+ "quantity": 0.8234,
+ "effectivePrice": 0.010464556322455,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.54,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage",
+ "frequency": "UsageBased",
+ "additionalInfo": "{\"MyType\":\"\",\"ServiceType\":\"\",\"VMName\":\"\",\"UsageType\":\"MyUsage\"}"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsList.json
new file mode 100644
index 000000000000..55581f348a77
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Customer Name 1",
+ "billingPeriodStartDate": "2019-04-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-04-30T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Customer Name 1",
+ "accountName": "AccountName",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "SubscriptionName 1",
+ "date": "2019-04-09T00:00:00.0000000Z",
+ "product": "Product1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.000036,
+ "effectivePrice": 0.054693034210767,
+ "cost": 0.000001980949998,
+ "unitPrice": 5.47,
+ "billingCurrency": "CAD",
+ "resourceLocation": "uswest",
+ "consumedService": "Microsoft.ClassicStorage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource-Group-westus/providers/Microsoft.ClassicStorage/storageAccounts/ResourceName1",
+ "resourceName": "ResourceName1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "BAS",
+ "resourceGroup": "Resource-Group-westus",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage",
+ "frequency": "UsageBased"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByBillingAccount.json
new file mode 100644
index 000000000000..cade3e249ee4
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByBillingAccount.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01-preview",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.7329,
+ "effectivePrice": 0.000402776395232,
+ "cost": 0.000295194820065,
+ "unitPrice": 4.38,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByDepartment.json
new file mode 100644
index 000000000000..9be0baafec3c
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByDepartment.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "providers/Microsoft.Billing/Departments/1234",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/Departments/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.7329,
+ "effectivePrice": 0.000402776395232,
+ "cost": 0.000295194820065,
+ "unitPrice": 4.38,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByEnrollmentAccount.json
new file mode 100644
index 000000000000..e004669153c5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByEnrollmentAccount.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "providers/Microsoft.Billing/EnrollmentAccounts/1234",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/EnrollmentAccounts/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.7329,
+ "effectivePrice": 0.000402776395232,
+ "cost": 0.000295194820065,
+ "unitPrice": 4.38,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByManagementGroup.json
new file mode 100644
index 000000000000..4b9a38dad7e5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByManagementGroup.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "managementGroupId": "managementGroupForTest",
+ "billingPeriodName": "201903",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ },
+ {
+ "id": "/scope/providers/Microsoft.Billing/billingPeriods/20180801/providers/Microsoft.Consumption/usageDetails/usageDetails_Id2",
+ "name": "usageDetails_Id2",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 2",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 2",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 2",
+ "partNumber": "Part Number 2",
+ "meterId": "11111111-1111-1111-1111-111111111111",
+ "meterDetails": null,
+ "quantity": 0.7329,
+ "effectivePrice": 0.000402776395232,
+ "cost": 0.000295194820065,
+ "unitPrice": 4.38,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 2/providers/Microsoft.Storage/storageAccounts/Resource Name 2",
+ "resourceName": "Resource Name 2",
+ "invoiceSection": "Invoice Section 2",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 2",
+ "offerId": "Offer Id 2",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByMetricActualCost.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByMetricActualCost.json
new file mode 100644
index 000000000000..1cd14a759076
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByMetricActualCost.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "metric": "actualcost",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Customer Name 1",
+ "billingPeriodStartDate": "2019-04-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-04-30T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Customer Name 1",
+ "accountName": "AccountName",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "SubscriptionName 1",
+ "date": "2019-04-09T00:00:00.0000000Z",
+ "product": "Product1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.000036,
+ "effectivePrice": 0.054693055510767,
+ "cost": 0.000001968949998,
+ "unitPrice": 5.47,
+ "billingCurrency": "CAD",
+ "resourceLocation": "uswest",
+ "consumedService": "Microsoft.ClassicStorage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource-Group-westus/providers/Microsoft.ClassicStorage/storageAccounts/ResourceName1",
+ "resourceName": "ResourceName1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "BAS",
+ "resourceGroup": "Resource-Group-westus",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByMetricAmortizedCost.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByMetricAmortizedCost.json
new file mode 100644
index 000000000000..3a800b34db0d
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByMetricAmortizedCost.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "metric": "amortizedcost",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Customer Name 1",
+ "billingPeriodStartDate": "2019-04-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-04-30T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Customer Name 1",
+ "accountName": "AccountName",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "SubscriptionName 1",
+ "date": "2019-04-09T00:00:00.0000000Z",
+ "product": "Product1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.000036,
+ "effectivePrice": 0.054693055510767,
+ "cost": 0.000001968949998,
+ "unitPrice": 5.47,
+ "billingCurrency": "CAD",
+ "resourceLocation": "uswest",
+ "consumedService": "Microsoft.ClassicStorage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource-Group-westus/providers/Microsoft.ClassicStorage/storageAccounts/ResourceName1",
+ "resourceName": "ResourceName1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "BAS",
+ "resourceGroup": "Resource-Group-westus",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage",
+ "frequency": "UsageBased"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByMetricUsage.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByMetricUsage.json
new file mode 100644
index 000000000000..676f86b1ca70
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListByMetricUsage.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "metric": "usage",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Customer Name 1",
+ "billingPeriodStartDate": "2019-04-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-04-30T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Customer Name 1",
+ "accountName": "AccountName",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "SubscriptionName 1",
+ "date": "2019-04-09T00:00:00.0000000Z",
+ "product": "Product1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.000036,
+ "effectivePrice": 0.054693055510767,
+ "cost": 0.000001968949998,
+ "unitPrice": 5.47,
+ "billingCurrency": "CAD",
+ "resourceLocation": "uswest",
+ "consumedService": "Microsoft.ClassicStorage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource-Group-westus/providers/Microsoft.ClassicStorage/storageAccounts/ResourceName1",
+ "resourceName": "ResourceName1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "BAS",
+ "resourceGroup": "Resource-Group-westus",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListFilterByTag.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListFilterByTag.json
new file mode 100644
index 000000000000..13a71bc68f00
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListFilterByTag.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "$filter": "tags eq 'dev:tools'",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriod.json
new file mode 100644
index 000000000000..2108482b03b0
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriod.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json
new file mode 100644
index 000000000000..9f7e0f06f8bd
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriodByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriodByDepartment.json
new file mode 100644
index 000000000000..5ea0df8932d3
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriodByDepartment.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "providers/Microsoft.Billing/Departments/1234",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/Departments/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json
new file mode 100644
index 000000000000..35c1e4a5c93b
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "scope": "providers/Microsoft.Billing/EnrollmentAccounts/1234",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/EnrollmentAccounts/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json
new file mode 100644
index 000000000000..6182a85a56e5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-06-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "managementGroupId": "managementGroupForTest",
+ "billingPeriodName": "201903",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ },
+ {
+ "id": "/scope/providers/Microsoft.Billing/billingPeriods/billingPeriodName/providers/Microsoft.Consumption/usageDetails/usageDetails_Id2",
+ "name": "usageDetails_Id2",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 2",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 2",
+ "accountName": "Account Name 2",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 2",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 2",
+ "partNumber": "Part Number 2",
+ "meterId": "11111111-1111-1111-1111-111111111111",
+ "meterDetails": null,
+ "quantity": 0.4759,
+ "effectivePrice": 0.073488920944598,
+ "cost": 0.000821821271948,
+ "unitPrice": 5.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 2/providers/Microsoft.Storage/storageAccounts/Resource Name 2",
+ "resourceName": "Resource Name 2",
+ "invoiceSection": "Invoice Section 2",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 2",
+ "offerId": "Offer Id 2",
+ "isAzureCreditEligible": false,
+ "chargeType": "UnusedReservation"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/readme.md b/specification/consumption/resource-manager/readme.md
index 175559ebc3b8..9537f93c506c 100644
--- a/specification/consumption/resource-manager/readme.md
+++ b/specification/consumption/resource-manager/readme.md
@@ -26,25 +26,32 @@ These are the global settings for the Consumption API.
``` yaml
openapi-type: arm
-tag: package-2019-05
+tag: package-2019-06
```
+### Tag: package-2019-06
+
+These settings apply only when `--tag=package-2019-06` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-06'
+input-file:
+ - Microsoft.Consumption/stable/2019-06-01/consumption.json
+```
### Tag: package-2019-05
These settings apply only when `--tag=package-2019-05` is specified on the command line.
-```yaml $(tag) == 'package-2019-05'
+``` yaml $(tag) == 'package-2019-05'
input-file:
- Microsoft.Consumption/stable/2019-05-01/consumption.json
```
-
### Tag: package-preview-2019-05
These settings apply only when `--tag=package-preview-2019-05` is specified on the command line.
-```yaml $(tag) == 'package-preview-2019-05'
+``` yaml $(tag) == 'package-preview-2019-05'
input-file:
- Microsoft.Consumption/preview/2019-05-01-preview/consumption.json
```
@@ -388,7 +395,7 @@ regenerate-manager: true
generate-interface: true
```
-## Multi-API/Profile support for AutoRest v3 generators
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -400,6 +407,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Consumption/stable/2019-06-01/consumption.json
- $(this-folder)/Microsoft.Consumption/stable/2019-05-01/consumption.json
- $(this-folder)/Microsoft.Consumption/preview/2019-05-01-preview/consumption.json
- $(this-folder)/Microsoft.Consumption/preview/2019-04-01-preview/consumption.json
@@ -417,11 +425,10 @@ input-file:
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/containerregistry.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/containerregistry.json
new file mode 100644
index 000000000000..711ad07777ff
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/containerregistry.json
@@ -0,0 +1,2676 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Container Registry",
+ "description": "Metadata API definition for the Azure Container Registry runtime",
+ "version": "2019-08-15-preview"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{url}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Url"
+ }
+ ]
+ },
+ "securityDefinitions": {
+ "registry_auth": {
+ "type": "basic"
+ },
+ "registry_oauth2": {
+ "type": "apiKey",
+ "in": "header",
+ "name": "Authorization"
+ }
+ },
+ "security": [
+ {
+ "registry_auth": [],
+ "registry_oauth2": []
+ }
+ ],
+ "tags": [
+ {
+ "name": "v2",
+ "description": "Root API"
+ },
+ {
+ "name": "Manifest",
+ "description": "Everything about manifests"
+ },
+ {
+ "name": "Tag",
+ "description": "Everything about tags"
+ },
+ {
+ "name": "Layer",
+ "description": "Everything about layers"
+ },
+ {
+ "name": "Repository",
+ "description": "Everything about repository"
+ },
+ {
+ "name": "AcrRepository",
+ "description": "ACR APIs related to repositories"
+ },
+ {
+ "name": "AcrManifest",
+ "description": "ACR APIs related to manifests"
+ },
+ {
+ "name": "AcrTag",
+ "description": "ACR APIs related to tags"
+ }
+ ],
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/v2/": {
+ "get": {
+ "tags": [
+ "v2"
+ ],
+ "description": "Tells whether this Docker Registry instance supports Docker Registry HTTP API v2",
+ "operationId": "V2Support_Check",
+ "x-ms-examples": {
+ "Check Docker Registry V2 Support": {
+ "$ref": "./examples/GetDockerRegistryV2Support.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful response. API v2 supported"
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/v2/{name}/manifests/{reference}": {
+ "get": {
+ "tags": [
+ "Manifest"
+ ],
+ "description": "Get the manifest identified by `name` and `reference` where `reference` can be a tag or digest.",
+ "x-ms-examples": {
+ "Get manifest": {
+ "$ref": "./examples/GetManifest.json"
+ }
+ },
+ "operationId": "Manifests_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/ImageReference"
+ },
+ {
+ "name": "accept",
+ "in": "header",
+ "description": "Accept header string delimited by comma. For example, application/vnd.docker.distribution.manifest.v2+json",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the requested manifest file in a larger combined group",
+ "schema": {
+ "$ref": "#/definitions/ManifestWrapper"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Manifest"
+ ],
+ "x-ms-long-running-operation": false,
+ "description": "Put the manifest identified by `name` and `reference` where `reference` can be a tag or digest.",
+ "x-ms-examples": {
+ "Put manifest": {
+ "$ref": "./examples/CreateManifest.json"
+ }
+ },
+ "consumes": [
+ "application/vnd.docker.distribution.manifest.v2+json"
+ ],
+ "operationId": "Manifests_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/ImageReference"
+ },
+ {
+ "$ref": "#/parameters/ManifestBody"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The manifest is updated",
+ "schema": {},
+ "headers": {
+ "Docker-Content-Digest": {
+ "type": "string",
+ "description": "Identifies the docker upload uuid for the current request."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The canonical location url of the uploaded manifest."
+ },
+ "Content-Length": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The length of the requested blob content."
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Manifest"
+ ],
+ "description": "Delete the manifest identified by `name` and `reference`. Note that a manifest can _only_ be deleted by `digest`.",
+ "x-ms-examples": {
+ "Delete manifest": {
+ "$ref": "./examples/DeleteManifest.json"
+ }
+ },
+ "operationId": "Manifests_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/ImageReference"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The manifest has been deleted"
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/v2/{name}/blobs/{digest}": {
+ "get": {
+ "produces": [
+ "application/octet-stream"
+ ],
+ "tags": [
+ "Layer"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/Digest"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a blob from digest": {
+ "$ref": "./examples/GetBlob.json"
+ }
+ },
+ "description": "Retrieve the blob from the registry identified by digest.",
+ "operationId": "Blob_Get",
+ "responses": {
+ "200": {
+ "description": "The blob identified by digest is available. The blob content will be present in the body of the response.",
+ "schema": {
+ "description": "blob binary data",
+ "type": "file",
+ "format": "file"
+ },
+ "headers": {
+ "Content-Length": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The length of the requested blob content."
+ },
+ "Docker-Content-Digest": {
+ "description": "Digest of the targeted content for the request.",
+ "type": "string"
+ }
+ }
+ },
+ "307": {
+ "description": "The blob identified by digest is available at the provided location.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "The location where the layer should be accessible."
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "head": {
+ "tags": [
+ "Layer"
+ ],
+ "description": "Same as GET, except only the headers are returned.",
+ "operationId": "Blob_Check",
+ "x-ms-examples": {
+ "Head for a Blob Chunk": {
+ "$ref": "./examples/CheckBlob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/Digest"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The blob identified by digest is available. The blob content will be present in the body of the response.",
+ "headers": {
+ "Content-Length": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The length of the requested blob content."
+ },
+ "Docker-Content-Digest": {
+ "description": "Digest of the targeted content for the request.",
+ "type": "string"
+ }
+ }
+ },
+ "307": {
+ "description": "The blob identified by digest is available at the provided location.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "The location where the layer should be accessible."
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "delete": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/Digest"
+ }
+ ],
+ "description": "Removes an already uploaded blob.",
+ "produces": [
+ "application/octet-stream"
+ ],
+ "tags": [
+ "Layer"
+ ],
+ "operationId": "Blob_Delete",
+ "x-ms-examples": {
+ "Delete a blob": {
+ "$ref": "./examples/DeleteBlob.json"
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "The blob identified by digest is available. The blob content will be present in the body of the response.",
+ "schema": {
+ "description": "blob binary data",
+ "type": "file",
+ "format": "file"
+ },
+ "headers": {
+ "Docker-Content-Digest": {
+ "description": "Digest of the targeted content for the request.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/v2/{name}/blobs/uploads/": {
+ "post": {
+ "tags": [
+ "Layer"
+ ],
+ "description": "Mount a blob identified by the `mount` parameter from another repository.",
+ "operationId": "Blob_Mount",
+ "x-ms-examples": {
+ "Mount a blob from repository": {
+ "$ref": "./examples/MountBlob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/From"
+ },
+ {
+ "$ref": "#/parameters/Mount"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The blob has been created in the registry and is available at the provided location.",
+ "headers": {
+ "Location": {
+ "description": "Provided location for blob",
+ "type": "string"
+ },
+ "Docker-Upload-UUID": {
+ "description": "Identifies the docker upload uuid for the current request.",
+ "type": "string"
+ },
+ "Docker-Content-Digest": {
+ "description": "Digest of the targeted content for the request.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/{nextBlobUuidLink}": {
+ "get": {
+ "tags": [
+ "Layer"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/NextLink"
+ }
+ ],
+ "description": "Retrieve status of upload identified by uuid. The primary purpose of this endpoint is to resolve the current status of a resumable upload.",
+ "operationId": "Blob_GetStatus",
+ "x-ms-examples": {
+ "Get blob status": {
+ "$ref": "./examples/GetBlobStatus.json"
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "The upload is known and in progress. The last received offset is available in the Range header.",
+ "headers": {
+ "Range": {
+ "description": "Range indicating the current progress of the upload.",
+ "type": "string"
+ },
+ "Docker-Upload-UUID": {
+ "description": "Identifies the docker upload uuid for the current request.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "patch": {
+ "security": [
+ {
+ "registry_auth": [],
+ "registry_oauth2": []
+ }
+ ],
+ "tags": [
+ "Layer"
+ ],
+ "description": "Upload a stream of data without completing the upload.",
+ "operationId": "Blob_Upload",
+ "x-ms-examples": {
+ "Upload Blob": {
+ "$ref": "./examples/UploadBlob.json"
+ }
+ },
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/RawData"
+ },
+ {
+ "$ref": "#/parameters/NextLink"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The stream of data has been accepted and the current progress is available in the range header. The updated upload location is available in the Location header.",
+ "headers": {
+ "Location": {
+ "description": "Provided location for blob",
+ "type": "string"
+ },
+ "Range": {
+ "description": "Range indicating the current progress of the upload.",
+ "type": "string"
+ },
+ "Docker-Upload-UUID": {
+ "description": "Identifies the docker upload uuid for the current request.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Layer"
+ ],
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "description": "Complete the upload, providing all the data in the body, if necessary. A request without a body will just complete the upload with previously uploaded content.",
+ "operationId": "Blob_EndUpload",
+ "x-ms-examples": {
+ "End a blob upload": {
+ "$ref": "./examples/EndBlobUpload.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BlobQueryDigest"
+ },
+ {
+ "$ref": "#/parameters/RawDataOptional"
+ },
+ {
+ "$ref": "#/parameters/NextLink"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The upload has been completed and accepted by the registry.",
+ "headers": {
+ "Location": {
+ "description": "Provided location for blob",
+ "type": "string"
+ },
+ "Range": {
+ "description": "Range indicating the current progress of the upload.",
+ "type": "string"
+ },
+ "Docker-Content-Digest": {
+ "description": "Digest of the targeted content for the request.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Layer"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/NextLink"
+ }
+ ],
+ "description": "Cancel outstanding upload processes, releasing associated resources. If this is not called, the unfinished uploads will eventually timeout.",
+ "operationId": "Blob_CancelUpload",
+ "x-ms-examples": {
+ "End a blob upload": {
+ "$ref": "./examples/CancelBlobUpload.json"
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "The upload has been successfully deleted."
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/acr/v1/_catalog": {
+ "get": {
+ "tags": [
+ "AcrRepository"
+ ],
+ "description": "List repositories",
+ "operationId": "Repository_GetList",
+ "x-ms-examples": {
+ "Get repositories in a registry": {
+ "$ref": "./examples/GetRepositoryList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/QueryLast"
+ },
+ {
+ "$ref": "#/parameters/QueryNum"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "Link": {
+ "description": "next paginated result",
+ "type": "string"
+ }
+ },
+ "description": "Returns a list of repositories",
+ "schema": {
+ "$ref": "#/definitions/Repositories"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/acr/v1/{name}": {
+ "get": {
+ "tags": [
+ "AcrRepository",
+ "AcrMetadata"
+ ],
+ "description": "Get repository attributes",
+ "operationId": "Repository_GetAttributes",
+ "x-ms-examples": {
+ "Get details of repository": {
+ "$ref": "./examples/GetRepositoryAttributes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a list of attributes",
+ "schema": {
+ "$ref": "#/definitions/RepositoryAttributes"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AcrRepository"
+ ],
+ "description": "Delete the repository identified by `name`",
+ "operationId": "Repository_Delete",
+ "x-ms-examples": {
+ "Delete a repository": {
+ "$ref": "./examples/DeleteAcrRepository.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The repository is deleted",
+ "schema": {
+ "$ref": "#/definitions/DeletedRepository"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AcrRepository",
+ "AcrMetadata"
+ ],
+ "description": "Update the attribute identified by `name` where `reference` is the name of the repository.",
+ "operationId": "Repository_UpdateAttributes",
+ "x-ms-examples": {
+ "Update repository attributes": {
+ "$ref": "./examples/UpdateRepositoryAttributes.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "name": "value",
+ "in": "body",
+ "description": "Repository attribute value",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ChangeableAttributes"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The attributes are updated"
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/acr/v1/{name}/_tags": {
+ "get": {
+ "tags": [
+ "AcrTag",
+ "AcrMetadata"
+ ],
+ "description": "List tags of a repository",
+ "operationId": "Tag_GetList",
+ "x-ms-examples": {
+ "Get tags of a repository": {
+ "$ref": "./examples/GetTagList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/QueryLast"
+ },
+ {
+ "$ref": "#/parameters/QueryNum"
+ },
+ {
+ "$ref": "#/parameters/QueryOrderBy"
+ },
+ {
+ "$ref": "#/parameters/QueryDigest"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tag details of a repository",
+ "schema": {
+ "$ref": "#/definitions/TagList"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/acr/v1/{name}/_tags/{reference}": {
+ "get": {
+ "tags": [
+ "AcrTag",
+ "AcrMetadata"
+ ],
+ "description": "Get tag attributes by tag",
+ "operationId": "Tag_GetAttributes",
+ "x-ms-examples": {
+ "Get tag attributes": {
+ "$ref": "./examples/GetTagAttributes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/TagReference"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tag attributes",
+ "schema": {
+ "$ref": "#/definitions/TagAttributes"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AcrTag",
+ "AcrMetadata"
+ ],
+ "description": "Update tag attributes",
+ "operationId": "Tag_UpdateAttributes",
+ "consumes": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Update attributes of a tag": {
+ "$ref": "./examples/UpdateTagAttributes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/TagReference"
+ },
+ {
+ "$ref": "#/parameters/RepoValue"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The attributes are updated"
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AcrTag",
+ "AcrMetadata"
+ ],
+ "description": "Delete tag",
+ "operationId": "Tag_Delete",
+ "consumes": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Delete a tag": {
+ "$ref": "./examples/DeleteTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/TagReference"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The tag is deleted"
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/acr/v1/{name}/_manifests": {
+ "get": {
+ "tags": [
+ "AcrManifest",
+ "AcrMetadata"
+ ],
+ "description": "List manifests of a repository",
+ "operationId": "Manifests_GetList",
+ "x-ms-examples": {
+ "Get list of available manifests": {
+ "$ref": "./examples/GetManifestList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/QueryLast"
+ },
+ {
+ "$ref": "#/parameters/QueryNum"
+ },
+ {
+ "$ref": "#/parameters/QueryOrderBy"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a list of manifests",
+ "schema": {
+ "$ref": "#/definitions/AcrManifests"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/acr/v1/{name}/_manifests/{reference}": {
+ "get": {
+ "tags": [
+ "AcrManifest",
+ "AcrMetadata"
+ ],
+ "description": "Get manifest attributes",
+ "operationId": "Manifests_GetAttributes",
+ "x-ms-examples": {
+ "Get manifest attributes": {
+ "$ref": "./examples/GetManifestAttributes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/ImageReference"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of attributes",
+ "schema": {
+ "$ref": "#/definitions/ManifestAttributes"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AcrManifest",
+ "AcrMetadata"
+ ],
+ "description": "Update attributes of a manifest",
+ "operationId": "Manifests_UpdateAttributes",
+ "consumes": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Update attributes of a manifest": {
+ "$ref": "./examples/UpdateManifestAttributes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/ImageReference"
+ },
+ {
+ "$ref": "#/parameters/RepoValue"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The attributes are updated"
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/oauth2/exchange": {
+ "post": {
+ "tags": [
+ "AcrToken",
+ "RefreshToken"
+ ],
+ "description": "Exchange AAD tokens for an ACR refresh Token",
+ "operationId": "RefreshTokens_GetFromExchange",
+ "consumes": [
+ "application/x-www-form-urlencoded"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/Grant_type"
+ },
+ {
+ "$ref": "#/parameters/Service"
+ },
+ {
+ "$ref": "#/parameters/Tenant"
+ },
+ {
+ "$ref": "#/parameters/RefreshToken"
+ },
+ {
+ "$ref": "#/parameters/AccessToken"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Refresh token acquired",
+ "schema": {
+ "$ref": "#/definitions/RefreshToken"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ },
+ "security": [],
+ "x-ms-examples": {
+ "Exchange AAD Token for ACR Refresh": {
+ "$ref": "./examples/PostRefreshToken.json"
+ }
+ }
+ }
+ },
+ "/oauth2/token": {
+ "post": {
+ "tags": [
+ "AcrToken",
+ "AccessToken"
+ ],
+ "description": "Exchange ACR Refresh token for an ACR Access Token",
+ "operationId": "AccessTokens_Get",
+ "consumes": [
+ "application/x-www-form-urlencoded"
+ ],
+ "parameters": [
+ {
+ "name": "grant_type",
+ "in": "formData",
+ "description": "Grant type is expected to be refresh_token",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "refresh_token"
+ ]
+ },
+ {
+ "$ref": "#/parameters/Service"
+ },
+ {
+ "name": "scope",
+ "in": "formData",
+ "required": true,
+ "description": "Which is expected to be a valid scope, and can be specified more than once for multiple scope requests. You obtained this from the Www-Authenticate response header from the challenge.",
+ "type": "string"
+ },
+ {
+ "name": "refresh_token",
+ "in": "formData",
+ "required": true,
+ "description": "Must be a valid ACR refresh token",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Access token acquired",
+ "schema": {
+ "$ref": "#/definitions/AccessToken"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ },
+ "security": [],
+ "x-ms-examples": {
+ "Get Access Token with Refresh Token": {
+ "$ref": "./examples/PostAccessToken.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "AcrToken",
+ "AccessToken",
+ "userLogin"
+ ],
+ "description": "Exchange Username, Password and Scope an ACR Access Token",
+ "operationId": "AccessTokens_GetFromLogin",
+ "parameters": [
+ {
+ "name": "service",
+ "in": "query",
+ "required": true,
+ "description": "Indicates the name of your Azure container registry.",
+ "type": "string"
+ },
+ {
+ "name": "scope",
+ "in": "query",
+ "required": true,
+ "description": "Expected to be a valid scope, and can be specified more than once for multiple scope requests. You can obtain this from the Www-Authenticate response header from the challenge.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Access token acquired",
+ "schema": {
+ "$ref": "#/definitions/AccessToken"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ },
+ "security": [
+ {
+ "registry_auth": []
+ }
+ ],
+ "x-ms-examples": {
+ "Get Access Token with username and password": {
+ "$ref": "./examples/GetAccessToken.json"
+ }
+ }
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/v2/{name}/blobs/uploads/?mode=resumable": {
+ "post": {
+ "tags": [
+ "Layer"
+ ],
+ "description": "Initiate a resumable blob upload with an empty request body.",
+ "operationId": "Blob_StartUpload",
+ "x-ms-examples": {
+ "Start a blob upload": {
+ "$ref": "./examples/StartBlobUpload.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The upload has been created. The Location header must be used to complete the upload. The response should be identical to a GET request on the contents of the returned Location header.",
+ "headers": {
+ "Location": {
+ "description": "Provided location for blob",
+ "type": "string"
+ },
+ "Range": {
+ "description": "Range indicating the current progress of the upload.",
+ "type": "string"
+ },
+ "Docker-Upload-UUID": {
+ "description": "Identifies the docker upload uuid for the current request.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/v2/{name}/blobs/{digest}?mode=chunk": {
+ "get": {
+ "produces": [
+ "application/octet-stream"
+ ],
+ "tags": [
+ "Layer"
+ ],
+ "description": "Retrieve the blob from the registry identified by `digest`. This endpoint may also support RFC7233 compliant range requests. Support can be detected by issuing a HEAD request. If the header `Accept-Range: bytes` is returned, range requests can be used to fetch partial content.",
+ "operationId": "Blob_GetChunk",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/Digest"
+ },
+ {
+ "$ref": "#/parameters/Range"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a blob Chunk": {
+ "$ref": "./examples/GetBlobChunk.json"
+ }
+ },
+ "responses": {
+ "206": {
+ "description": "The blob identified by digest is available. The specified chunk of blob content will be present in the body of the request.",
+ "schema": {
+ "description": "blob binary data",
+ "type": "file",
+ "format": "file"
+ },
+ "headers": {
+ "Content-Length": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The length of the requested blob content."
+ },
+ "Content-Range": {
+ "type": "string",
+ "description": "Content range of blob chunk."
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "head": {
+ "tags": [
+ "Layer"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/Digest"
+ },
+ {
+ "$ref": "#/parameters/Range"
+ }
+ ],
+ "description": "Same as GET, except only the headers are returned.",
+ "operationId": "Blob_CheckChunk",
+ "x-ms-examples": {
+ "Get headers without blob Chunk": {
+ "$ref": "./examples/CheckBlobChunk.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "The blob identified by digest is available. The specified chunk of blob content will be present in the body of the request.",
+ "headers": {
+ "Content-Length": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The length of the requested blob content."
+ },
+ "Content-Range": {
+ "type": "string",
+ "description": "Content range of blob chunk."
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RepositoryAttributes": {
+ "type": "object",
+ "description": "Repository attributes",
+ "properties": {
+ "registry": {
+ "type": "string",
+ "description": "Registry name"
+ },
+ "imageName": {
+ "type": "string",
+ "description": "Image name"
+ },
+ "createdTime": {
+ "type": "string",
+ "description": "Image created time"
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "description": "Image last update time"
+ },
+ "manifestCount": {
+ "type": "integer",
+ "description": "Number of the manifests"
+ },
+ "tagCount": {
+ "type": "integer",
+ "description": "Number of the tags"
+ },
+ "changeableAttributes": {
+ "description": "Changeable attributes",
+ "$ref": "#/definitions/ChangeableAttributes"
+ }
+ },
+ "example": {
+ "registry": "registryname.azurecr.io",
+ "changeableAttributes": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "imageName": "imageName",
+ "createdTime": "2018-09-07T16:30:46.6583219Z",
+ "tagCount": 6,
+ "manifestCount": 2,
+ "lastUpdateTime": "2018-09-07T16:30:46.6583219Z"
+ }
+ },
+ "TagList": {
+ "description": "List of tag details",
+ "properties": {
+ "registry": {
+ "type": "string",
+ "description": "Registry name"
+ },
+ "imageName": {
+ "type": "string",
+ "description": "Image name"
+ },
+ "tags": {
+ "type": "array",
+ "description": "List of tag attribute details",
+ "items": {
+ "$ref": "#/definitions/TagAttributesBase"
+ }
+ }
+ },
+ "example": {
+ "registry": "registry",
+ "imageName": "imageName",
+ "tags": [
+ {
+ "changeableAttributes": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "name": "name",
+ "digest": "digest",
+ "createdTime": "createdTime",
+ "signed": true,
+ "lastUpdateTime": "lastUpdateTime"
+ },
+ {
+ "changeableAttributes": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "name": "name",
+ "digest": "digest",
+ "createdTime": "createdTime",
+ "signed": true,
+ "lastUpdateTime": "lastUpdateTime"
+ }
+ ]
+ }
+ },
+ "TagAttributes": {
+ "description": "Tag attributes",
+ "properties": {
+ "registry": {
+ "type": "string",
+ "description": "Registry name"
+ },
+ "imageName": {
+ "type": "string",
+ "description": "Image name"
+ },
+ "tag": {
+ "x-ms-client-name": "attributes",
+ "description": "List of tag attribute details",
+ "$ref": "#/definitions/TagAttributesBase"
+ }
+ },
+ "example": {
+ "registry": "registry",
+ "imageName": "imageName",
+ "tag": {
+ "changeableAttributes": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "name": "name",
+ "digest": "digest",
+ "createdTime": "createdTime",
+ "signed": true,
+ "lastUpdateTime": "lastUpdateTime"
+ }
+ }
+ },
+ "TagAttributesBase": {
+ "description": "Tag attribute details",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Tag name"
+ },
+ "digest": {
+ "type": "string",
+ "description": "Tag digest"
+ },
+ "createdTime": {
+ "type": "string",
+ "description": "Tag created time"
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "description": "Tag last update time"
+ },
+ "signed": {
+ "type": "boolean",
+ "description": "Is signed"
+ },
+ "changeableAttributes": {
+ "$ref": "#/definitions/ChangeableAttributes",
+ "description": "Changeable attributes"
+ }
+ },
+ "example": {
+ "changeableAttributes": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "name": "tagname",
+ "digest": "sha256:0873c923e00e0fd2ba78041bfb64a105e1ecb7678916d1f7776311e45bf5634b",
+ "createdTime": "2018-08-10T17:28:44.1082945Z",
+ "signed": true,
+ "lastUpdateTime": "2018-08-10T17:28:44.1082945Z"
+ }
+ },
+ "AcrManifests": {
+ "description": "Manifest attributes",
+ "properties": {
+ "registry": {
+ "type": "string",
+ "description": "Registry name"
+ },
+ "imageName": {
+ "type": "string",
+ "description": "Image name"
+ },
+ "manifests": {
+ "x-ms-client-name": "ManifestsAttributes",
+ "type": "array",
+ "description": "List of manifests",
+ "items": {
+ "$ref": "#/definitions/ManifestAttributesBase",
+ "description": "Manifest details"
+ }
+ }
+ },
+ "example": {
+ "registry": "registry",
+ "imageName": "imageName",
+ "manifests": [
+ {
+ "changeableAttributes": {
+ "quarantineDetails": "quarantineDetails",
+ "readEnabled": true,
+ "quarantineState": "quarantineState",
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "os": "os",
+ "digest": "digest",
+ "imageSize": 2401606,
+ "createdTime": "createdTime",
+ "mediaType": "mediaType",
+ "configMediaType": "configMediaType",
+ "lastUpdateTime": "lastUpdateTime",
+ "architecture": "architecture",
+ "tags": [
+ "tags",
+ "tags"
+ ]
+ },
+ {
+ "changeableAttributes": {
+ "quarantineDetails": "quarantineDetails",
+ "readEnabled": true,
+ "quarantineState": "quarantineState",
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "os": "os",
+ "digest": "digest",
+ "imageSize": 2401606,
+ "createdTime": "createdTime",
+ "mediaType": "mediaType",
+ "configMediaType": "configMediaType",
+ "lastUpdateTime": "lastUpdateTime",
+ "architecture": "architecture",
+ "tags": [
+ "tags",
+ "tags"
+ ]
+ }
+ ]
+ }
+ },
+ "ManifestAttributes": {
+ "description": "Manifest attributes details",
+ "properties": {
+ "registry": {
+ "description": "Registry name",
+ "type": "string"
+ },
+ "imageName": {
+ "description": "Image name",
+ "type": "string"
+ },
+ "manifest": {
+ "x-ms-client-name": "attributes",
+ "description": "Manifest attributes",
+ "$ref": "#/definitions/ManifestAttributesBase"
+ }
+ },
+ "example": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "nanoserver",
+ "manifest": {
+ "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086",
+ "imageSize": 2401606,
+ "createdTime": "2018-09-06T06:17:20.9983915Z",
+ "lastUpdateTime": "2018-09-06T06:17:20.9983915Z",
+ "architecture": "amd64",
+ "os": "windows",
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "configMediaType": "application/vnd.docker.container.image.v1+json",
+ "tags": [
+ "4.7.2-20180905-nanoserver-1803"
+ ],
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ }
+ },
+ "ManifestAttributesBase": {
+ "type": "object",
+ "description": "Manifest details",
+ "properties": {
+ "digest": {
+ "type": "string",
+ "description": "Manifest"
+ },
+ "imageSize": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Image size"
+ },
+ "createdTime": {
+ "type": "string",
+ "description": "Created time"
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "description": "Last update time"
+ },
+ "architecture": {
+ "type": "string",
+ "description": "CPU architecture"
+ },
+ "os": {
+ "type": "string",
+ "description": "Operating system"
+ },
+ "mediaType": {
+ "type": "string",
+ "description": "Media type"
+ },
+ "configMediaType": {
+ "type": "string",
+ "description": "Config blob media type"
+ },
+ "tags": {
+ "type": "array",
+ "description": "List of tags",
+ "items": {
+ "type": "string",
+ "description": "Tag name"
+ }
+ },
+ "changeableAttributes": {
+ "$ref": "#/definitions/ChangeableAttributes",
+ "description": "Changeable attributes"
+ }
+ },
+ "example": {
+ "changeableAttributes": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "os": "os",
+ "digest": "digest",
+ "imageSize": 2401606,
+ "createdTime": "createdTime",
+ "mediaType": "mediaType",
+ "configMediaType": "configMediaType",
+ "lastUpdateTime": "lastUpdateTime",
+ "architecture": "architecture",
+ "tags": [
+ "tags",
+ "tags"
+ ]
+ }
+ },
+ "RefreshToken": {
+ "type": "object",
+ "properties": {
+ "refresh_token": {
+ "description": "The refresh token to be used for generating access tokens",
+ "type": "string"
+ }
+ }
+ },
+ "AccessToken": {
+ "type": "object",
+ "properties": {
+ "access_token": {
+ "description": "The access token for performing authenticated requests",
+ "type": "string"
+ }
+ }
+ },
+ "AcrErrors": {
+ "description": "Acr error response describing why the operation failed",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "Array of detailed error",
+ "items": {
+ "$ref": "#/definitions/AcrErrorInfo"
+ }
+ }
+ }
+ },
+ "RepositoryTags": {
+ "description": "Result of the request to list tags of the image",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the image"
+ },
+ "tags": {
+ "type": "array",
+ "description": "List of tags",
+ "items": {
+ "type": "string",
+ "description": "Tag name"
+ }
+ }
+ },
+ "example": {
+ "name": "name",
+ "tags": [
+ "tags",
+ "tags"
+ ]
+ }
+ },
+ "ImageSignature": {
+ "description": "Signature of a signed manifest",
+ "properties": {
+ "header": {
+ "description": "A JSON web signature",
+ "$ref": "#/definitions/JWK"
+ },
+ "signature": {
+ "type": "string",
+ "description": "A signature for the image manifest, signed by a libtrust private key"
+ },
+ "protected": {
+ "type": "string",
+ "description": "The signed protected header"
+ }
+ },
+ "example": {
+ "header": {
+ "jwk": {
+ "crv": "P-256",
+ "kid": "WGXM:EYWQ:DA53:LQUP:BCWG:5RDG:S3ZM:ETH7:VMQS:WWKZ:EWDG:V74Q",
+ "kty": "EC",
+ "x": "OxZ9k5BVjPZ7jb3BmBD4X0d8MVPJqfF4NeSe8reoqnY",
+ "y": "EaCqTe4-vYwhk7qU6Bs2-AeLGOVtCe_-IY2MdE0Vfyc"
+ },
+ "alg": "ES256"
+ },
+ "signature": "p73LfotMGD8nNXz2g9YX2XtSllb4GI5-b3vjqP5N0nkv8QXg-r5z_omGiVbOZE2BYG1X_4TIN23l1KSEqsXxOg",
+ "protected": "eyJmb3JtYXRMZW5ndGgiOjI5ODYsImZvcm1hdFRhaWwiOiJDbjAiLCJ0aW1lIjoiMjAxOC0wOS0yMFQyMzo0MTo1MloifQ"
+ }
+ },
+ "JWK": {
+ "description": "A JSON web signature",
+ "properties": {
+ "jwk": {
+ "$ref": "#/definitions/JWKHeader"
+ },
+ "alg": {
+ "type": "string",
+ "description": "The algorithm used to sign or encrypt the JWT"
+ }
+ }
+ },
+ "JWKHeader": {
+ "description": "JSON web key parameter",
+ "properties": {
+ "crv": {
+ "type": "string",
+ "description": "crv value"
+ },
+ "kid": {
+ "type": "string",
+ "description": "kid value"
+ },
+ "kty": {
+ "type": "string",
+ "description": "kty value"
+ },
+ "x": {
+ "type": "string",
+ "description": "x value"
+ },
+ "y": {
+ "type": "string",
+ "description": "y value"
+ }
+ }
+ },
+ "History": {
+ "description": "A list of unstructured historical data for v1 compatibility",
+ "properties": {
+ "v1Compatibility": {
+ "type": "string",
+ "description": "The raw v1 compatibility information"
+ }
+ },
+ "example": {
+ "v1Compatibility": "v1 compatibility info"
+ }
+ },
+ "Repositories": {
+ "description": "List of repositories",
+ "properties": {
+ "repositories": {
+ "type": "array",
+ "x-ms-client-name": "Names",
+ "description": "Repository names",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "example": {
+ "repositories": [
+ "production/alpine",
+ "testing/alpine"
+ ]
+ }
+ },
+ "DeletedRepository": {
+ "description": "Deleted repository",
+ "properties": {
+ "manifestsDeleted": {
+ "type": "array",
+ "description": "SHA of the deleted image",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tagsDeleted": {
+ "type": "array",
+ "description": "Tag of the deleted image",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AcrErrorInfo": {
+ "description": "Error information",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message"
+ },
+ "detail": {
+ "type": "object",
+ "description": "Error details"
+ }
+ }
+ },
+ "FsLayer": {
+ "description": "Image layer information",
+ "properties": {
+ "blobSum": {
+ "type": "string",
+ "description": "SHA of an image layer"
+ }
+ },
+ "example": {
+ "blobSum": "sha256:1f7d468f830cb0ed4beb8edc9438f18096e8c682e56a35242f60e6c61b718b30"
+ }
+ },
+ "Descriptor": {
+ "description": "Docker V2 image layer descriptor including config and layers",
+ "properties": {
+ "mediaType": {
+ "type": "string",
+ "description": "Layer media type"
+ },
+ "size": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Layer size"
+ },
+ "digest": {
+ "type": "string",
+ "description": "Layer digest"
+ },
+ "urls": {
+ "type": "array",
+ "description": "Specifies a list of URIs from which this object may be downloaded.",
+ "items": {
+ "description": "Must conform to RFC 3986. Entries should use the http and https schemes, as defined in RFC 7230.",
+ "type": "string"
+ }
+ },
+ "annotations": {
+ "$ref": "#/definitions/Annotations"
+ }
+ },
+ "example": {
+ "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
+ "size": 2107098,
+ "digest": "sha256:5d20c808ce198565ff70b3ed23a991dd49afac45dece63474b27ce6ed036adc6"
+ }
+ },
+ "ChangeableAttributes": {
+ "properties": {
+ "deleteEnabled": {
+ "type": "boolean",
+ "description": "Delete enabled"
+ },
+ "writeEnabled": {
+ "type": "boolean",
+ "description": "Write enabled"
+ },
+ "listEnabled": {
+ "type": "boolean",
+ "description": "List enabled"
+ },
+ "readEnabled": {
+ "type": "boolean",
+ "description": "Read enabled"
+ }
+ },
+ "example": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ }
+ },
+ "TagAttributes_tag": {
+ "description": "Tag",
+ "properties": {
+ "signatureRecord": {
+ "description": "SignatureRecord value",
+ "type": "string"
+ }
+ },
+ "example": {
+ "signatureRecord": "signatureRecord"
+ }
+ },
+ "ManifestAttributes_manifest_references": {
+ "description": "Manifest attributes details",
+ "properties": {
+ "digest": {
+ "type": "string",
+ "description": "Manifest digest"
+ },
+ "architecture": {
+ "type": "string",
+ "description": "CPU architecture"
+ },
+ "os": {
+ "type": "string",
+ "description": "Operating system"
+ }
+ },
+ "example": {
+ "os": "os",
+ "digest": "digest",
+ "architecture": "architecture"
+ }
+ },
+ "ManifestAttributes_manifest": {
+ "description": "List of manifest attributes",
+ "properties": {
+ "references": {
+ "type": "array",
+ "description": "List of manifest attributes details",
+ "items": {
+ "$ref": "#/definitions/ManifestAttributes_manifest_references",
+ "description": "Manifest attributes details"
+ }
+ },
+ "quarantineTag": {
+ "type": "string",
+ "description": "Quarantine tag name"
+ }
+ },
+ "example": {
+ "quarantineTag": "quarantineTag",
+ "references": [
+ {
+ "os": "os",
+ "digest": "digest",
+ "architecture": "architecture"
+ },
+ {
+ "os": "os",
+ "digest": "digest",
+ "architecture": "architecture"
+ }
+ ]
+ }
+ },
+ "ManifestChangeableAttributes": {
+ "description": "Changeable attributes",
+ "properties": {
+ "deleteEnabled": {
+ "type": "boolean",
+ "description": "Delete enabled"
+ },
+ "writeEnabled": {
+ "type": "boolean",
+ "description": "Write enabled"
+ },
+ "listEnabled": {
+ "type": "boolean",
+ "description": "List enabled"
+ },
+ "readEnabled": {
+ "type": "boolean",
+ "description": "Read enabled"
+ },
+ "quarantineState": {
+ "type": "string",
+ "description": "Quarantine state"
+ },
+ "quarantineDetails": {
+ "type": "string",
+ "description": "Quarantine details"
+ }
+ },
+ "example": {
+ "quarantineDetails": "quarantineDetails",
+ "readEnabled": true,
+ "quarantineState": "quarantineState",
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ }
+ },
+ "Manifest": {
+ "description": "Returns the requested manifest file",
+ "properties": {
+ "schemaVersion": {
+ "type": "integer",
+ "description": "Schema version"
+ }
+ }
+ },
+ "ManifestWrapper": {
+ "description": "Returns the requested manifest file",
+ "properties": {
+ "mediaType": {
+ "type": "string",
+ "description": "Media type for this Manifest"
+ },
+ "manifests": {
+ "type": "array",
+ "description": "(ManifestList, OCIIndex) List of V2 image layer information",
+ "items": {
+ "$ref": "#/definitions/ManifestListAttributes"
+ }
+ },
+ "config": {
+ "description": "(V2, OCI) Image config descriptor",
+ "$ref": "#/definitions/Descriptor"
+ },
+ "layers": {
+ "type": "array",
+ "description": "(V2, OCI) List of V2 image layer information",
+ "items": {
+ "$ref": "#/definitions/Descriptor"
+ }
+ },
+ "annotations": {
+ "description": "(OCI, OCIIndex) Additional metadata",
+ "$ref": "#/definitions/Annotations"
+ },
+ "architecture": {
+ "type": "string",
+ "description": "(V1) CPU architecture"
+ },
+ "name": {
+ "type": "string",
+ "description": "(V1) Image name"
+ },
+ "tag": {
+ "type": "string",
+ "description": "(V1) Image tag"
+ },
+ "fsLayers": {
+ "type": "array",
+ "description": "(V1) List of layer information",
+ "items": {
+ "$ref": "#/definitions/FsLayer"
+ }
+ },
+ "history": {
+ "type": "array",
+ "description": "(V1) Image history",
+ "items": {
+ "$ref": "#/definitions/History"
+ }
+ },
+ "signatures": {
+ "type": "array",
+ "description": "(V1) Image signature",
+ "items": {
+ "$ref": "#/definitions/ImageSignature"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Manifest"
+ }
+ ]
+ },
+ "ManifestList": {
+ "x-ms-discriminator-value": "application/vnd.docker.distribution.manifest.list.v2+json",
+ "description": "Returns the requested Docker multi-arch-manifest file",
+ "properties": {
+ "mediaType": {
+ "type": "string",
+ "description": "Media type for this Manifest"
+ },
+ "manifests": {
+ "type": "array",
+ "description": "List of V2 image layer information",
+ "items": {
+ "$ref": "#/definitions/ManifestListAttributes"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Manifest"
+ }
+ ]
+ },
+ "ManifestListAttributes": {
+ "properties": {
+ "mediaType": {
+ "type": "string",
+ "description": "The MIME type of the referenced object. This will generally be application/vnd.docker.image.manifest.v2+json, but it could also be application/vnd.docker.image.manifest.v1+json"
+ },
+ "size": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The size in bytes of the object"
+ },
+ "digest": {
+ "type": "string",
+ "description": "The digest of the content, as defined by the Registry V2 HTTP API Specification"
+ },
+ "platform": {
+ "$ref": "#/definitions/Platform"
+ }
+ }
+ },
+ "Platform": {
+ "description": "The platform object describes the platform which the image in the manifest runs on. A full list of valid operating system and architecture values are listed in the Go language documentation for $GOOS and $GOARCH",
+ "properties": {
+ "architecture": {
+ "type": "string",
+ "description": "Specifies the CPU architecture, for example amd64 or ppc64le."
+ },
+ "os": {
+ "type": "string",
+ "description": "The os field specifies the operating system, for example linux or windows."
+ },
+ "os.version": {
+ "type": "string",
+ "description": "The optional os.version field specifies the operating system version, for example 10.0.10586."
+ },
+ "os.features": {
+ "type": "array",
+ "description": "The optional os.features field specifies an array of strings, each listing a required OS feature (for example on Windows win32k",
+ "items": {
+ "type": "string"
+ }
+ },
+ "variant": {
+ "type": "string",
+ "description": "The optional variant field specifies a variant of the CPU, for example armv6l to specify a particular CPU variant of the ARM CPU."
+ },
+ "features": {
+ "type": "array",
+ "description": "The optional features field specifies an array of strings, each listing a required CPU feature (for example sse4 or aes",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "V2Manifest": {
+ "x-ms-discriminator-value": "application/vnd.docker.distribution.manifest.v2+json",
+ "description": "Returns the requested Docker V2 Manifest file",
+ "properties": {
+ "mediaType": {
+ "type": "string",
+ "description": "Media type for this Manifest"
+ },
+ "config": {
+ "description": "V2 image config descriptor",
+ "$ref": "#/definitions/Descriptor"
+ },
+ "layers": {
+ "type": "array",
+ "description": "List of V2 image layer information",
+ "items": {
+ "$ref": "#/definitions/Descriptor"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Manifest"
+ }
+ ],
+ "example": {
+ "schemaVersion": 2,
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "config": {
+ "mediaType": "application/vnd.docker.container.image.v1+json",
+ "size": 1512,
+ "digest": "sha256:6d1ef012b5674ad8a127ecfa9b5e6f5178d171b90ee462846974177fd9bdd39f"
+ },
+ "layers": [
+ {
+ "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
+ "size": 2107098,
+ "digest": "sha256:5d20c808ce198565ff70b3ed23a991dd49afac45dece63474b27ce6ed036adc6"
+ }
+ ]
+ }
+ },
+ "OCIManifest": {
+ "x-ms-discriminator-value": "application/vnd.oci.image.manifest.v1+json",
+ "description": "Returns the requested OCI Manifest file",
+ "properties": {
+ "config": {
+ "description": "V2 image config descriptor",
+ "$ref": "#/definitions/Descriptor"
+ },
+ "layers": {
+ "type": "array",
+ "description": "List of V2 image layer information",
+ "items": {
+ "$ref": "#/definitions/Descriptor"
+ }
+ },
+ "annotations": {
+ "$ref": "#/definitions/Annotations"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Manifest"
+ }
+ ]
+ },
+ "OCIIndex": {
+ "x-ms-discriminator-value": "application/vnd.oci.image.index.v1+json",
+ "description": "Returns the requested OCI index file",
+ "properties": {
+ "manifests": {
+ "type": "array",
+ "description": "List of OCI image layer information",
+ "items": {
+ "$ref": "#/definitions/ManifestListAttributes"
+ }
+ },
+ "annotations": {
+ "$ref": "#/definitions/Annotations"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Manifest"
+ }
+ ]
+ },
+ "V1Manifest": {
+ "description": "Returns the requested V1 manifest file",
+ "x-ms-discriminator-value": "application/vnd.oci.image.manifest.v1+json",
+ "properties": {
+ "architecture": {
+ "type": "string",
+ "description": "CPU architecture"
+ },
+ "name": {
+ "type": "string",
+ "description": "Image name"
+ },
+ "tag": {
+ "type": "string",
+ "description": "Image tag"
+ },
+ "fsLayers": {
+ "type": "array",
+ "description": "List of layer information",
+ "items": {
+ "$ref": "#/definitions/FsLayer"
+ }
+ },
+ "history": {
+ "type": "array",
+ "description": "Image history",
+ "items": {
+ "$ref": "#/definitions/History"
+ }
+ },
+ "signatures": {
+ "type": "array",
+ "description": "Image signature",
+ "items": {
+ "$ref": "#/definitions/ImageSignature"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Manifest"
+ }
+ ]
+ },
+ "Annotations": {
+ "description": "Additional information provided through arbitrary metadata.",
+ "type": "object",
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "object"
+ },
+ "properties": {
+ "org.opencontainers.image.created": {
+ "description": "Date and time on which the image was built (string, date-time as defined by https://tools.ietf.org/html/rfc3339#section-5.6)",
+ "type": "string",
+ "format": "date-time",
+ "x-ms-client-name": "Created"
+ },
+ "org.opencontainers.image.authors": {
+ "description": "Contact details of the people or organization responsible for the image.",
+ "type": "string",
+ "x-ms-client-name": "Authors"
+ },
+ "org.opencontainers.image.url": {
+ "description": "URL to find more information on the image.",
+ "type": "string",
+ "x-ms-client-name": "Url"
+ },
+ "org.opencontainers.image.documentation": {
+ "description": "URL to get documentation on the image.",
+ "type": "string",
+ "x-ms-client-name": "Documentation"
+ },
+ "org.opencontainers.image.source": {
+ "description": "URL to get source code for building the image.",
+ "type": "string",
+ "x-ms-client-name": "Source"
+ },
+ "org.opencontainers.image.version": {
+ "description": "Version of the packaged software. The version MAY match a label or tag in the source code repository, may also be Semantic versioning-compatible",
+ "type": "string",
+ "x-ms-client-name": "Version"
+ },
+ "org.opencontainers.image.revision": {
+ "description": "Source control revision identifier for the packaged software.",
+ "type": "string",
+ "x-ms-client-name": "Revision"
+ },
+ "org.opencontainers.image.vendor": {
+ "description": "Name of the distributing entity, organization or individual.",
+ "type": "string",
+ "x-ms-client-name": "Vendor"
+ },
+ "org.opencontainers.image.licenses": {
+ "description": "License(s) under which contained software is distributed as an SPDX License Expression.",
+ "type": "string",
+ "x-ms-client-name": "Licenses"
+ },
+ "org.opencontainers.image.ref.name": {
+ "description": "Name of the reference for a target.",
+ "type": "string",
+ "x-ms-client-name": "Name"
+ },
+ "org.opencontainers.image.title": {
+ "description": "Human-readable title of the image",
+ "type": "string",
+ "x-ms-client-name": "Title"
+ },
+ "org.opencontainers.image.description": {
+ "description": "Human-readable description of the software packaged in the image",
+ "type": "string",
+ "x-ms-client-name": "Description"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Url": {
+ "name": "url",
+ "x-ms-client-name": "loginUri",
+ "description": "Registry login URL",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ },
+ "ImageReference": {
+ "name": "reference",
+ "in": "path",
+ "description": "A tag or a digest, pointing to a specific image",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ManifestReference": {
+ "name": "reference",
+ "in": "path",
+ "description": "Tag or digest of the target manifest",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "TagReference": {
+ "name": "reference",
+ "in": "path",
+ "description": "Tag name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "Digest": {
+ "name": "digest",
+ "in": "path",
+ "description": "Digest of a BLOB",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "BlobQueryDigest": {
+ "name": "digest",
+ "in": "query",
+ "description": "Digest of a BLOB",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "RepoValue": {
+ "name": "value",
+ "in": "body",
+ "description": "Repository attribute value",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ChangeableAttributes"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "QueryOrderBy": {
+ "name": "orderby",
+ "in": "query",
+ "description": "orderby query parameter",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "QueryNum": {
+ "name": "n",
+ "in": "query",
+ "description": "query parameter for max number of items",
+ "required": false,
+ "type": "integer",
+ "x-ms-parameter-location": "method"
+ },
+ "QueryLast": {
+ "name": "last",
+ "in": "query",
+ "description": "Query parameter for the last item in previous query. Result set will include values lexically after last.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "QueryDigest": {
+ "name": "digest",
+ "in": "query",
+ "description": "filter by digest",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "Grant_type": {
+ "name": "grant_type",
+ "description": "Can take a value of access_token_refresh_token, or access_token, or refresh_token",
+ "type": "string",
+ "in": "formData",
+ "required": true,
+ "enum": [
+ "access_token_refresh_token",
+ "access_token",
+ "refresh_token"
+ ],
+ "x-ms-parameter-location": "method"
+ },
+ "Service": {
+ "name": "service",
+ "in": "formData",
+ "required": true,
+ "description": "Indicates the name of your Azure container registry.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "Tenant": {
+ "name": "tenant",
+ "in": "formData",
+ "required": false,
+ "description": "AAD tenant associated to the AAD credentials.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "Scope": {
+ "name": "scope",
+ "in": "formData",
+ "required": true,
+ "description": "Which is expected to be a valid scope, and can be specified more than once for multiple scope requests. You can obtain this from the Www-Authenticate response header from the challenge.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "RefreshToken": {
+ "name": "refresh_token",
+ "in": "formData",
+ "required": false,
+ "description": "AAD refresh token, mandatory when grant_type is access_token_refresh_token or refresh_token",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AccessToken": {
+ "name": "access_token",
+ "in": "formData",
+ "required": false,
+ "description": "AAD access token, mandatory when grant_type is access_token_refresh_token or access_token.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ImageName": {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the image (including the namespace)",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ManifestBody": {
+ "description": "Manifest body, can take v1 or v2 values depending on accept header",
+ "name": "payload",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Manifest"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "RawData": {
+ "name": "value",
+ "description": "Raw data of blob",
+ "in": "body",
+ "schema": {
+ "type": "object",
+ "format": "file"
+ },
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "RawDataOptional": {
+ "name": "value",
+ "description": "Optional raw data of blob",
+ "in": "body",
+ "schema": {
+ "type": "object",
+ "format": "file"
+ },
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "From": {
+ "name": "from",
+ "type": "string",
+ "in": "query",
+ "description": "Name of the source repository.",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "Mount": {
+ "name": "mount",
+ "description": "Digest of blob to mount from the source repository.",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "Uuid": {
+ "name": "uuid",
+ "description": "A uuid identifying the upload.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "Content-Range": {
+ "name": "Content-Range",
+ "in": "header",
+ "description": "Range of bytes identifying the desired block of content represented by the body. Start must the end offset retrieved via status check plus one. Note that this is a non-standard use of the `Content-Range` header.",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "Range": {
+ "name": "Range",
+ "type": "string",
+ "description": "Format : bytes=-, HTTP Range header specifying blob chunk.",
+ "in": "header",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "NoUploadCache": {
+ "description": "Acquired from NextLink",
+ "name": "_nouploadcache",
+ "in": "query",
+ "type": "boolean",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "State": {
+ "description": "Acquired from NextLink",
+ "name": "_state",
+ "in": "query",
+ "type": "string",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "NextLink": {
+ "name": "nextBlobUuidLink",
+ "x-ms-client-name": "location",
+ "type": "string",
+ "description": "Link acquired from upload start or previous chunk. Note, do not include initial / (must do substring(1) )",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/CancelBlobUpload.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/CancelBlobUpload.json
new file mode 100644
index 000000000000..1a32d216e7bd
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/CancelBlobUpload.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "nextBlobUuidLink": "v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/CheckBlob.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/CheckBlob.json
new file mode 100644
index 000000000000..519425f52232
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/CheckBlob.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "prod/bash",
+ "digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Length": 5635
+ }
+ },
+ "307": {
+ "headers": {
+ "Location": "https://csharpsdktest.azurecr.io/v2/prod/bash/blobs/sha256:3131d2b2b3352091117a3abe745d01a3fed472b7327c3183602247937800e3a6"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/CheckBlobChunk.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/CheckBlobChunk.json
new file mode 100644
index 000000000000..49fddb0cd1b9
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/CheckBlobChunk.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "prod/bash",
+ "digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39",
+ "Range": "bytes=0-299"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Length": "300",
+ "Content-Range": "bytes 0-299/5635"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/CreateManifest.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/CreateManifest.json
new file mode 100644
index 000000000000..9009925c6027
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/CreateManifest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "hello-world",
+ "reference": "a20190628-081044z",
+ "payload": "{\"schemaVersion\":2,\"mediaType\":\"application/vnd.docker.distribution.manifest.v2+json\",\"config\":{\"mediaType\":\"application/vnd.docker.container.image.v1+json\",\"size\":1512,\"digest\":\"sha256:6d1ef012b5674ad8a127ecfa9b5e6f5178d171b90ee462846974177fd9bdd39f\"},\"layers\":[{\"mediaType\":\"application/vnd.docker.image.rootfs.diff.tar.gzip\",\"size\":2107098,\"digest\":\"sha256:5d20c808ce198565ff70b3ed23a991dd49afac45dece63474b27ce6ed036adc6\"}]}"
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Docker-Content-Digest": "sha256:15685c48490175b7dde62e6bfcfb54d9420c6495ea6404776e2facca3da93cd8",
+ "Location": "/v2/hello-world/manifests/sha256:15685c48490175b7dde62e6bfcfb54d9420c6495ea6404776e2facca3da93cd8",
+ "Content-Length": 0
+ },
+ "body": {}
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/DeleteAcrRepository.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/DeleteAcrRepository.json
new file mode 100644
index 000000000000..8449e47855ec
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/DeleteAcrRepository.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "manifestsDeleted": [
+ "sha256:e31831d63f77a0a6d74ef5b16df619a50808dac842190d07ae24e8b520d159fa"
+ ],
+ "tagsDeleted": [
+ "4.7.2-20180814-windowsservercore-1709"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/DeleteBlob.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/DeleteBlob.json
new file mode 100644
index 000000000000..8852e49d5c19
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/DeleteBlob.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "prod/bash",
+ "digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"
+ },
+ "responses": {
+ "202": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/DeleteManifest.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/DeleteManifest.json
new file mode 100644
index 000000000000..50afe0bd523e
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/DeleteManifest.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "alpine",
+ "reference": "3.7"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/DeleteTag.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/DeleteTag.json
new file mode 100644
index 000000000000..fec441eeaf12
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/DeleteTag.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver",
+ "reference": "4.7.2-20180905-nanoserver-1803"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/EndBlobUpload.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/EndBlobUpload.json
new file mode 100644
index 000000000000..82f0c9c35538
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/EndBlobUpload.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "nextBlobUuidLink": "v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9",
+ "digest": "sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e",
+ "value": "usuallyEmpty"
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "/v2/blobland/blobs/sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e",
+ "Docker-Content-Digest": "sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetAccessToken.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetAccessToken.json
new file mode 100644
index 000000000000..416fd08ca49b
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetAccessToken.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "service": "someregistry.azurecr.io",
+ "scope": "registry:catalog:*"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "access_token": "eyJ0eXAiOiJKJhbGcigdCI6IkN0ZlFaOExlLTMejlnIiwidGlkIjoiNzbmOTgWItMmQ3Y2QwMTFkYjQ3Ii..."
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetBlob.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetBlob.json
new file mode 100644
index 000000000000..b50eee9da47c
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetBlob.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "prod/bash",
+ "digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"
+ },
+ "responses": {
+ "200": {
+ "body": "eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iLCJfQkFTSF9HUEdfS0VZPTdDMDEzNUZCMDg4QUFGNkM2NkM2NTBCOUJCNTg2OUYwNjRFQTc0QUIiLCJfQkFTSF9WRVJTSU9OPTUuMCIsIl9CQVNIX1BBVENIX0xFVkVMPTAiLCJfQkFTSF9MQVRFU1RfUEFUQ0g9NyJdLCJDbWQiOlsiYmFzaCJdLCJBcmdzRXNjYXBlZCI6dHJ1ZSwiSW1hZ2UiOiJzaGEyNTY6MzhhZDJmYmM5ZjljMGE4N2RmZTBhMmIxOWJkY2E5NGJlNDVmNDY2M2Y3M2ZkMDlmZWZlZTQ5MmFmZDJjMDE0NCIsIlZvbHVtZXMiOm51bGwsIldvcmtpbmdEaXIiOiIiLCJFbnRyeXBvaW50IjpbImRvY2tlci1lbnRyeXBvaW50LnNoIl0sIk9uQnVpbGQiOm51bGwsIkxhYmVscyI6bnVsbH0sImNvbnRhaW5lciI6IjRiMDU0NmZhNDlkZjVkY2FlZDViNjYzNzE3ZjQ0MmNlZjcxYTFiOTVjMGZmYjQyYzhjNWNlNzIzMWI5MGMwMjYiLCJjb250YWluZXJfY29uZmlnIjp7Ikhvc3RuYW1lIjoiNGIwNTQ2ZmE0OWRmIiwiRG9tYWlubmFtZSI6IiIsIlVzZXIiOiIiLCJBdHRhY2hTdGRpbiI6ZmFsc2UsIkF0dGFjaFN0ZG91dCI6ZmFsc2UsIkF0dGFjaFN0ZGVyciI6ZmFsc2UsIlR0eSI6ZmFsc2UsIk9wZW5TdGRpbiI6ZmFsc2UsIlN0ZGluT25jZSI6ZmFsc2UsIkVudiI6WyJQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2JpbiIsIl9CQVNIX0dQR19LRVk9N0MwMTM1RkIwODhBQUY2QzY2QzY1MEI5QkI1ODY5RjA2NEVBNzRBQiIsIl9CQVNIX1ZFUlNJT049NS4wIiwiX0JBU0hfUEFUQ0hfTEVWRUw9MCIsIl9CQVNIX0xBVEVTVF9QQVRDSD03Il0sIkNtZCI6WyIvYmluL3NoIiwiLWMiLCIjKG5vcCkgIiwiQ01EIFtcImJhc2hcIl0iXSwiQXJnc0VzY2FwZWQiOnRydWUsIkltYWdlIjoic2hhMjU2OjM4YWQyZmJjOWY5YzBhODdkZmUwYTJiMTliZGNhOTRiZTQ1ZjQ2NjNmNzNmZDA5ZmVmZWU0OTJhZmQyYzAxNDQiLCJWb2x1bWVzIjpudWxsLCJXb3JraW5nRGlyIjoiIiwiRW50cnlwb2ludCI6WyJkb2NrZXItZW50cnlwb2ludC5zaCJdLCJPbkJ1aWxkIjpudWxsLCJMYWJlbHMiOnt9fSwiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuNTI3NTE1OTAyWiIsImRvY2tlcl92ZXJzaW9uIjoiMTguMDYuMS1jZSIsImhpc3RvcnkiOlt7ImNyZWF0ZWQiOiIyMDE5LTA3LTExVDIyOjIwOjUyLjEzOTcwOTM1NVoiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQUREIGZpbGU6MGViNWVhMzU3NDFkMjNmZTM5Y2JhYzI0NWIzYTVkODQ4NTZlZDYzODRmNGZmMDdkNDk2MzY5ZWU2ZDk2MGJhZCBpbiAvICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTFUMjI6MjA6NTIuMzc1Mjg2NDA0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgQ01EIFtcIi9iaW4vc2hcIl0iLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxMy41Njc2Njk4MTJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfR1BHX0tFWT03QzAxMzVGQjA4OEFBRjZDNjZDNjUwQjlCQjU4NjlGMDY0RUE3NEFCIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuNzQ1NjUyMDk4WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1ZFUlNJT049NS4wIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuOTQwNDU1NDE5WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1BBVENIX0xFVkVMPTAiLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxNC4wOTkzMDAwNzVaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfTEFURVNUX1BBVENIPTciLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNjowNS45Mjg0MjkyNjJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgc2V0IC1ldXg7IFx0XHRhcGsgYWRkIC0tbm8tY2FjaGUgLS12aXJ0dWFsIC5idWlsZC1kZXBzIFx0XHRiaXNvbiBcdFx0Y29yZXV0aWxzIFx0XHRkcGtnLWRldiBkcGtnIFx0XHRnY2MgXHRcdGdudXBnIFx0XHRsaWJjLWRldiBcdFx0bWFrZSBcdFx0bmN1cnNlcy1kZXYgXHRcdHBhdGNoIFx0XHR0YXIgXHQ7IFx0XHR2ZXJzaW9uPVwiJF9CQVNIX1ZFUlNJT05cIjsgXHRpZiBbIFwiJF9CQVNIX1BBVENIX0xFVkVMXCIgLWd0IDAgXTsgdGhlbiBcdFx0dmVyc2lvbj1cIiR2ZXJzaW9uLiRfQkFTSF9QQVRDSF9MRVZFTFwiOyBcdGZpOyBcdHdnZXQgLU8gYmFzaC50YXIuZ3ogXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6XCI7IFx0d2dldCAtTyBiYXNoLnRhci5nei5zaWcgXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6LnNpZ1wiOyBcdFx0aWYgWyBcIiRfQkFTSF9MQVRFU1RfUEFUQ0hcIiAtZ3QgXCIkX0JBU0hfUEFUQ0hfTEVWRUxcIiBdOyB0aGVuIFx0XHRta2RpciAtcCBiYXNoLXBhdGNoZXM7IFx0XHRmaXJzdD1cIiQocHJpbnRmICclMDNkJyBcIiQoKCBfQkFTSF9QQVRDSF9MRVZFTCArIDEgKSlcIilcIjsgXHRcdGxhc3Q9XCIkKHByaW50ZiAnJTAzZCcgXCIkX0JBU0hfTEFURVNUX1BBVENIXCIpXCI7IFx0XHRmb3IgcGF0Y2ggaW4gJChzZXEgLXcgXCIkZmlyc3RcIiBcIiRsYXN0XCIpOyBkbyBcdFx0XHR1cmw9XCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJF9CQVNIX1ZFUlNJT04tcGF0Y2hlcy9iYXNoJHtfQkFTSF9WRVJTSU9OLy8uL30tJHBhdGNoXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoXCIgXCIkdXJsXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoLnNpZ1wiIFwiJHVybC5zaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0XHRleHBvcnQgR05VUEdIT01FPVwiJChta3RlbXAgLWQpXCI7IFx0Z3BnIC0tYmF0Y2ggLS1rZXlzZXJ2ZXIgaGEucG9vbC5za3Mta2V5c2VydmVycy5uZXQgLS1yZWN2LWtleXMgXCIkX0JBU0hfR1BHX0tFWVwiOyBcdGdwZyAtLWJhdGNoIC0tdmVyaWZ5IGJhc2gudGFyLmd6LnNpZyBiYXNoLnRhci5nejsgXHRncGdjb25mIC0ta2lsbCBhbGw7IFx0cm0gYmFzaC50YXIuZ3ouc2lnOyBcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBzaWcgaW4gYmFzaC1wYXRjaGVzLyouc2lnOyBkbyBcdFx0XHRwPVwiJHtzaWclLnNpZ31cIjsgXHRcdFx0Z3BnIC0tYmF0Y2ggLS12ZXJpZnkgXCIkc2lnXCIgXCIkcFwiOyBcdFx0XHRybSBcIiRzaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0cm0gLXJmIFwiJEdOVVBHSE9NRVwiOyBcdFx0bWtkaXIgLXAgL3Vzci9zcmMvYmFzaDsgXHR0YXIgXHRcdC0tZXh0cmFjdCBcdFx0LS1maWxlPWJhc2gudGFyLmd6IFx0XHQtLXN0cmlwLWNvbXBvbmVudHM9MSBcdFx0LS1kaXJlY3Rvcnk9L3Vzci9zcmMvYmFzaCBcdDsgXHRybSBiYXNoLnRhci5nejsgXHRcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBwIGluIGJhc2gtcGF0Y2hlcy8qOyBkbyBcdFx0XHRwYXRjaCBcdFx0XHRcdC0tZGlyZWN0b3J5PS91c3Ivc3JjL2Jhc2ggXHRcdFx0XHQtLWlucHV0PVwiJChyZWFkbGluayAtZiBcIiRwXCIpXCIgXHRcdFx0XHQtLXN0cmlwPTAgXHRcdFx0OyBcdFx0XHRybSBcIiRwXCI7IFx0XHRkb25lOyBcdFx0cm1kaXIgYmFzaC1wYXRjaGVzOyBcdGZpOyBcdFx0Y2QgL3Vzci9zcmMvYmFzaDsgXHRnbnVBcmNoPVwiJChkcGtnLWFyY2hpdGVjdHVyZSAtLXF1ZXJ5IERFQl9CVUlMRF9HTlVfVFlQRSlcIjsgXHQuL2NvbmZpZ3VyZSBcdFx0LS1idWlsZD1cIiRnbnVBcmNoXCIgXHRcdC0tZW5hYmxlLXJlYWRsaW5lIFx0XHQtLXdpdGgtY3Vyc2VzIFx0XHQtLXdpdGhvdXQtYmFzaC1tYWxsb2MgXHR8fCB7IFx0XHRjYXQgXHUwMDNlXHUwMDI2MiBjb25maWcubG9nOyBcdFx0ZmFsc2U7IFx0fTsgXHRtYWtlIC1qIFwiJChucHJvYylcIjsgXHRtYWtlIGluc3RhbGw7IFx0Y2QgLzsgXHRybSAtciAvdXNyL3NyYy9iYXNoOyBcdFx0cm0gLXIgXHRcdC91c3IvbG9jYWwvc2hhcmUvZG9jL2Jhc2gvKi5odG1sIFx0XHQvdXNyL2xvY2FsL3NoYXJlL2luZm8gXHRcdC91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIFx0XHQvdXNyL2xvY2FsL3NoYXJlL21hbiBcdDsgXHRcdHJ1bkRlcHM9XCIkKCBcdFx0c2NhbmVsZiAtLW5lZWRlZCAtLW5vYmFubmVyIC0tZm9ybWF0ICclbiNwJyAtLXJlY3Vyc2l2ZSAvdXNyL2xvY2FsIFx0XHRcdHwgdHIgJywnICdcXG4nIFx0XHRcdHwgc29ydCAtdSBcdFx0XHR8IGF3ayAnc3lzdGVtKFwiWyAtZSAvdXNyL2xvY2FsL2xpYi9cIiAkMSBcIiBdXCIpID09IDAgeyBuZXh0IH0geyBwcmludCBcInNvOlwiICQxIH0nIFx0KVwiOyBcdGFwayBhZGQgLS1uby1jYWNoZSAtLXZpcnR1YWwgLmJhc2gtcnVuZGVwcyAkcnVuRGVwczsgXHRhcGsgZGVsIC5idWlsZC1kZXBzOyBcdFx0WyBcIiQod2hpY2ggYmFzaClcIiA9ICcvdXNyL2xvY2FsL2Jpbi9iYXNoJyBdOyBcdGJhc2ggLS12ZXJzaW9uOyBcdFsgXCIkKGJhc2ggLWMgJ2VjaG8gXCIke0JBU0hfVkVSU0lPTiUlW14wLTkuXSp9XCInKVwiID0gXCIke19CQVNIX1ZFUlNJT04lJS0qfS4kX0JBU0hfTEFURVNUX1BBVENIXCIgXTsifSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjE2NDEyODQxMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQ09QWSBmaWxlOjY1MWIzYmViZWJhOGJlOTE2MmM1NmIzZWI1NjExOTk5MDUyMzVmM2UxYzc4MTEyMzJiNmM5ZjQ4YWMzMzM2NTEgaW4gL3Vzci9sb2NhbC9iaW4vICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuMzE5Mzc1ODg0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5UUllQT0lOVCBbXCJkb2NrZXItZW50cnlwb2ludC5zaFwiXSIsImVtcHR5X2xheWVyIjp0cnVlfSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjUyNzUxNTkwMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIENNRCBbXCJiYXNoXCJdIiwiZW1wdHlfbGF5ZXIiOnRydWV9XSwib3MiOiJsaW51eCIsInJvb3RmcyI6eyJ0eXBlIjoibGF5ZXJzIiwiZGlmZl9pZHMiOlsic2hhMjU2OjFiZmVlYmQ2NTMyM2I4ZGRmNWJkNmE1MWNjNzA5N2I3Mjc4OGJjOTgyZTlhYjMyODBkNTNkM2M2MTNhZGZmYTciLCJzaGEyNTY6NDgzYzk4MGFjNmFiZjYzZmM0ZDcyNjJiMTdhMTk1NGQ2MjI2NmRhYzMwMjliNWJlMzg0ZDAzYjM5MjI5ODAzZSIsInNoYTI1Njo1ZjVmOTNhOTMzMDUyMTBhOTZjYzQxN2Y1NzlkNzBhNDk2YmJmMGRiOGU4MGVhMWU5NDM2NjgyYzM3OWYyNWQ5Il19fQ==",
+ "headers": {
+ "Content-Length": 5635
+ }
+ },
+ "307": {
+ "headers": {
+ "Location": "https://csharpsdktest.azurecr.io/v2/prod/bash/blobs/sha256:3131d2b2b3352091117a3abe745d01a3fed472b7327c3183602247937800e3a6"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetBlobChunk.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetBlobChunk.json
new file mode 100644
index 000000000000..12671ea6b036
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetBlobChunk.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "prod/bash",
+ "digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39",
+ "Range": "bytes=0-299"
+ },
+ "responses": {
+ "206": {
+ "body": "eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iLCJfQkFTSF9HUEdfS0VZPTdDMDEzNUZCMDg4QUFGNkM2NkM2NTBCOUJC",
+ "headers": {
+ "Content-Length": "300",
+ "Content-Range": "bytes 0-299/5635"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetBlobStatus.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetBlobStatus.json
new file mode 100644
index 000000000000..03da3ca3fcd9
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetBlobStatus.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "nextBlobUuidLink": "v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9"
+ },
+ "responses": {
+ "204": {
+ "headers": {
+ "Range": "0-0",
+ "Docker-Upload-Uuid": "2b28c60d-d296-44b7-b2b4-1f01c63195c6"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetDockerRegistryV2Support.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetDockerRegistryV2Support.json
new file mode 100644
index 000000000000..181e2eec438e
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetDockerRegistryV2Support.json
@@ -0,0 +1,8 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetManifest.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetManifest.json
new file mode 100644
index 000000000000..2768e76d6a0d
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetManifest.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "hello-world-dangling",
+ "reference": "20190628-033033z",
+ "accept": "application/vnd.docker.distribution.manifest.v2+json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "schemaVersion": 2,
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "config": {
+ "mediaType": "application/vnd.docker.container.image.v1+json",
+ "size": 5824,
+ "digest": "sha256:691fbc2d44fff48357bba69ab0505b9bf12b2b250a925a84a0b8e8e7eed390b2"
+ },
+ "layers": [
+ {
+ "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
+ "size": 2014658,
+ "digest": "sha256:a073c86ecf9e0f29180e80e9638d4c741970695851ea48247276c32c57e40282"
+ },
+ {
+ "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
+ "size": 19778035,
+ "digest": "sha256:0e28711eb56d78f1e3dfde1807eba529d1346222bcd07d1cb1e436a18a0388bd"
+ },
+ {
+ "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
+ "size": 1074044,
+ "digest": "sha256:e460dd483fddb555911f7ed188c319fd97542c60e36843dcb1c5d753f733e1fa"
+ },
+ {
+ "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
+ "size": 5827,
+ "digest": "sha256:6aa301222093bfb8cf424ccb387f59e2c9510c3a30cca7fbcf8c954f88e6600c"
+ },
+ {
+ "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
+ "size": 568,
+ "digest": "sha256:9c5d80083a57d565f684e0155707204d497a5ad965279f92927452f15dae17e6"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetManifestAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetManifestAttributes.json
new file mode 100644
index 000000000000..a8163814b8c1
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetManifestAttributes.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver",
+ "reference": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "nanoserver",
+ "manifest": {
+ "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086",
+ "imageSize": 2401606,
+ "createdTime": "2018-09-06T06:17:20.9983915Z",
+ "lastUpdateTime": "2018-09-06T06:17:20.9983915Z",
+ "architecture": "amd64",
+ "os": "windows",
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "configMediaType": "application/vnd.docker.container.image.v1+json",
+ "tags": [
+ "4.7.2-20180905-nanoserver-1803"
+ ],
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetManifestList.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetManifestList.json
new file mode 100644
index 000000000000..08eaec214eca
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetManifestList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "nanoserver",
+ "manifests": [
+ {
+ "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086",
+ "imageSize": 2401606,
+ "createdTime": "2018-09-06T06:17:20.9983915Z",
+ "lastUpdateTime": "2018-09-06T06:17:20.9983915Z",
+ "architecture": "amd64",
+ "os": "windows",
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "configMediaType": "application/vnd.docker.container.image.v1+json",
+ "tags": [
+ "4.7.2-20180905-nanoserver-1803"
+ ],
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ },
+ {
+ "digest": "sha256:7af5cd1dde3e8f5c2c9103860afa4ca871a6075373b6564b0e7b1b47866dab52",
+ "imageSize": 4135121,
+ "createdTime": "2018-09-07T16:30:46.5651701Z",
+ "lastUpdateTime": "2018-09-07T16:30:46.5651701Z",
+ "architecture": "amd64",
+ "os": "windows",
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "configMediaType": "application/vnd.docker.container.image.v1+json",
+ "tags": [
+ "4.7.2-20180906-nanoserver-1803"
+ ],
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetRepositoryAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetRepositoryAttributes.json
new file mode 100644
index 000000000000..c6791683bfd2
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetRepositoryAttributes.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "nanoserver",
+ "createdTime": "2018-09-06T06:17:20.9531248Z",
+ "lastUpdateTime": "2018-09-07T16:30:46.6583219Z",
+ "manifestCount": 2,
+ "tagCount": 2,
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetRepositoryList.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetRepositoryList.json
new file mode 100644
index 000000000000..4b6864e0ea95
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetRepositoryList.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "repositories": [
+ "production/alpine",
+ "testing/alpine"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetTagAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetTagAttributes.json
new file mode 100644
index 000000000000..ed58c44d6f71
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetTagAttributes.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "test/bash",
+ "reference": "sha256:eabe547f78d4c18c708dd97ec3166cf7464cc651f1cbb67e7afas407405b7ad7b6"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "test/bash",
+ "tag": {
+ "name": "tagName",
+ "digest": "sha256:eabe547f78d4c18c708dd97ec3166cf7464cc651f1cbb67e70d407405b7ad7b6",
+ "createdTime": "2018-10-05T20:54:24.1286047Z",
+ "lastUpdateTime": "2018-10-05T20:54:24.1286047Z",
+ "signed": false,
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": false,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetTagList.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetTagList.json
new file mode 100644
index 000000000000..e5342cd2295f
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetTagList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "nanoserver",
+ "tags": [
+ {
+ "name": "4.7.2-20180905-nanoserver-1803",
+ "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086",
+ "createdTime": "2018-09-06T06:17:21.0856539Z",
+ "lastUpdateTime": "2018-09-06T06:17:21.0856539Z",
+ "signed": false,
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ },
+ {
+ "name": "4.7.2-20180906-nanoserver-1803",
+ "digest": "sha256:7af5cd1dde3e8f5c2c9103860afa4ca871a6075373b6564b0e7b1b47866dab52",
+ "createdTime": "2018-09-06T16:30:43.3860166Z",
+ "lastUpdateTime": "2018-09-07T16:30:46.7022734Z",
+ "signed": false,
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/MountBlob.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/MountBlob.json
new file mode 100644
index 000000000000..45623b98265b
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/MountBlob.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "newimage",
+ "mount": "prod/bash",
+ "from": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "/v2/somethingnew/blobs/sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39",
+ "Docker-Content-Digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/PostAccessToken.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/PostAccessToken.json
new file mode 100644
index 000000000000..a4e6293133b5
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/PostAccessToken.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "grant_type": "refresh_token",
+ "service": "someregistry.azurecr.io",
+ "scope": "registry:catalog:*",
+ "refresh_token": "eyJ0eXAiOiJKJhbGci1dCI6IkN0ZlFDOExlLTMejlnIiwidGlkIjoiNzJmOTgWItMmQ3Y2QwMTFkYjQ3Ii..."
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "access_token": "eyJ0eXAiOiJKJhbGcigdCI6IkN0ZlFaOExlLTMejlnIiwidGlkIjoiNzbmOTgWItMmQ3Y2QwMTFkYjQ3Ii..."
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/PostRefreshToken.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/PostRefreshToken.json
new file mode 100644
index 000000000000..768ca1680ba1
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/PostRefreshToken.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "grant_type": "access_token",
+ "url": "acrapi.azurecr-test.io",
+ "service": "someregistry.azurecr.io",
+ "tenant": "02f900bf-86f1-31af-p1ab-2b7cd0nndb47",
+ "accessToken": "eyJ0eXAiOiJKJhbGci1dCI6IkN0ZlFDOExlLTMejlnIiwidGlkIjoiNzJmOTgWItMmQ3Y2QwMTFkYjQ3Ii..."
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "refresh_token": "eyJ0eXAiOiJKJhbGcigdCI6IkN0ZlFaOExlLTMejlnIiwidGlkIjoiNzbmOTgWItMmQ3Y2QwMTFkYjQ3Ii..."
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/StartBlobUpload.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/StartBlobUpload.json
new file mode 100644
index 000000000000..38d70c467e5f
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/StartBlobUpload.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "newimg"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "/v2/blobland/blobs/uploads/f6d3451c-3352-43ff-b67c-fd0cfc793066?_nouploadcache=false&_state=iWTaVpaWiz23JTt8ZsYFPEU5JwLOFgdumWOmqGxIYGt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiJmNmQzNDUxYy0zMzUyLTQzZmYtYjY3Yy1mZDBjZmM3OTMwNjYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NTQuNTM1MDQ5ODY1WiJ9",
+ "Range": "0-0",
+ "Docker-Upload-Uuid": "f6d3451c-3352-43ff-b67c-fd0cfc793066"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/UpdateManifestAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/UpdateManifestAttributes.json
new file mode 100644
index 000000000000..4c25514ab2f2
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/UpdateManifestAttributes.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver",
+ "reference": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086",
+ "value": "{\"writeEnabled\": false}"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/UpdateRepositoryAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/UpdateRepositoryAttributes.json
new file mode 100644
index 000000000000..14a61f118d0f
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/UpdateRepositoryAttributes.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver",
+ "value": {
+ "writeEnabled": false
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/UpdateTagAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/UpdateTagAttributes.json
new file mode 100644
index 000000000000..16e13e3c4ec2
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/UpdateTagAttributes.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver",
+ "reference": "4.7.2-20180905-nanoserver-1803",
+ "value": "{\"writeEnabled\": false}"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/UploadBlob.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/UploadBlob.json
new file mode 100644
index 000000000000..7add0750729c
--- /dev/null
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/UploadBlob.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "nextBlobUuidLink": "v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9",
+ "value": "U29tZXRoaW5nRWxzZQ=="
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "/v2/blobland/blobs/uploads/f6d3451c-3352-43ff-b67c-fd0cfc793066?_nouploadcache=false&_state=9G2t2KQOw-ANeo5TrnwVb5OeAUIe0NaEJ2jxwLT6Y1J7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiJmNmQzNDUxYy0zMzUyLTQzZmYtYjY3Yy1mZDBjZmM3OTMwNjYiLCJPZmZzZXQiOjEzLCJTdGFydGVkQXQiOiIyMDE5LTA4LTI3VDIzOjUyOjU0WiJ9",
+ "Range": "0-12",
+ "Docker-Upload-Uuid": "f6d3451c-3352-43ff-b67c-fd0cfc793066"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/readme.go.md b/specification/containerregistry/data-plane/readme.go.md
index 97ef4154aa73..f82d86b06f25 100644
--- a/specification/containerregistry/data-plane/readme.go.md
+++ b/specification/containerregistry/data-plane/readme.go.md
@@ -8,6 +8,13 @@ go:
namespace: containerregistry
clear-output-folder: true
add-credentials: true
+
+ # Non standard header use, still awaiting checks here
+ directive:
+ - remove-operation: UploadBlobChunkSpecified
+ - remove-operation: UploadBlobChunk
+ - remove-model: UploadBlobChunkSpecifiedHeaders
+ - remove-model: UploadBlobChunkHeaders
```
### Go multi-api
diff --git a/specification/containerregistry/data-plane/readme.md b/specification/containerregistry/data-plane/readme.md
index 2ad5a15737c2..f305b4cb02a2 100644
--- a/specification/containerregistry/data-plane/readme.md
+++ b/specification/containerregistry/data-plane/readme.md
@@ -26,7 +26,23 @@ These are the global settings for the ContainerRegistry API.
``` yaml
# common
openapi-type: data-plane
-tag: package-2019-07
+tag: package-2019-08
+```
+### Tag: package-2019-08
+
+These settings apply only when `--tag=package-2019-08` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-08'
+input-file:
+- Microsoft.ContainerRegistry/preview/2019-08-15/containerregistry.json
+# This override adds support for directly passing in the acquired location link (Since it starts with /)
+# It also caters to passing it without / as some implementations may remove the initial / .
+directive:
+ - from: source-file-csharp
+ where: $
+ transform: >-
+ return $.
+ replace( /_url = _url.Replace\("\{nextBlobUuidLink\}", location\);/g, "_url = _url.Replace(location.StartsWith(\"/\") ? \"/{nextBlobUuidLink}\" : \"{nextBlobUuidLink}\", location);")
```
### Tag: package-2019-07
@@ -45,6 +61,7 @@ These settings apply only when `--tag=package-2018-08` is specified on the comma
``` yaml $(tag) == 'package-2018-08'
input-file:
- Microsoft.ContainerRegistry/preview/2018-08-10/containerregistry.json
+
```
---
@@ -71,7 +88,7 @@ csharp:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: Microsoft.Azure.ContainerRegistry
sync-methods: None
- output-folder: $(csharp-sdks-folder)/ContainerRegistry/preview/Microsoft.Azure.ContainerRegistry/src/Generated
+ output-folder: $(csharp-sdks-folder)/ContainerRegistry/Microsoft.Azure.ContainerRegistry/src/Generated
clear-output-folder: true
add-credentials: true
```
@@ -96,8 +113,31 @@ directive:
reason: No content is returned by put Manifest in compliance with Docker's own specs for compatibility purposes. Specifics https://docs.docker.com/registry/spec/api/#put-manifest
from: containerregistry.json
where: $.paths["/v2/{name}/manifests/{reference}"].put.responses["201"]
+ - suppress: LROStatusCodesReturnTypeSchema
+ reason: No content is returned by put End Upload in compliance with Docker's own specs for compatibility purposes. Specifics https://docs.docker.com/v17.12/registry/spec/api/
+ from: containerregistry.json
+ where: $.paths["/{nextBlobUuidLink}"].put.responses["201"]
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: These default values are specified by the Open Container Initiative. Used for cross compatibility. Specifics https://github.com/opencontainers/image-spec/blob/master/annotations.md#rules
+ from: containerregistry.json
+ where:
+ - $.definitions.Platform.properties["os.version"]
+ - $.definitions.Platform.properties["os.features"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.created"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.authors"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.url"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.documentation"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.source"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.version"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.revision"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.vendor"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.licenses"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.ref.name"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.title"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.description"]
```
-## Multi-API/Profile support for AutoRest v3 generators
+
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -109,16 +149,16 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.ContainerRegistry/preview/2019-08-15/containerregistry.json
- $(this-folder)/Microsoft.ContainerRegistry/preview/2019-07-15/containerregistry.json
- $(this-folder)/Microsoft.ContainerRegistry/preview/2018-08-10/containerregistry.json
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
+#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
index d6b9e854eb3e..15025d2d8d7f 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
@@ -137,7 +137,7 @@
"description": "The request was successful; the operation will complete asynchronously."
},
"204": {
- "description": "The scope map does not exist in the subscription."
+ "description": "The scopemap does not exist in the subscription."
}
},
"x-ms-examples": {
@@ -572,7 +572,7 @@
}
},
"actions": {
- "description": "The list of scoped permissions for registry artifacts.\r\nE.g. repositories/repository-name/pull, \r\nrepositories/repository-name/delete",
+ "description": "The list of scoped permissions for registry artifacts.\r\nE.g. repositories/repository-name/content/read,\r\nrepositories/repository-name/metadata/write",
"type": "array",
"items": {
"type": "string"
@@ -688,7 +688,7 @@
],
"type": "string",
"x-ms-enum": {
- "name": "Status",
+ "name": "TokenStatus",
"modelAsString": true
}
}
@@ -748,7 +748,7 @@
"properties": {
"creationTime": {
"format": "date-time",
- "description": "The password created datetime of the password.",
+ "description": "The creation datetime of the password.",
"type": "string"
},
"expiry": {
@@ -757,7 +757,7 @@
"type": "string"
},
"name": {
- "description": "The password name \"password\" or \"password2\"",
+ "description": "The password name \"password1\" or \"password2\"",
"enum": [
"password1",
"password2"
@@ -802,7 +802,7 @@
],
"type": "string",
"x-ms-enum": {
- "name": "Status",
+ "name": "TokenStatus",
"modelAsString": true
}
},
@@ -844,7 +844,7 @@
"type": "string"
},
"name": {
- "description": "Specifies name of the password which should be regenerated if any -- password or password2.",
+ "description": "Specifies name of the password which should be regenerated if any -- password1 or password2.",
"enum": [
"password1",
"password2"
@@ -939,7 +939,7 @@
"type": "string",
"maxLength": 50,
"minLength": 5,
- "pattern": "^[a-zA-Z0-9-]*$",
+ "pattern": "^[a-zA-Z0-9-_]*$",
"x-ms-parameter-location": "method"
},
"TokenNameParameter": {
diff --git a/specification/containerregistry/resource-manager/readme.md b/specification/containerregistry/resource-manager/readme.md
index 2d47f5dc7df7..9bd95f9c2829 100644
--- a/specification/containerregistry/resource-manager/readme.md
+++ b/specification/containerregistry/resource-manager/readme.md
@@ -37,6 +37,7 @@ These settings apply only when `--tag=package-2019-06-preview` is specified on t
input-file:
- Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json
- Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
+- Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
```
### Tag: package-2019-06-preview-only
@@ -213,9 +214,9 @@ require: $(this-folder)/../../../profiles/readme.md
input-file:
- $(this-folder)/Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json
- $(this-folder)/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
+ - $(this-folder)/Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
- $(this-folder)/Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json
- $(this-folder)/Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json
- - $(this-folder)/Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
- $(this-folder)/Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json
- $(this-folder)/Microsoft.ContainerRegistry/preview/2018-02-01-preview/containerregistry_build.json
- $(this-folder)/Microsoft.ContainerRegistry/preview/2017-06-01-preview/containerregistry.json
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..40603034764f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersCreate_Update.json
@@ -0,0 +1,208 @@
+{
+ "parameters": {
+ "api-version": "2019-04-30",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "properties": {
+ "openShiftVersion": "v3.11",
+ "networkProfile": {
+ "vnetCidr": "10.0.0.0/8"
+ },
+ "masterPoolProfile": {
+ "name": "master",
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "osType": "Linux",
+ "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": [
+ {
+ "name": "default"
+ }
+ ],
+ "authProfile": {
+ "identityProviders": [
+ {
+ "name": "Azure AD",
+ "provider": {
+ "kind": "AADIdentityProvider",
+ "clientId": "clientId",
+ "secret": "secret",
+ "tenantId": "tenantId",
+ "customerAdminGroupId": "customerAdminGroupId"
+ }
+ }
+ ]
+ },
+ "monitorProfile": {
+ "enabled": true,
+ "workspaceResourceID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.OperationalInsights/workspaces/workspacename1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/openShiftManagedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/OpenShiftManagedClusters",
+ "properties": {
+ "provisioningState": "Updating",
+ "openShiftVersion": "v3.11",
+ "clusterVersion": "osa.1",
+ "fqdn": "df9337748a4b.location1.cloudapp.azure.com",
+ "publicHostname": "openshift.1225bdf9337748a4bd3a.location1.azmosa.io",
+ "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": [
+ {
+ "name": "default",
+ "fqdn": "osa2925bdf9337748f4bd3b.location1.cloudapp.azure.com",
+ "publicSubdomain": "apps.bc309ee87c164153871c.location1.azmosa.io"
+ }
+ ],
+ "authProfile": {
+ "identityProviders": [
+ {
+ "name": "Azure AD",
+ "provider": {
+ "kind": "AADIdentityProvider",
+ "clientId": "clientId",
+ "tenantId": "tenantId",
+ "customerAdminGroupId": "customerAdminGroupId"
+ }
+ }
+ ]
+ },
+ "monitorProfile": {
+ "enabled": true,
+ "workspaceResourceID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.OperationalInsights/workspaces/workspacename1"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/openShiftManagedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/OpenShiftManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "openShiftVersion": "v3.11",
+ "clusterVersion": "osa.1",
+ "fqdn": "df9337748a4b.location1.cloudapp.azure.com",
+ "networkProfile": {
+ "vnetCidr": "10.0.0.0/8"
+ },
+ "masterPoolProfile": {
+ "name": "master",
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "osType": "Linux",
+ "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": [
+ {
+ "name": "default"
+ }
+ ],
+ "authProfile": {
+ "identityProviders": [
+ {
+ "name": "Azure AD",
+ "provider": {
+ "kind": "AADIdentityProvider",
+ "clientId": "clientId",
+ "tenantId": "tenantId",
+ "customerAdminGroupId": "customerAdminGroupId"
+ }
+ }
+ ]
+ },
+ "monitorProfile": {
+ "enabled": true,
+ "workspaceResourceID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.OperationalInsights/workspaces/workspacename1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersDelete.json
new file mode 100644
index 000000000000..43c149041644
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-04-30",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersGet.json
new file mode 100644
index 000000000000..82292227d55d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersGet.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "api-version": "2019-04-30",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/openShiftManagedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/OpenShiftManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "openShiftVersion": "v3.11",
+ "clusterVersion": "osa.1",
+ "fqdn": "df9337748a4b.location1.cloudapp.azure.com",
+ "publicHostname": "openshift.1225bdf9337748a4bd3a.location1.azmosa.io",
+ "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": [
+ {
+ "name": "default",
+ "fqdn": "osa2925bdf9337748f4bd3b.location1.cloudapp.azure.com",
+ "publicSubdomain": "apps.bc309ee87c164153871c.location1.azmosa.io"
+ }
+ ],
+ "authProfile": {
+ "identityProviders": [
+ {
+ "name": "Azure AD",
+ "provider": {
+ "kind": "AADIdentityProvider",
+ "clientId": "clientId",
+ "tenantId": "tenantId",
+ "customerAdminGroupId": "customerAdminGroupId"
+ }
+ }
+ ]
+ },
+ "monitorProfile": {
+ "enabled": true,
+ "workspaceResourceID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.OperationalInsights/workspaces/workspacename1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersList.json
new file mode 100644
index 000000000000..d14c7f622c3f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersList.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "api-version": "2019-04-30",
+ "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.11",
+ "clusterVersion": "osa.1",
+ "fqdn": "df9337748a4b.location1.cloudapp.azure.com",
+ "publicHostname": "openshift.1225bdf9337748a4bd3a.location1.azmosa.io",
+ "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": [
+ {
+ "name": "default",
+ "fqdn": "osa2925bdf9337748f4bd3b.location1.cloudapp.azure.com",
+ "publicSubdomain": "apps.bc309ee87c164153871c.location1.azmosa.io"
+ }
+ ],
+ "authProfile": {
+ "identityProviders": [
+ {
+ "name": "Azure AD",
+ "provider": {
+ "kind": "AADIdentityProvider",
+ "clientId": "clientId",
+ "tenantId": "tenantId",
+ "customerAdminGroupId": "customerAdminGroupId"
+ }
+ }
+ ]
+ },
+ "monitorProfile": {
+ "enabled": true,
+ "workspaceResourceID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.OperationalInsights/workspaces/workspacename1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..6194db0580d0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersListByResourceGroup.json
@@ -0,0 +1,81 @@
+{
+ "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.11",
+ "clusterVersion": "osa.1",
+ "fqdn": "df9337748a4b.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": [
+ {
+ "name": "default",
+ "fqdn": "dce5faa189c841b99f8a.location1.cloudapp.azure.com",
+ "publicSubdomain": "b788fade68d345da9b77.location1.int.aksapp.io"
+ }
+ ],
+ "authProfile": {
+ "identityProviders": [
+ {
+ "name": "Azure AD",
+ "provider": {
+ "kind": "AADIdentityProvider",
+ "clientId": "clientId",
+ "tenantId": "tenantId",
+ "customerAdminGroupId": "customerAdminGroupId"
+ }
+ }
+ ]
+ },
+ "monitorProfile": {
+ "enabled": true,
+ "workspaceResourceID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.OperationalInsights/workspaces/workspacename1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..f2bf294aacbd
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/examples/OpenShiftManagedClustersUpdateTags.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2019-04-30",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/openShiftManagedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv3": "",
+ "tier": "testing"
+ },
+ "type": "Microsoft.ContainerService/OpenShiftManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "openShiftVersion": "v3.11",
+ "fqdn": "df9337748a4b.location1.cloudapp.azure.com",
+ "publicHostname": "openshift.1225bdf9337748a4bd3a.location1.azmosa.io",
+ "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": [
+ {
+ "name": "default",
+ "fqdn": "osa2925bdf9337748f4bd3b.location1.cloudapp.azure.com",
+ "publicSubdomain": "apps.bc309ee87c164153871c.location1.azmosa.io"
+ }
+ ],
+ "authProfile": {
+ "identityProviders": [
+ {
+ "name": "Azure AD",
+ "provider": {
+ "kind": "AADIdentityProvider",
+ "clientId": "clientId",
+ "tenantId": "tenantId",
+ "customerAdminGroupId": "customerAdminGroupId"
+ }
+ }
+ ]
+ },
+ "monitorProfile": {
+ "enabled": true,
+ "workspaceResourceID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.OperationalInsights/workspaces/workspacename1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json
new file mode 100644
index 000000000000..182a9619d34f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json
@@ -0,0 +1,821 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2019-09-30-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}/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.",
+ "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 OpenShift managed cluster resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OpenShiftManagedCluster"
+ }
+ },
+ "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-examples": {
+ "Get OpenShift Managed Cluster": {
+ "$ref": "./examples/OpenShiftManagedClustersGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "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.",
+ "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 OpenShift managed cluster resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OpenShiftManagedCluster"
+ },
+ "description": "Parameters supplied to the Create or Update an OpenShift Managed Cluster operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OpenShiftManagedCluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/OpenShiftManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.If any of the input parameters is wrong, 400(Bad Request) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update OpenShift Managed Cluster": {
+ "$ref": "./examples/OpenShiftManagedClustersCreate_Update.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "OpenShiftManagedClusters"
+ ],
+ "operationId": "OpenShiftManagedClusters_UpdateTags",
+ "summary": "Updates tags on an OpenShift managed cluster.",
+ "description": "Updates an OpenShift 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 OpenShift managed cluster resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update OpenShift Managed Cluster Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OpenShiftManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned. If any of the input parameters is wrong, 400(Bad Request) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update OpenShift Managed Cluster Tags": {
+ "$ref": "./examples/OpenShiftManagedClustersUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "OpenShiftManagedClusters"
+ ],
+ "operationId": "OpenShiftManagedClusters_Delete",
+ "summary": "Deletes an OpenShift managed cluster.",
+ "description": "Deletes the OpenShift 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 OpenShift managed cluster resource."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete OpenShift Managed Cluster": {
+ "$ref": "./examples/OpenShiftManagedClustersDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "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",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "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."
+ },
+ "PurchasePlan": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The plan ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element."
+ },
+ "promotionCode": {
+ "type": "string",
+ "description": "The promotion code."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The plan ID."
+ }
+ },
+ "description": "Used for establishing the purchase context of any 3rd Party artifact through MarketPlace."
+ },
+ "OpenShiftRouterProfile": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the router profile."
+ },
+ "publicSubdomain": {
+ "type": "string",
+ "readOnly": true,
+ "description": "DNS subdomain for OpenShift router."
+ },
+ "fqdn": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Auto-allocated FQDN for the OpenShift router."
+ }
+ },
+ "description": "Represents an OpenShift router"
+ },
+ "NetworkProfile": {
+ "properties": {
+ "vnetCidr": {
+ "type": "string",
+ "description": "CIDR for the OpenShift Vnet.",
+ "default": "10.0.0.0/8"
+ },
+ "peerVnetId": {
+ "type": "string",
+ "description": "CIDR of the Vnet to peer."
+ },
+ "vnetId": {
+ "type": "string",
+ "description": "ID of the Vnet created for OSA cluster."
+ }
+ },
+ "description": "Represents the OpenShift networking configuration"
+ },
+ "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."
+ },
+ "OpenShiftContainerServiceVMSize": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OpenShiftContainerServiceVMSize",
+ "modelAsString": true
+ },
+ "description": "Size of OpenShift VMs.",
+ "enum": [
+ "Standard_D2s_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": {
+ "type": "string",
+ "enum": [
+ "compute",
+ "infra"
+ ],
+ "x-ms-enum": {
+ "name": "OpenShiftAgentPoolProfileRole",
+ "modelAsString": true
+ },
+ "description": "OpenShiftAgentPoolProfileRole represents the role of the AgentPoolProfile."
+ },
+ "OpenShiftManagedClusterMasterPoolProfile": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Unique name of the master pool profile in the context of the subscription and resource group."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of masters (VMs) to host docker containers. The default value is 3."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/OpenShiftContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "subnetCidr": {
+ "type": "string",
+ "description": "Subnet CIDR for the peering."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ }
+ },
+ "required": [
+ "count",
+ "vmSize"
+ ],
+ "description": "OpenShiftManagedClusterMaterPoolProfile contains configuration for OpenShift master VMs."
+ },
+ "OpenShiftManagedClusterAgentPoolProfile": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Unique name of the pool profile in the context of the subscription and resource group."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of agents (VMs) to host docker containers."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/OpenShiftContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "subnetCidr": {
+ "type": "string",
+ "description": "Subnet CIDR for the peering.",
+ "default": "10.0.0.0/24"
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "role": {
+ "description": "Define the role of the AgentPoolProfile.",
+ "$ref": "#/definitions/OpenShiftAgentPoolProfileRole"
+ }
+ },
+ "required": [
+ "name",
+ "count",
+ "vmSize"
+ ],
+ "description": "Defines the configuration of the OpenShift cluster VMs."
+ },
+ "OpenShiftManagedClusterIdentityProvider": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the provider."
+ },
+ "provider": {
+ "$ref": "#/definitions/OpenShiftManagedClusterBaseIdentityProvider",
+ "description": "Configuration of the provider."
+ }
+ },
+ "description": "Defines the configuration of the identity providers to be used in the OpenShift cluster."
+ },
+ "OpenShiftManagedClusterAuthProfile": {
+ "properties": {
+ "identityProviders": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OpenShiftManagedClusterIdentityProvider"
+ },
+ "description": "Type of authentication profile to use."
+ }
+ },
+ "description": "Defines all possible authentication profiles for the OpenShift cluster."
+ },
+ "OpenShiftManagedClusterMonitorProfile": {
+ "properties": {
+ "workspaceResourceID": {
+ "type": "string",
+ "description": "Azure Resource Manager Resource ID for the Log Analytics workspace to integrate with."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "If the Log analytics integration should be turned on or off"
+ }
+ },
+ "description": "Defines the configuration for Log Analytics integration."
+ },
+ "OpenShiftManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "openShiftVersion": {
+ "type": "string",
+ "description": "Version of OpenShift specified when creating the cluster."
+ },
+ "clusterVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Version of OpenShift specified when creating the cluster."
+ },
+ "publicHostname": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Service generated FQDN for OpenShift API server."
+ },
+ "fqdn": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Service generated FQDN for OpenShift API server loadbalancer internal hostname."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfile",
+ "description": "Configuration for OpenShift networking."
+ },
+ "routerProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OpenShiftRouterProfile"
+ },
+ "description": "Configuration for OpenShift router(s)."
+ },
+ "masterPoolProfile": {
+ "$ref": "#/definitions/OpenShiftManagedClusterMasterPoolProfile",
+ "description": "Configuration for OpenShift master VMs."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OpenShiftManagedClusterAgentPoolProfile"
+ },
+ "description": "Configuration of OpenShift cluster VMs."
+ },
+ "authProfile": {
+ "$ref": "#/definitions/OpenShiftManagedClusterAuthProfile",
+ "description": "Configures OpenShift authentication."
+ },
+ "monitorProfile": {
+ "$ref": "#/definitions/OpenShiftManagedClusterMonitorProfile",
+ "description": "Configures Log Analytics integration."
+ }
+ },
+ "required": [
+ "openShiftVersion"
+ ],
+ "description": "Properties of the OpenShift managed cluster."
+ },
+ "OpenShiftManagedCluster": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "plan": {
+ "description": "Define the resource plan as required by ARM for billing purposes",
+ "$ref": "#/definitions/PurchasePlan"
+ },
+ "properties": {
+ "description": "Properties of a OpenShift managed cluster.",
+ "$ref": "#/definitions/OpenShiftManagedClusterProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "OpenShift Managed cluster."
+ },
+ "OpenShiftManagedClusterBaseIdentityProvider": {
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ],
+ "properties": {
+ "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."
+ },
+ "customerAdminGroupId": {
+ "type": "string",
+ "description": "The groupId to be granted cluster admin role."
+ }
+ }
+ }
+ ],
+ "description": "Defines the Identity provider for MS AAD."
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "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": {
+ "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"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
index 3868b81f6dbb..3e2fbfba505f 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -3,13 +3,12 @@
"api-version": "2019-06-01",
"subscriptionId": "subid1",
"resourceGroupName": "rg1",
- "resourceName": "clustername1",
- "agentPoolName": "agentpool1"
+ "resourceName": "clustername1"
},
"responses": {
"200": {
"body": {
- "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/availableAgentpoolVersions",
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions",
"name": "default",
"properties": {
"agentPoolVersions": [
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
index 9655fa38ca30..57e98ffa0c12 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
@@ -779,7 +779,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/availableAgentPoolVersions": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": {
"get": {
"tags": [
"AgentPools"
@@ -799,13 +799,6 @@
},
{
"$ref": "#/parameters/ResourceNameParameter"
- },
- {
- "name": "agentPoolName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the agent pool."
}
],
"responses": {
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
index 129163ee9cff..4d438925d3e1 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -3,13 +3,12 @@
"api-version": "2019-08-01",
"subscriptionId": "subid1",
"resourceGroupName": "rg1",
- "resourceName": "clustername1",
- "agentPoolName": "agentpool1"
+ "resourceName": "clustername1"
},
"responses": {
"200": {
"body": {
- "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/availableAgentpoolVersions",
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions",
"name": "default",
"properties": {
"agentPoolVersions": [
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
index 47fcacb975ff..ba737fe8743d 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
@@ -779,7 +779,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/availableAgentPoolVersions": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": {
"get": {
"tags": [
"AgentPools"
@@ -799,13 +799,6 @@
},
{
"$ref": "#/parameters/ResourceNameParameter"
- },
- {
- "name": "agentPoolName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the agent pool."
}
],
"responses": {
diff --git a/specification/containerservice/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md
index 5f6a07e8b77b..a0cc0ff00cc0 100644
--- a/specification/containerservice/resource-manager/readme.go.md
+++ b/specification/containerservice/resource-manager/readme.go.md
@@ -16,6 +16,7 @@ batch:
- tag: package-2019-06
- tag: package-2019-04
- tag: package-2019-02
+ - tag: package-2019-09-30-preview
- tag: package-2018-09-30-preview
- tag: package-2018-08-preview
- tag: package-2018-03
@@ -74,6 +75,16 @@ namespace: containerservice
output-folder: $(go-sdk-folder)/services/preview/containerservice/mgmt/2018-09-30-preview/containerservice
```
+### Tag: package-2019-09-30-preview and go
+
+These settings apply only when `--package-2019-09-30-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2019-09-30-preview' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice
+```
+
### Tag: package-2018-08-preview and go
These settings apply only when `--package-2018-08-preview --go` is specified on the command line.
diff --git a/specification/containerservice/resource-manager/readme.java.md b/specification/containerservice/resource-manager/readme.java.md
index f91e0036361c..91bf924baddb 100644
--- a/specification/containerservice/resource-manager/readme.java.md
+++ b/specification/containerservice/resource-manager/readme.java.md
@@ -17,6 +17,20 @@ description: "Container Service Client"
``` yaml $(java) && $(multiapi)
batch:
- tag: package-2019-06
+ - tag: package-2019-08
+```
+
+### Tag: package-2019-08 and java
+
+These settings apply only when `--tag=package-2019-08` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-08' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2019_08_01
+ output-folder: $(azure-libraries-for-java-folder)/containerservice/resource-manager/v2019_08_01
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-2019-06 and java
diff --git a/specification/containerservice/resource-manager/readme.md b/specification/containerservice/resource-manager/readme.md
index ed0ece1b2398..b641c3f5375d 100644
--- a/specification/containerservice/resource-manager/readme.md
+++ b/specification/containerservice/resource-manager/readme.md
@@ -37,6 +37,18 @@ openapi-type: arm
tag: package-2019-08
```
+### Tag: package-2019-09-30-preview
+
+These settings apply only when `--tag=package-2019-09-30-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-09-30-preview'
+input-file:
+ - Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json
+ - Microsoft.ContainerService/stable/2017-07-01/containerService.json
+ - Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
+ - Microsoft.ContainerService/stable/2019-08-01/location.json
+```
+
### Tag: package-2019-08
@@ -213,6 +225,15 @@ input-file:
- Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json
```
+### Tag: package-2019-09-preview-only
+
+These settings apply only when `--tag=package-2019-09-preview-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-09-preview-only'
+input-file:
+- Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json
+```
+
### Tag: package-2018-03-only
These settings apply only when `--tag=package-2018-03-only` is specified on the command line.
@@ -352,10 +373,11 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- - $(this-folder)/Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
+ - $(this-folder)/Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json
- $(this-folder)/Microsoft.ContainerService/stable/2017-07-01/containerService.json
- - $(this-folder)/Microsoft.ContainerService/stable/2019-08-01/location.json
- $(this-folder)/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
+ - $(this-folder)/Microsoft.ContainerService/stable/2019-08-01/location.json
+ - $(this-folder)/Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
- $(this-folder)/Microsoft.ContainerService/stable/2019-06-01/location.json
- $(this-folder)/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
- $(this-folder)/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json
diff --git a/specification/containerservice/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md
index 6823a0015142..5e21eda2ecea 100644
--- a/specification/containerservice/resource-manager/readme.python.md
+++ b/specification/containerservice/resource-manager/readme.python.md
@@ -24,6 +24,7 @@ batch:
- tag: package-2019-04-01-only
- tag: package-2019-02-only
- tag: package-2018-09-preview-only
+ - tag: package-2019-09-preview-only
- tag: package-2018-08-preview-only
- tag: package-2018-03-only
- tag: package-2017-07-only-extended
@@ -126,3 +127,14 @@ python:
namespace: azure.mgmt.containerservice.v2017_07_01
output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2017_07_01
```
+
+### Tag: package-2019-09-preview-only and python
+
+These settings apply only when `--tag=package-2019-09-preview-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-09-preview-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2019_09_30_preview
+ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2019_09_30_preview
+```
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateLinkResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateLinkResourceGet.json
new file mode 100644
index 000000000000..9be3abe573c0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateLinkResourceGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2015-04-08",
+ "groupName": "sql"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql",
+ "name": "sql",
+ "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources",
+ "properties": {
+ "groupId": "sql",
+ "requiredMembers": [
+ "ddb1",
+ "ddb1-westus"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateLinkResourceListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateLinkResourceListGet.json
new file mode 100644
index 000000000000..92f822d3d525
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateLinkResourceListGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2015-04-08"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql",
+ "name": "sql",
+ "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources",
+ "properties": {
+ "groupId": "sql",
+ "requiredMembers": [
+ "ddb1",
+ "ddb1-westus"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
new file mode 100644
index 000000000000..0cf77f13eb4a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
@@ -0,0 +1,176 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2019-08-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.DocumentDB/databaseAccounts/{accountName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets the private link resources that need to be created for a Cosmos DB account.",
+ "operationId": "PrivateLinkResources_ListByDatabaseAccount",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "parameters": [
+ {
+ "$ref": "../../stable/2019-08-01/cosmos-db.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2019-08-01/cosmos-db.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../stable/2019-08-01/cosmos-db.json#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "../../stable/2019-08-01/cosmos-db.json#/parameters/accountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private link resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/CosmosDBPrivateLinkResourceListGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets the private link resources that need to be created for a Cosmos DB account.",
+ "operationId": "PrivateLinkResources_Get",
+ "parameters": [
+ {
+ "$ref": "../../stable/2019-08-01/cosmos-db.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2019-08-01/cosmos-db.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../stable/2019-08-01/cosmos-db.json#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "../../stable/2019-08-01/cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a specified private link resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/CosmosDBPrivateLinkResourceGet.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateLinkResourceListResult": {
+ "description": "A list of private link resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../stable/2019-08-01/cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ]
+ },
+ "PrivateLinkResourceProperties": {
+ "description": "Properties of a private link resource.",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "GroupNameParameter": {
+ "name": "groupName",
+ "in": "path",
+ "description": "The name of the private link resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
index b1f3a328b89f..15b7e026040c 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
@@ -5582,7 +5582,7 @@
"None",
"Average",
"Total",
- "Minimimum",
+ "Minimum",
"Maximum",
"Last"
],
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json
new file mode 100644
index 000000000000..f64180f96abb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json
@@ -0,0 +1,7011 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2019-08-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.DocumentDB/databaseAccounts/{accountName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_Get",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGet": {
+ "$ref": "./examples/CosmosDBDatabaseAccountGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The database account properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountGetResults"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "DatabaseAccounts_Patch",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountPatch": {
+ "$ref": "./examples/CosmosDBDatabaseAccountPatch.json"
+ }
+ },
+ "description": "Patches the properties of an existing Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "updateParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountPatchParameters"
+ },
+ "description": "The tags parameter to patch for the current database account."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The properties of the database account were patched successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_CreateOrUpdate",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountCreateMin": {
+ "$ref": "./examples/CosmosDBDatabaseAccountCreateMin.json"
+ },
+ "CosmosDBDatabaseAccountCreateMax": {
+ "$ref": "./examples/CosmosDBDatabaseAccountCreateMax.json"
+ }
+ },
+ "description": "Creates or updates an Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "createUpdateParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current database account."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The database account create or update operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_Delete",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountDelete": {
+ "$ref": "./examples/CosmosDBDatabaseAccountDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The database account delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The specified account does not exist in the subscription."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange": {
+ "post": {
+ "operationId": "DatabaseAccounts_FailoverPriorityChange",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountFailoverPriorityChange": {
+ "$ref": "./examples/CosmosDBDatabaseAccountFailoverPriorityChange.json"
+ }
+ },
+ "description": "Changes the failover priority for the Azure Cosmos DB database account. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "failoverParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FailoverPolicies"
+ },
+ "description": "The new failover policies for the database account."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The failover policy change operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts": {
+ "get": {
+ "operationId": "DatabaseAccounts_List",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountList": {
+ "$ref": "./examples/CosmosDBDatabaseAccountList.json"
+ }
+ },
+ "description": "Lists all the Azure Cosmos DB database accounts available under the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts": {
+ "get": {
+ "operationId": "DatabaseAccounts_ListByResourceGroup",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListByResourceGroup": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the Azure Cosmos DB database accounts available under the given resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys": {
+ "post": {
+ "operationId": "DatabaseAccounts_ListKeys",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListKeys": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListKeys.json"
+ }
+ },
+ "description": "Lists the access keys for the specified Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountListKeysResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings": {
+ "post": {
+ "operationId": "DatabaseAccounts_ListConnectionStrings",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListConnectionStrings": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStrings.json"
+ },
+ "CosmosDBDatabaseAccountListConnectionStringsMongo": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json"
+ }
+ },
+ "description": "Lists the connection strings for the specified Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountListConnectionStringsResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion": {
+ "post": {
+ "operationId": "DatabaseAccounts_OfflineRegion",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountOfflineRegion": {
+ "$ref": "./examples/CosmosDBDatabaseAccountOfflineRegion.json"
+ }
+ },
+ "description": "Offline the specified region for the specified Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "regionParameterForOffline",
+ "in": "body",
+ "required": true,
+ "description": "Cosmos DB region to offline for the database account.",
+ "schema": {
+ "$ref": "#/definitions/RegionForOnlineOffline"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The offline region operation is completed successfully."
+ },
+ "202": {
+ "description": "Accepted. The offline region operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion": {
+ "post": {
+ "operationId": "DatabaseAccounts_OnlineRegion",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountOnlineRegion": {
+ "$ref": "./examples/CosmosDBDatabaseAccountOnlineRegion.json"
+ }
+ },
+ "description": "Online the specified region for the specified Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "regionParameterForOnline",
+ "in": "body",
+ "required": true,
+ "description": "Cosmos DB region to online for the database account.",
+ "schema": {
+ "$ref": "#/definitions/RegionForOnlineOffline"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The online region operation is completed successfully."
+ },
+ "202": {
+ "description": "Accepted. The online region operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys": {
+ "get": {
+ "operationId": "DatabaseAccounts_GetReadOnlyKeys",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListReadOnlyKeys": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json"
+ }
+ },
+ "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "DatabaseAccounts_ListReadOnlyKeys",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListReadOnlyKeys": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json"
+ }
+ },
+ "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey": {
+ "post": {
+ "operationId": "DatabaseAccounts_RegenerateKey",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegenerateKey": {
+ "$ref": "./examples/CosmosDBDatabaseAccountRegenerateKey.json"
+ }
+ },
+ "description": "Regenerates an access key for the specified Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "keyToRegenerate",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountRegenerateKeyParameters"
+ },
+ "description": "The name of the key to regenerate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted. The regenerate key operation will complete asynchronously."
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}": {
+ "head": {
+ "operationId": "DatabaseAccounts_CheckNameExists",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountCheckNameExists": {
+ "$ref": "./examples/CosmosDBDatabaseAccountCheckNameExists.json"
+ }
+ },
+ "description": "Checks that the Azure Cosmos DB account name already exists. A valid account name may contain only lowercase letters, numbers, and the '-' character, and must be between 3 and 50 characters.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The account name is valid but is already in use."
+ },
+ "404": {
+ "description": "Not Found. The account name is available and valid."
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DocumentDB/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Cosmos DB Resource Provider operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "CosmosDBOperationsList": {
+ "$ref": "./examples/CosmosDBOperationsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics": {
+ "get": {
+ "operationId": "DatabaseAccounts_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGetMetrics": {
+ "$ref": "./examples/CosmosDBDatabaseAccountGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics": {
+ "get": {
+ "operationId": "Database_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseGetMetrics": {
+ "$ref": "./examples/CosmosDBDatabaseGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account and database.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics": {
+ "get": {
+ "operationId": "Collection_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBCollectionGetMetrics": {
+ "$ref": "./examples/CosmosDBCollectionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account and collection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics": {
+ "get": {
+ "operationId": "CollectionRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBRegionCollectionGetMetrics": {
+ "$ref": "./examples/CosmosDBRegionCollectionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account, collection and region.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics": {
+ "get": {
+ "operationId": "DatabaseAccountRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBDatabaseAccountRegionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account and region.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics": {
+ "get": {
+ "operationId": "PercentileSourceTarget_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPercentileSourceTargetGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given account, source and target region. This url is only for PBS and Replication Latency data",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/sourceRegionParameter"
+ },
+ {
+ "$ref": "#/parameters/targetRegionParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The percentile metrics for the account, source and target regions were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PercentileMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics": {
+ "get": {
+ "operationId": "PercentileTarget_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPercentileTargetGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given account target region. This url is only for PBS and Replication Latency data",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/targetRegionParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The percentile metrics for the account and target regions were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PercentileMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics": {
+ "get": {
+ "operationId": "Percentile_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPercentileGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account. This url is only for PBS and Replication Latency data",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The percentile metrics for the account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PercentileMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": {
+ "get": {
+ "operationId": "CollectionPartitionRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBCollectionPartitionRegionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given collection and region, split by partition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the collection and region were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": {
+ "get": {
+ "operationId": "CollectionPartition_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBCollectionPartitionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given collection, split by partition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the collection were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": {
+ "get": {
+ "operationId": "PartitionKeyRangeId_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPKeyRangeIdGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given partition key range id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/partitionKeyRangeIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the partition key range id were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": {
+ "get": {
+ "operationId": "PartitionKeyRangeIdRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPKeyRangeIdRegionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given partition key range id and region.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/partitionKeyRangeIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the partition key range id and region were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages": {
+ "get": {
+ "operationId": "DatabaseAccounts_ListUsages",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGetUsages": {
+ "$ref": "./examples/CosmosDBDatabaseAccountGetUsages.json"
+ }
+ },
+ "description": "Retrieves the usages (most recent data) for the given database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/UsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages": {
+ "get": {
+ "operationId": "Database_ListUsages",
+ "x-ms-examples": {
+ "CosmosDBDatabaseGetUsages": {
+ "$ref": "./examples/CosmosDBDatabaseGetUsages.json"
+ }
+ },
+ "description": "Retrieves the usages (most recent data) for the given database.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for the database were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/UsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages": {
+ "get": {
+ "operationId": "Collection_ListUsages",
+ "x-ms-examples": {
+ "CosmosDBCollectionGetUsages": {
+ "$ref": "./examples/CosmosDBCollectionGetUsages.json"
+ }
+ },
+ "description": "Retrieves the usages (most recent storage data) for the given collection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for the collection were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/UsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages": {
+ "get": {
+ "operationId": "CollectionPartition_ListUsages",
+ "x-ms-examples": {
+ "CosmosDBCollectionGetUsages": {
+ "$ref": "./examples/CosmosDBCollectionPartitionGetUsages.json"
+ }
+ },
+ "description": "Retrieves the usages (most recent storage data) for the given collection, split by partition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for the collection, per partition were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionUsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions": {
+ "get": {
+ "operationId": "Database_ListMetricDefinitions",
+ "x-ms-examples": {
+ "CosmosDBDatabaseGetMetricDefinitions": {
+ "$ref": "./examples/CosmosDBDatabaseGetMetricDefinitions.json"
+ }
+ },
+ "description": "Retrieves metric definitions for the given database.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metric definitions for the database were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricDefinitionsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions": {
+ "get": {
+ "operationId": "Collection_ListMetricDefinitions",
+ "x-ms-examples": {
+ "CosmosDBCollectionGetMetricDefinitions": {
+ "$ref": "./examples/CosmosDBCollectionGetMetricDefinitions.json"
+ }
+ },
+ "description": "Retrieves metric definitions for the given collection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metric definitions for the collection were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricDefinitionsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions": {
+ "get": {
+ "operationId": "DatabaseAccounts_ListMetricDefinitions",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGetMetricDefinitions": {
+ "$ref": "./examples/CosmosDBDatabaseAccountGetMetricDefinitions.json"
+ }
+ },
+ "description": "Retrieves metric definitions for the given database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metric definitions for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricDefinitionsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases": {
+ "get": {
+ "operationId": "SqlResources_ListSqlDatabases",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseList": {
+ "$ref": "./examples/CosmosDBSqlDatabaseList.json"
+ }
+ },
+ "description": "Lists the SQL databases under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL database properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlDatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlDatabase",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseGet": {
+ "$ref": "./examples/CosmosDBSqlDatabaseGet.json"
+ }
+ },
+ "description": "Gets the SQL database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL database property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlDatabase",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlDatabaseCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlDatabaseParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlDatabaseCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL database create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL database create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlDatabase",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseDelete": {
+ "$ref": "./examples/CosmosDBSqlDatabaseDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL database.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL database delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL database delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default": {
+ "get": {
+ "operationId": "SqlResources_GetSqlDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseThroughputGet": {
+ "$ref": "./examples/CosmosDBSqlDatabaseThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the SQL database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the SQL database was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_UpdateSqlDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseThroughputUpdate": {
+ "$ref": "./examples/CosmosDBSqlDatabaseThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB SQL database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The parameters to provide for the RUs per second of the current SQL database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the SQL database update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the SQL database update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers": {
+ "get": {
+ "operationId": "SqlResources_ListSqlContainers",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerList": {
+ "$ref": "./examples/CosmosDBSqlContainerList.json"
+ }
+ },
+ "description": "Lists the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL container properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerGet": {
+ "$ref": "./examples/CosmosDBSqlContainerGet.json"
+ }
+ },
+ "description": "Gets the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL container property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlContainerCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL container",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlContainerParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlContainerCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL container."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL container create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerDelete": {
+ "$ref": "./examples/CosmosDBSqlContainerDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL container.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL container delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default": {
+ "get": {
+ "operationId": "SqlResources_GetSqlContainerThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerThroughputGet": {
+ "$ref": "./examples/CosmosDBSqlContainerThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the SQL container was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_UpdateSqlContainerThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerThroughputUpdate": {
+ "$ref": "./examples/CosmosDBSqlContainerThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB SQL container",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The parameters to provide for the RUs per second of the current SQL container."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the SQL container update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the SQL container update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/": {
+ "get": {
+ "operationId": "SqlResources_ListSqlStoredProcedures",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureList": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureList.json"
+ }
+ },
+ "description": "Lists the SQL storedProcedure under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL stored procedure properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureGet": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureGet.json"
+ }
+ },
+ "description": "Gets the SQL storedProcedure under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL storedProcedure property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL storedProcedure",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlStoredProcedureParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL storedProcedure."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL storedProcedure create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL storedProcedure create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureDelete": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL storedProcedure.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL storedProcedure delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL storedProcedure delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/": {
+ "get": {
+ "operationId": "SqlResources_ListSqlUserDefinedFunctions",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionList": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionList.json"
+ }
+ },
+ "description": "Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL userDefinedFunction properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionGet": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionGet.json"
+ }
+ },
+ "description": "Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL userDefinedFunction property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL userDefinedFunction",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlUserDefinedFunctionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL userDefinedFunction."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL userDefinedFunction create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL userDefinedFunction create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionDelete": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL userDefinedFunction.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL userDefinedFunction delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL userDefinedFunction delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/": {
+ "get": {
+ "operationId": "SqlResources_ListSqlTriggers",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerList": {
+ "$ref": "./examples/CosmosDBSqlTriggerList.json"
+ }
+ },
+ "description": "Lists the SQL trigger under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL trigger properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerGet": {
+ "$ref": "./examples/CosmosDBSqlTriggerGet.json"
+ }
+ },
+ "description": "Gets the SQL trigger under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL trigger property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlTriggerCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL trigger",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlTriggerParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL trigger."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL trigger create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL trigger create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerDelete": {
+ "$ref": "./examples/CosmosDBSqlTriggerDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL trigger.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL trigger delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL trigger delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases": {
+ "get": {
+ "operationId": "MongoDBResources_ListMongoDBDatabases",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseList": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseList.json"
+ }
+ },
+ "description": "Lists the MongoDB databases under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB database properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseGet": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseGet.json"
+ }
+ },
+ "description": "Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB database property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_CreateUpdateMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseCreateUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseCreateUpdate.json"
+ }
+ },
+ "description": "Create or updates Azure Cosmos DB MongoDB database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "createUpdateMongoDBDatabaseParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current MongoDB database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB database create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MongoDBResources_DeleteMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseDelete": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB MongoDB database.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The MongoDB database delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseThroughputGet": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the MongoDB database was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_UpdateMongoDBDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseThroughputUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of the an Azure Cosmos DB MongoDB database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current MongoDB database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the MongoDB database update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the MongoDB database update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections": {
+ "get": {
+ "operationId": "MongoDBResources_ListMongoDBCollections",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionList": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionList.json"
+ }
+ },
+ "description": "Lists the MongoDB collection under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB collection properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionGet": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionGet.json"
+ }
+ },
+ "description": "Gets the MongoDB collection under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB collection property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_CreateUpdateMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionCreateUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB MongoDB Collection",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "createUpdateMongoDBCollectionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current MongoDB Collection."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB Collection create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB Collection create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MongoDBResources_DeleteMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionDelete": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB MongoDB Collection.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB collection delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The MongoDB collection delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBCollectionThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionThroughputGet": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the MongoDB collection was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_UpdateMongoDBCollectionThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionThroughputUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionThroughputUpdate.json"
+ }
+ },
+ "description": "Update the RUs per second of an Azure Cosmos DB MongoDB collection",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current MongoDB collection."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the MongoDB collection update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the MongoDB collection update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": {
+ "get": {
+ "operationId": "TableResources_ListTables",
+ "x-ms-examples": {
+ "CosmosDBTableList": {
+ "$ref": "./examples/CosmosDBTableList.json"
+ }
+ },
+ "description": "Lists the Tables under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Table properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": {
+ "get": {
+ "operationId": "TableResources_GetTable",
+ "x-ms-examples": {
+ "CosmosDBTableGet": {
+ "$ref": "./examples/CosmosDBTableGet.json"
+ }
+ },
+ "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Table property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "TableResources_CreateUpdateTable",
+ "x-ms-examples": {
+ "CosmosDBTableReplace": {
+ "$ref": "./examples/CosmosDBTableCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "createUpdateTableParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TableCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Table create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "TableResources_DeleteTable",
+ "x-ms-examples": {
+ "CosmosDBTableDelete": {
+ "$ref": "./examples/CosmosDBTableDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Table.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Table delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default": {
+ "get": {
+ "operationId": "TableResources_GetTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableThroughputGet": {
+ "$ref": "./examples/CosmosDBTableThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Table was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "TableResources_UpdateTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableThroughputUpdate": {
+ "$ref": "./examples/CosmosDBTableThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The parameters to provide for the RUs per second of the current Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Table update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Table update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces": {
+ "get": {
+ "operationId": "CassandraResources_ListCassandraKeyspaces",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceList": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceList.json"
+ }
+ },
+ "description": "Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra keyspace properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceGet": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceGet.json"
+ }
+ },
+ "description": "Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra keyspace property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_CreateUpdateCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceCreateUpdate": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Cassandra keyspace",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "createUpdateCassandraKeyspaceParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Cassandra keyspace."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra keyspace create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra keyspace create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CassandraResources_DeleteCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceDelete": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Cassandra keyspace.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra keyspace delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Cassandra keyspace delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraKeyspaceThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceThroughputGet": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Cassandra Keyspace was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_UpdateCassandraKeyspaceThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceThroughputUpdate": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Cassandra Keyspace",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Cassandra Keyspace."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Cassandra Keyspace update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Cassandra Keyspace update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables": {
+ "get": {
+ "operationId": "CassandraResources_ListCassandraTables",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableList": {
+ "$ref": "./examples/CosmosDBCassandraTableList.json"
+ }
+ },
+ "description": "Lists the Cassandra table under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra table properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableGet": {
+ "$ref": "./examples/CosmosDBCassandraTableGet.json"
+ }
+ },
+ "description": "Gets the Cassandra table under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra table property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_CreateUpdateCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableCreateUpdate": {
+ "$ref": "./examples/CosmosDBCassandraTableCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Cassandra Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "createUpdateCassandraTableParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CassandraTableCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Cassandra Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra Table create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra Table create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CassandraResources_DeleteCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableDelete": {
+ "$ref": "./examples/CosmosDBCassandraTableDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Cassandra table.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra table delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Cassandra table delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableThroughputGet": {
+ "$ref": "./examples/CosmosDBCassandraTableThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Cassandra table was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_UpdateCassandraTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableThroughputUpdate": {
+ "$ref": "./examples/CosmosDBCassandraTableThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Cassandra table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Cassandra table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Cassandra table update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Cassandra table update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases": {
+ "get": {
+ "operationId": "GremlinResources_ListGremlinDatabases",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseList": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseList.json"
+ }
+ },
+ "description": "Lists the Gremlin databases under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin database properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseGet": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseGet.json"
+ }
+ },
+ "description": "Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin database property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_CreateUpdateGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseCreateUpdate": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Gremlin database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "createUpdateGremlinDatabaseParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Gremlin database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin database create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "GremlinResources_DeleteGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseDelete": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Gremlin database.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Gremlin database delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseThroughputGet": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Gremlin database was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_UpdateGremlinDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseThroughputUpdate": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Gremlin database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Gremlin database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Gremlin database update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Gremlin database update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs": {
+ "get": {
+ "operationId": "GremlinResources_ListGremlinGraphs",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphList": {
+ "$ref": "./examples/CosmosDBGremlinGraphList.json"
+ }
+ },
+ "description": "Lists the Gremlin graph under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin graph properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphGet": {
+ "$ref": "./examples/CosmosDBGremlinGraphGet.json"
+ }
+ },
+ "description": "Gets the Gremlin graph under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin graph property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_CreateUpdateGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphCreateUpdate": {
+ "$ref": "./examples/CosmosDBGremlinGraphCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Gremlin graph",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "createUpdateGremlinGraphParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Gremlin graph."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin graph create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "GremlinResources_DeleteGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphDelete": {
+ "$ref": "./examples/CosmosDBGremlinGraphDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Gremlin graph.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Gremlin graph delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinGraphThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphThroughputGet": {
+ "$ref": "./examples/CosmosDBGremlinGraphThroughputGet.json"
+ }
+ },
+ "description": "Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Gremlin graph was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_UpdateGremlinGraphThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphThroughputUpdate": {
+ "$ref": "./examples/CosmosDBGremlinGraphThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Gremlin graph",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Gremlin graph."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Gremlin graph update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Gremlin graph update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DatabaseAccountsListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabaseAccountGetResults"
+ },
+ "description": "List of database account and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the database accounts and their properties."
+ },
+ "SqlDatabaseListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlDatabaseGetResults"
+ },
+ "description": "List of SQL databases and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the SQL databases and their properties."
+ },
+ "SqlContainerListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlContainerGetResults"
+ },
+ "description": "List of containers and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the containers and their properties."
+ },
+ "SqlStoredProcedureListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlStoredProcedureGetResults"
+ },
+ "description": "List of storedProcedures and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the storedProcedures and their properties."
+ },
+ "SqlUserDefinedFunctionListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetResults"
+ },
+ "description": "List of userDefinedFunctions and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the userDefinedFunctions and their properties."
+ },
+ "SqlTriggerListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlTriggerGetResults"
+ },
+ "description": "List of triggers and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the triggers and their properties."
+ },
+ "MongoDBDatabaseListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoDBDatabaseGetResults"
+ },
+ "description": "List of MongoDB databases and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the MongoDB databases and their properties."
+ },
+ "MongoDBCollectionListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoDBCollectionGetResults"
+ },
+ "description": "List of MongoDB collections and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the MongoDB collections and their properties."
+ },
+ "TableListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TableGetResults"
+ },
+ "description": "List of Table and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Table and their properties."
+ },
+ "CassandraKeyspaceListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CassandraKeyspaceGetResults"
+ },
+ "description": "List of Cassandra keyspaces and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Cassandra keyspaces and their properties."
+ },
+ "CassandraTableListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CassandraTableGetResults"
+ },
+ "description": "List of Cassandra tables and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Cassandra tables and their properties."
+ },
+ "GremlinDatabaseListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GremlinDatabaseGetResults"
+ },
+ "description": "List of Gremlin databases and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Gremlin databases and their properties."
+ },
+ "GremlinGraphListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GremlinGraphGetResults"
+ },
+ "description": "List of graphs and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the graphs and their properties."
+ },
+ "ErrorResponse": {
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ },
+ "description": "Error Response."
+ },
+ "FailoverPolicies": {
+ "properties": {
+ "failoverPolicies": {
+ "type": "array",
+ "description": "List of failover policies.",
+ "items": {
+ "$ref": "#/definitions/FailoverPolicy"
+ }
+ }
+ },
+ "required": [
+ "failoverPolicies"
+ ],
+ "description": "The list of new failover policies for the failover priority change."
+ },
+ "FailoverPolicy": {
+ "type": "object",
+ "description": "The failover policy for a given region of a database account.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unique identifier of the region in which the database account replicates to. Example: <accountName>-<locationName>."
+ },
+ "locationName": {
+ "type": "string",
+ "description": "The name of the region in which the database account exists."
+ },
+ "failoverPriority": {
+ "type": "integer",
+ "minimum": 0,
+ "format": "int32",
+ "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists."
+ }
+ }
+ },
+ "RegionForOnlineOffline": {
+ "properties": {
+ "region": {
+ "type": "string",
+ "description": "Cosmos DB region, with spaces between words and each word capitalized."
+ }
+ },
+ "required": [
+ "region"
+ ],
+ "description": "Cosmos DB region to online or offline."
+ },
+ "Location": {
+ "description": "A region in which the Azure Cosmos DB database account is deployed.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unique identifier of the region within the database account. Example: <accountName>-<locationName>."
+ },
+ "locationName": {
+ "type": "string",
+ "description": "The name of the region."
+ },
+ "documentEndpoint": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "failoverPriority": {
+ "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 0
+ },
+ "isZoneRedundant": {
+ "type": "boolean",
+ "description": "Flag to indicate whether or not this region is an AvailabilityZone region"
+ }
+ }
+ },
+ "ARMResourceProperties": {
+ "type": "object",
+ "description": "The core properties of ARM resources.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique resource identifier of the ARM resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the ARM resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ARMProxyResource": {
+ "type": "object",
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique resource identifier of the database account."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the database account."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DatabaseAccountGetResults": {
+ "description": "An Azure Cosmos DB database account.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "description": "Indicates the type of database account. This can only be set at database account creation.",
+ "type": "string",
+ "default": "GlobalDocumentDB",
+ "enum": [
+ "GlobalDocumentDB",
+ "MongoDB",
+ "Parse"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountKind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "ExtendedResourceProperties": {
+ "description": "The system generated resource properties associated with SQL databases, SQL containers, Gremlin databases and Gremlin graphs.",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "description": "A system generated property. A unique identifier.",
+ "readOnly": true
+ },
+ "_ts": {
+ "description": "A system generated property that denotes the last updated timestamp of the resource.",
+ "readOnly": true
+ },
+ "_etag": {
+ "type": "string",
+ "description": "A system generated property representing the resource etag required for optimistic concurrency control.",
+ "readOnly": true
+ }
+ }
+ },
+ "ThroughputSettingsGetResults": {
+ "description": "An Azure Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB resource throughput",
+ "$ref": "#/definitions/ThroughputSettingsGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "ThroughputSettingsGetProperties": {
+ "description": "The properties of an Azure Cosmos DB resource throughput",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ThroughputSettingsResource"
+ }
+ ]
+ },
+ "SqlDatabaseGetResults": {
+ "description": "An Azure Cosmos DB SQL database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "$ref": "#/definitions/SqlDatabaseGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "SqlDatabaseGetProperties": {
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "type": "object",
+ "properties": {
+ "_colls": {
+ "type": "string",
+ "description": "A system generated property that specified the addressable path of the collections resource."
+ },
+ "_users": {
+ "type": "string",
+ "description": "A system generated property that specifies the addressable path of the users resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlDatabaseResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "SqlContainerGetResults": {
+ "description": "An Azure Cosmos DB container.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB container",
+ "$ref": "#/definitions/SqlContainerGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "SqlContainerGetProperties": {
+ "description": "The properties of an Azure Cosmos DB container",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlContainerResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "SqlStoredProcedureGetResults": {
+ "description": "An Azure Cosmos DB storedProcedure.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB storedProcedure",
+ "$ref": "#/definitions/SqlStoredProcedureGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "SqlStoredProcedureGetProperties": {
+ "description": "The properties of an Azure Cosmos DB StoredProcedure",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlStoredProcedureResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "SqlUserDefinedFunctionGetResults": {
+ "description": "An Azure Cosmos DB userDefinedFunction.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB userDefinedFunction",
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "SqlUserDefinedFunctionGetProperties": {
+ "description": "The properties of an Azure Cosmos DB userDefinedFunction",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlUserDefinedFunctionResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "SqlTriggerGetResults": {
+ "description": "An Azure Cosmos DB trigger.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB trigger",
+ "$ref": "#/definitions/SqlTriggerGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "SqlTriggerGetProperties": {
+ "description": "The properties of an Azure Cosmos DB trigger",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlTriggerResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "MongoDBDatabaseGetResults": {
+ "description": "An Azure Cosmos DB MongoDB database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB MongoDB database",
+ "$ref": "#/definitions/MongoDBDatabaseGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "MongoDBDatabaseGetProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB database",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBDatabaseResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "MongoDBCollectionGetResults": {
+ "description": "An Azure Cosmos DB MongoDB collection.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB MongoDB collection",
+ "$ref": "#/definitions/MongoDBCollectionGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "MongoDBCollectionGetProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB collection",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBCollectionResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "TableGetResults": {
+ "description": "An Azure Cosmos DB Table.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB Table",
+ "$ref": "#/definitions/TableGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "TableGetProperties": {
+ "description": "The properties of an Azure Cosmos Table",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TableResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "CassandraKeyspaceGetResults": {
+ "description": "An Azure Cosmos DB Cassandra keyspace.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB Cassandra keyspace",
+ "$ref": "#/definitions/CassandraKeyspaceGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "CassandraKeyspaceGetProperties": {
+ "description": "The properties of an Azure Cosmos DB Cassandra keyspace",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraKeyspaceResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "CassandraTableGetResults": {
+ "description": "An Azure Cosmos DB Cassandra table.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB Cassandra table",
+ "$ref": "#/definitions/CassandraTableGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "CassandraTableGetProperties": {
+ "description": "The properties of an Azure Cosmos DB Cassandra table",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraTableResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "GremlinDatabaseGetResults": {
+ "description": "An Azure Cosmos DB Gremlin database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "$ref": "#/definitions/GremlinDatabaseGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "GremlinDatabaseGetProperties": {
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GremlinDatabaseResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "GremlinGraphGetResults": {
+ "description": "An Azure Cosmos DB Gremlin graph.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB Gremlin graph",
+ "$ref": "#/definitions/GremlinGraphGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "GremlinGraphGetProperties": {
+ "description": "The properties of an Azure Cosmos DB Gremlin graph",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GremlinGraphResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "ConsistencyPolicy": {
+ "type": "object",
+ "description": "The consistency policy for the Cosmos DB database account.",
+ "properties": {
+ "defaultConsistencyLevel": {
+ "description": "The default consistency level and configuration settings of the Cosmos DB account.",
+ "type": "string",
+ "enum": [
+ "Eventual",
+ "Session",
+ "BoundedStaleness",
+ "Strong",
+ "ConsistentPrefix"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultConsistencyLevel",
+ "modelAsString": false
+ }
+ },
+ "maxStalenessPrefix": {
+ "description": "When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 2147483647,
+ "format": "int64"
+ },
+ "maxIntervalInSeconds": {
+ "description": "When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.",
+ "type": "integer",
+ "minimum": 5,
+ "maximum": 86400,
+ "format": "int32"
+ }
+ },
+ "required": [
+ "defaultConsistencyLevel"
+ ]
+ },
+ "DatabaseAccountGetProperties": {
+ "description": "Properties for the database account.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "documentEndpoint": {
+ "description": "The connection endpoint for the Cosmos DB database account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "databaseAccountOfferType": {
+ "description": "The offer type for the Cosmos DB database account. Default value: Standard.",
+ "readOnly": true,
+ "$ref": "#/definitions/DatabaseAccountOfferType"
+ },
+ "ipRangeFilter": {
+ "description": "Cosmos DB Firewall Support: This value specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IPs for a given database account. IP addresses/ranges must be comma separated and must not contain any spaces.",
+ "$ref": "#/definitions/IPRangeFilter"
+ },
+ "isVirtualNetworkFilterEnabled": {
+ "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.",
+ "type": "boolean"
+ },
+ "enableAutomaticFailover": {
+ "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.",
+ "type": "boolean"
+ },
+ "consistencyPolicy": {
+ "description": "The consistency policy for the Cosmos DB database account.",
+ "$ref": "#/definitions/ConsistencyPolicy"
+ },
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
+ "writeLocations": {
+ "type": "array",
+ "readOnly": true,
+ "description": "An array that contains the write location for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
+ "readLocations": {
+ "type": "array",
+ "readOnly": true,
+ "description": "An array that contains of the read locations enabled for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
+ "failoverPolicies": {
+ "type": "array",
+ "readOnly": true,
+ "description": "An array that contains the regions ordered by their failover priorities.",
+ "items": {
+ "$ref": "#/definitions/FailoverPolicy"
+ }
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ }
+ },
+ "enableMultipleWriteLocations": {
+ "description": "Enables the account to write in multiple locations",
+ "type": "boolean"
+ },
+ "enableCassandraConnector": {
+ "description": "Enables the cassandra connector on the Cosmos DB C* account",
+ "type": "boolean"
+ },
+ "connectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB database C* account.",
+ "$ref": "#/definitions/ConnectorOffer"
+ }
+ }
+ },
+ "DatabaseAccountPatchProperties": {
+ "description": "Properties to update Azure Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ }
+ }
+ },
+ "DatabaseAccountCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "consistencyPolicy": {
+ "description": "The consistency policy for the Cosmos DB account.",
+ "$ref": "#/definitions/ConsistencyPolicy"
+ },
+ "locations": {
+ "type": "array",
+ "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
+ "databaseAccountOfferType": {
+ "description": "The offer type for the database",
+ "$ref": "#/definitions/DatabaseAccountOfferType"
+ },
+ "ipRangeFilter": {
+ "description": "Cosmos DB Firewall Support: This value specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IPs for a given database account. IP addresses/ranges must be comma separated and must not contain any spaces.",
+ "$ref": "#/definitions/IPRangeFilter"
+ },
+ "isVirtualNetworkFilterEnabled": {
+ "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.",
+ "type": "boolean"
+ },
+ "enableAutomaticFailover": {
+ "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.",
+ "type": "boolean"
+ },
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ }
+ },
+ "enableMultipleWriteLocations": {
+ "description": "Enables the account to write in multiple locations",
+ "type": "boolean"
+ },
+ "enableCassandraConnector": {
+ "description": "Enables the cassandra connector on the Cosmos DB C* account",
+ "type": "boolean"
+ },
+ "connectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB database C* account.",
+ "$ref": "#/definitions/ConnectorOffer"
+ }
+ },
+ "required": [
+ "locations",
+ "databaseAccountOfferType"
+ ]
+ },
+ "DatabaseAccountCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "description": "Indicates the type of database account. This can only be set at database account creation.",
+ "type": "string",
+ "default": "GlobalDocumentDB",
+ "enum": [
+ "GlobalDocumentDB",
+ "MongoDB",
+ "Parse"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountKind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "DatabaseAccountPatchParameters": {
+ "description": "Parameters for patching Azure Cosmos DB database account properties.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountPatchProperties"
+ }
+ }
+ },
+ "DatabaseAccountListReadOnlyKeysResult": {
+ "description": "The read-only access keys for the given database account.",
+ "properties": {
+ "primaryReadonlyMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the primary read-only key."
+ },
+ "secondaryReadonlyMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the secondary read-only key."
+ }
+ }
+ },
+ "DatabaseAccountListKeysResult": {
+ "description": "The access keys for the given database account.",
+ "properties": {
+ "primaryMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the primary read-write key."
+ },
+ "secondaryMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the secondary read-write key."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult"
+ }
+ ]
+ },
+ "DatabaseAccountConnectionString": {
+ "description": "Connection string for the Cosmos DB account",
+ "properties": {
+ "connectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Value of the connection string"
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Description of the connection string"
+ }
+ }
+ },
+ "DatabaseAccountListConnectionStringsResult": {
+ "description": "The connection strings for the given database account.",
+ "properties": {
+ "connectionStrings": {
+ "type": "array",
+ "description": "An array that contains the connection strings for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/DatabaseAccountConnectionString"
+ }
+ }
+ }
+ },
+ "DatabaseAccountRegenerateKeyParameters": {
+ "type": "object",
+ "description": "Parameters to regenerate the keys within the database account.",
+ "properties": {
+ "keyKind": {
+ "type": "string",
+ "description": "The access key to regenerate.",
+ "enum": [
+ "primary",
+ "secondary",
+ "primaryReadonly",
+ "secondaryReadonly"
+ ],
+ "x-ms-enum": {
+ "name": "KeyKind",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "keyKind"
+ ]
+ },
+ "DatabaseAccountOfferType": {
+ "description": "The offer type for the Cosmos DB database account.",
+ "type": "string",
+ "enum": [
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountOfferType",
+ "modelAsString": false
+ }
+ },
+ "ThroughputSettingsUpdateParameters": {
+ "description": "Parameters to update Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "$ref": "#/definitions/ThroughputSettingsUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "ThroughputSettingsUpdateProperties": {
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a resource throughput",
+ "$ref": "#/definitions/ThroughputSettingsResource"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "SqlDatabaseCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB SQL database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB SQL database.",
+ "$ref": "#/definitions/SqlDatabaseCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlDatabaseCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB SQL database.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a SQL database",
+ "$ref": "#/definitions/SqlDatabaseResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "SqlContainerCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB container.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB container.",
+ "$ref": "#/definitions/SqlContainerCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlContainerCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB container.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a container",
+ "$ref": "#/definitions/SqlContainerResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "SqlStoredProcedureCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB storedProcedure.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB storedProcedure.",
+ "$ref": "#/definitions/SqlStoredProcedureCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlStoredProcedureCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB storedProcedure.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a storedProcedure",
+ "$ref": "#/definitions/SqlStoredProcedureResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "SqlUserDefinedFunctionCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB userDefinedFunction.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.",
+ "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlUserDefinedFunctionCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a userDefinedFunction",
+ "$ref": "#/definitions/SqlUserDefinedFunctionResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "SqlTriggerCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB trigger.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB trigger.",
+ "$ref": "#/definitions/SqlTriggerCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlTriggerCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB trigger.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a trigger",
+ "$ref": "#/definitions/SqlTriggerResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "MongoDBDatabaseCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB MongoDB database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB MongoDB database.",
+ "$ref": "#/definitions/MongoDBDatabaseCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "MongoDBDatabaseCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB MongoDB database.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a MongoDB database",
+ "$ref": "#/definitions/MongoDBDatabaseResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "MongoDBCollectionCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB MongoDB collection.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB MongoDB collection.",
+ "$ref": "#/definitions/MongoDBCollectionCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "MongoDBCollectionCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB MongoDB collection.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a MongoDB collection",
+ "$ref": "#/definitions/MongoDBCollectionResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "TableCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Table.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Table.",
+ "$ref": "#/definitions/TableCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "TableCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Table.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Table",
+ "$ref": "#/definitions/TableResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "CassandraKeyspaceCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Cassandra keyspace.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.",
+ "$ref": "#/definitions/CassandraKeyspaceCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "CassandraKeyspaceCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Cassandra keyspace",
+ "$ref": "#/definitions/CassandraKeyspaceResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "CassandraTableCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Cassandra table.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Cassandra table.",
+ "$ref": "#/definitions/CassandraTableCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "CassandraTableCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Cassandra table.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Cassandra table",
+ "$ref": "#/definitions/CassandraTableResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "GremlinDatabaseCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Gremlin database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Gremlin database.",
+ "$ref": "#/definitions/GremlinDatabaseCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "GremlinDatabaseCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Gremlin database.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Gremlin database",
+ "$ref": "#/definitions/GremlinDatabaseResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "GremlinGraphCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Gremlin graph.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Gremlin graph.",
+ "$ref": "#/definitions/GremlinGraphCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "GremlinGraphCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Gremlin graph.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Gremlin graph",
+ "$ref": "#/definitions/GremlinGraphResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "ThroughputSettingsResource": {
+ "type": "object",
+ "description": "Cosmos DB resource throughput object",
+ "properties": {
+ "throughput": {
+ "type": "integer",
+ "description": "Value of the Cosmos DB resource throughput"
+ },
+ "minimumThroughput": {
+ "type": "string",
+ "description": "The minimum throughput of the resource",
+ "readOnly": true
+ },
+ "offerReplacePending": {
+ "type": "string",
+ "description": "The throughput replace is pending",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "throughput"
+ ]
+ },
+ "SqlDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL database resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL database"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "SqlContainerResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL container resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL container"
+ },
+ "indexingPolicy": {
+ "$ref": "#/definitions/IndexingPolicy",
+ "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container"
+ },
+ "partitionKey": {
+ "$ref": "#/definitions/ContainerPartitionKey",
+ "description": "The configuration of the partition key to be used for partitioning data into multiple partitions"
+ },
+ "defaultTtl": {
+ "type": "integer",
+ "description": "Default time to live"
+ },
+ "uniqueKeyPolicy": {
+ "$ref": "#/definitions/UniqueKeyPolicy",
+ "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service."
+ },
+ "conflictResolutionPolicy": {
+ "$ref": "#/definitions/ConflictResolutionPolicy",
+ "description": "The conflict resolution policy for the container."
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "IndexingPolicy": {
+ "type": "object",
+ "description": "Cosmos DB indexing policy",
+ "properties": {
+ "automatic": {
+ "type": "boolean",
+ "description": "Indicates if the indexing policy is automatic"
+ },
+ "indexingMode": {
+ "description": "Indicates the indexing mode.",
+ "type": "string",
+ "default": "Consistent",
+ "enum": [
+ "Consistent",
+ "Lazy",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "IndexingMode",
+ "modelAsString": true
+ }
+ },
+ "includedPaths": {
+ "description": "List of paths to include in the indexing",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IncludedPath"
+ }
+ },
+ "excludedPaths": {
+ "description": "List of paths to exclude from indexing",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExcludedPath"
+ }
+ }
+ }
+ },
+ "ExcludedPath": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)"
+ }
+ }
+ },
+ "IncludedPath": {
+ "type": "object",
+ "description": "The paths that are included in indexing",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)"
+ },
+ "indexes": {
+ "description": "List of indexes for this path",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Indexes"
+ }
+ }
+ }
+ },
+ "Indexes": {
+ "type": "object",
+ "description": "The indexes for the path.",
+ "properties": {
+ "dataType": {
+ "description": "The datatype for which the indexing behavior is applied to.",
+ "type": "string",
+ "default": "String",
+ "enum": [
+ "String",
+ "Number",
+ "Point",
+ "Polygon",
+ "LineString",
+ "MultiPolygon"
+ ],
+ "x-ms-enum": {
+ "name": "DataType",
+ "modelAsString": true
+ }
+ },
+ "precision": {
+ "description": "The precision of the index. -1 is maximum precision.",
+ "type": "integer"
+ },
+ "kind": {
+ "description": "Indicates the type of index.",
+ "type": "string",
+ "default": "Hash",
+ "enum": [
+ "Hash",
+ "Range",
+ "Spatial"
+ ],
+ "x-ms-enum": {
+ "name": "IndexKind",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ContainerPartitionKey": {
+ "type": "object",
+ "description": "The configuration of the partition key to be used for partitioning data into multiple partitions",
+ "properties": {
+ "paths": {
+ "description": "List of paths using which data within the container can be partitioned",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Path"
+ }
+ },
+ "kind": {
+ "description": "Indicates the kind of algorithm used for partitioning",
+ "type": "string",
+ "default": "Hash",
+ "enum": [
+ "Hash",
+ "Range"
+ ],
+ "x-ms-enum": {
+ "name": "PartitionKind",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Path": {
+ "type": "string",
+ "description": "A path. These typically start with root (/path)"
+ },
+ "UniqueKeyPolicy": {
+ "type": "object",
+ "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.",
+ "properties": {
+ "uniqueKeys": {
+ "description": "List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UniqueKey"
+ }
+ }
+ }
+ },
+ "UniqueKey": {
+ "type": "object",
+ "description": "The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.",
+ "properties": {
+ "paths": {
+ "description": "List of paths must be unique for each document in the Azure Cosmos DB service",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Path"
+ }
+ }
+ }
+ },
+ "ConflictResolutionPolicy": {
+ "type": "object",
+ "description": "The conflict resolution policy for the container.",
+ "properties": {
+ "mode": {
+ "description": "Indicates the conflict resolution mode.",
+ "type": "string",
+ "default": "LastWriterWins",
+ "enum": [
+ "LastWriterWins",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "ConflictResolutionMode",
+ "modelAsString": true
+ }
+ },
+ "conflictResolutionPath": {
+ "type": "string",
+ "description": "The conflict resolution path in the case of LastWriterWins mode."
+ },
+ "conflictResolutionProcedure": {
+ "type": "string",
+ "description": "The procedure to resolve conflicts in the case of custom mode."
+ }
+ }
+ },
+ "SqlStoredProcedureResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL storedProcedure resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL storedProcedure"
+ },
+ "body": {
+ "type": "string",
+ "description": "Body of the Stored Procedure"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "SqlUserDefinedFunctionResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL userDefinedFunction resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL userDefinedFunction"
+ },
+ "body": {
+ "type": "string",
+ "description": "Body of the User Defined Function"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "SqlTriggerResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL trigger resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL trigger"
+ },
+ "body": {
+ "type": "string",
+ "description": "Body of the Trigger"
+ },
+ "triggerType": {
+ "type": "string",
+ "enum": [
+ "Pre",
+ "Post"
+ ],
+ "description": "Type of the Trigger",
+ "x-ms-enum": {
+ "name": "triggerType",
+ "modelAsString": true
+ }
+ },
+ "triggerOperation": {
+ "type": "string",
+ "enum": [
+ "All",
+ "Create",
+ "Update",
+ "Delete",
+ "Replace"
+ ],
+ "description": "The operation the trigger is associated with",
+ "x-ms-enum": {
+ "name": "triggerOperation",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "MongoDBDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB database resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB MongoDB database"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "MongoDBCollectionResource": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB collection resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB MongoDB collection"
+ },
+ "shardKey": {
+ "description": "A key-value pair of shard keys to be applied for the request.",
+ "$ref": "#/definitions/ShardKeys"
+ },
+ "indexes": {
+ "description": "List of index keys",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoIndex"
+ }
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "ShardKeys": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The shard key and partition kind pair, only support \"Hash\" partition kind"
+ },
+ "MongoIndex": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB collection index key",
+ "properties": {
+ "key": {
+ "description": "Cosmos DB MongoDB collection index keys",
+ "$ref": "#/definitions/MongoIndexKeys"
+ },
+ "options": {
+ "description": "Cosmos DB MongoDB collection index key options",
+ "$ref": "#/definitions/MongoIndexOptions"
+ }
+ }
+ },
+ "MongoIndexKeys": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB collection resource object",
+ "properties": {
+ "keys": {
+ "description": "List of keys for each MongoDB collection in the Azure Cosmos DB service",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Key"
+ }
+ }
+ }
+ },
+ "Key": {
+ "type": "string",
+ "description": "A Key."
+ },
+ "MongoIndexOptions": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB collection index options",
+ "properties": {
+ "expireAfterSeconds": {
+ "description": "Expire after seconds",
+ "type": "integer"
+ },
+ "unique": {
+ "description": "Is unique or not",
+ "type": "boolean"
+ }
+ }
+ },
+ "TableResource": {
+ "type": "object",
+ "description": "Cosmos DB table resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB table"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraKeyspaceResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra keyspace resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra keyspace"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraTableResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra table"
+ },
+ "defaultTtl": {
+ "type": "integer",
+ "description": "Time to live of the Cosmos DB Cassandra table"
+ },
+ "schema": {
+ "description": "Schema of the Cosmos DB Cassandra table",
+ "$ref": "#/definitions/CassandraSchema"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraSchema": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table schema",
+ "properties": {
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Column"
+ },
+ "description": "List of Cassandra table columns."
+ },
+ "partitionKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CassandraPartitionKey"
+ },
+ "description": "List of partition key."
+ },
+ "clusterKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterKey"
+ },
+ "description": "List of cluster key."
+ }
+ }
+ },
+ "Column": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table column",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra table column"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the Cosmos DB Cassandra table column"
+ }
+ }
+ },
+ "CassandraPartitionKey": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table partition key",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra table partition key"
+ }
+ }
+ },
+ "ClusterKey": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table cluster key",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra table cluster key"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Order of the Cosmos DB Cassandra table cluster key, only support \"Asc\" and \"Desc\""
+ }
+ }
+ },
+ "GremlinDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB Gremlin database resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Gremlin database"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "GremlinGraphResource": {
+ "type": "object",
+ "description": "Cosmos DB Gremlin graph resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Gremlin graph"
+ },
+ "indexingPolicy": {
+ "$ref": "#/definitions/IndexingPolicy",
+ "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the graph"
+ },
+ "partitionKey": {
+ "$ref": "#/definitions/ContainerPartitionKey",
+ "description": "The configuration of the partition key to be used for partitioning data into multiple partitions"
+ },
+ "defaultTtl": {
+ "type": "integer",
+ "description": "Default time to live"
+ },
+ "uniqueKeyPolicy": {
+ "$ref": "#/definitions/UniqueKeyPolicy",
+ "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service."
+ },
+ "conflictResolutionPolicy": {
+ "$ref": "#/definitions/ConflictResolutionPolicy",
+ "description": "The conflict resolution policy for the graph."
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CreateUpdateOptions": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\""
+ },
+ "Capability": {
+ "type": "object",
+ "description": "Cosmos DB capability object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Cosmos DB capability. For example, \"name\": \"EnableCassandra\". Current values also include \"EnableTable\" and \"EnableGremlin\"."
+ }
+ }
+ },
+ "Tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"."
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation."
+ },
+ "IPRangeFilter": {
+ "type": "string",
+ "description": "Cosmos DB Firewall Support: This value specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IPs for a given database account. IP addresses/ranges must be comma separated and must not contain any spaces."
+ },
+ "VirtualNetworkRule": {
+ "type": "object",
+ "description": "Virtual Network ACL Rule object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}."
+ },
+ "ignoreMissingVNetServiceEndpoint": {
+ "type": "boolean",
+ "description": "Create firewall rule before the virtual network has vnet service endpoint enabled."
+ }
+ }
+ },
+ "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.",
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "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."
+ }
+ }
+ },
+ "UsagesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Usage"
+ },
+ "description": "The list of usages for the database. A usage is a point in time metric"
+ }
+ },
+ "description": "The response to a list usage request."
+ },
+ "Usage": {
+ "properties": {
+ "unit": {
+ "description": "The unit of the metric.",
+ "$ref": "#/definitions/UnitType"
+ },
+ "name": {
+ "$ref": "#/definitions/MetricName",
+ "readOnly": true,
+ "description": "The name information for the metric."
+ },
+ "quotaPeriod": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The quota period used to summarize the usage values."
+ },
+ "limit": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Maximum value for this metric"
+ },
+ "currentValue": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Current value for this metric"
+ }
+ },
+ "description": "The usage data for a usage request."
+ },
+ "PartitionUsagesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PartitionUsage"
+ },
+ "description": "The list of partition-level usages for the database. A usage is a point in time metric"
+ }
+ },
+ "description": "The response to a list partition level usage request."
+ },
+ "PartitionUsage": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Usage"
+ }
+ ],
+ "properties": {
+ "partitionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition id (GUID identifier) of the usages."
+ },
+ "partitionKeyRangeId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition key range id (integer identifier) of the usages."
+ }
+ },
+ "description": "The partition level usage data for a usage request."
+ },
+ "MetricDefinitionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MetricDefinition"
+ },
+ "description": "The list of metric definitions for the account."
+ }
+ },
+ "description": "The response to a list metric definitions request."
+ },
+ "MetricDefinition": {
+ "properties": {
+ "metricAvailabilities": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MetricAvailability"
+ },
+ "description": "The list of metric availabilities for the account."
+ },
+ "primaryAggregationType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The primary aggregation type of the metric.",
+ "enum": [
+ "None",
+ "Average",
+ "Total",
+ "Minimum",
+ "Maximum",
+ "Last"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PrimaryAggregationType"
+ }
+ },
+ "unit": {
+ "description": "The unit of the metric.",
+ "$ref": "#/definitions/UnitType"
+ },
+ "resourceUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource uri of the database."
+ },
+ "name": {
+ "readOnly": true,
+ "$ref": "#/definitions/MetricName",
+ "description": "The name information for the metric."
+ }
+ },
+ "description": "The definition of a metric."
+ },
+ "MetricAvailability": {
+ "properties": {
+ "timeGrain": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The time grain to be used to summarize the metric values."
+ },
+ "retention": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The retention for the metric values."
+ }
+ },
+ "description": "The availability of the metric."
+ },
+ "MetricListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Metric"
+ },
+ "description": "The list of metrics for the account."
+ }
+ },
+ "description": "The response to a list metrics request."
+ },
+ "Metric": {
+ "properties": {
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time for the metric (ISO-8601 format)."
+ },
+ "endTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time for the metric (ISO-8601 format)."
+ },
+ "timeGrain": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The time grain to be used to summarize the metric values."
+ },
+ "unit": {
+ "$ref": "#/definitions/UnitType",
+ "description": "The unit of the metric."
+ },
+ "name": {
+ "readOnly": true,
+ "$ref": "#/definitions/MetricName",
+ "description": "The name information for the metric."
+ },
+ "metricValues": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricValue"
+ },
+ "description": "The metric values for the specified time window and timestep."
+ }
+ },
+ "description": "Metric data"
+ },
+ "MetricName": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the metric."
+ },
+ "localizedValue": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The friendly name of the metric."
+ }
+ },
+ "description": "A metric name."
+ },
+ "MetricValue": {
+ "properties": {
+ "_count": {
+ "readOnly": true,
+ "type": "number",
+ "format": "int32",
+ "description": "The number of values for the metric."
+ },
+ "average": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The average value of the metric."
+ },
+ "maximum": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The max value of the metric."
+ },
+ "minimum": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The min value of the metric."
+ },
+ "timestamp": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The metric timestamp (ISO-8601 format)."
+ },
+ "total": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The total value of the metric."
+ }
+ },
+ "description": "Represents metrics values."
+ },
+ "PercentileMetricListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PercentileMetric"
+ },
+ "description": "The list of percentile metrics for the account."
+ }
+ },
+ "description": "The response to a list percentile metrics request."
+ },
+ "PercentileMetric": {
+ "properties": {
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time for the metric (ISO-8601 format)."
+ },
+ "endTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time for the metric (ISO-8601 format)."
+ },
+ "timeGrain": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The time grain to be used to summarize the metric values."
+ },
+ "unit": {
+ "$ref": "#/definitions/UnitType",
+ "description": "The unit of the metric."
+ },
+ "name": {
+ "readOnly": true,
+ "$ref": "#/definitions/MetricName",
+ "description": "The name information for the metric."
+ },
+ "metricValues": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PercentileMetricValue"
+ },
+ "description": "The percentile metric values for the specified time window and timestep."
+ }
+ },
+ "description": "Percentile Metric data"
+ },
+ "PercentileMetricValue": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MetricValue"
+ }
+ ],
+ "properties": {
+ "P10": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 10th percentile value for the metric."
+ },
+ "P25": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 25th percentile value for the metric."
+ },
+ "P50": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 50th percentile value for the metric."
+ },
+ "P75": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 75th percentile value for the metric."
+ },
+ "P90": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 90th percentile value for the metric."
+ },
+ "P95": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 95th percentile value for the metric."
+ },
+ "P99": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 99th percentile value for the metric."
+ }
+ },
+ "description": "Represents percentile metrics values."
+ },
+ "PartitionMetricListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartitionMetric"
+ },
+ "description": "The list of partition-level metrics for the account."
+ }
+ },
+ "description": "The response to a list partition metrics request."
+ },
+ "PartitionMetric": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Metric"
+ }
+ ],
+ "properties": {
+ "partitionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition id (GUID identifier) of the metric values."
+ },
+ "partitionKeyRangeId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition key range id (integer identifier) of the metric values."
+ }
+ },
+ "description": "The metric values for a single partition."
+ },
+ "UnitType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unit of the metric.",
+ "enum": [
+ "Count",
+ "Bytes",
+ "Seconds",
+ "Percent",
+ "CountPerSecond",
+ "BytesPerSecond",
+ "Milliseconds"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "UnitType"
+ }
+ },
+ "ConnectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB C* database account.",
+ "type": "string",
+ "enum": [
+ "Small"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectorOffer",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. The current version is 2019-08-01."
+ },
+ "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."
+ },
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database account name.",
+ "minLength": 3,
+ "maxLength": 50,
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*"
+ },
+ "filterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "An OData filter expression that describes a subset of metrics to return. The parameters that can be filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and timeGrain. The supported operator is eq."
+ },
+ "usageFilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "An OData filter expression that describes a subset of usages to return. The supported parameter is name.value (name of the metric, can have an or of multiple names)."
+ },
+ "databaseRidParameter": {
+ "name": "databaseRid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database rid."
+ },
+ "collectionRidParameter": {
+ "name": "collectionRid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB collection rid."
+ },
+ "databaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database name."
+ },
+ "containerNameParameter": {
+ "name": "containerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB container name."
+ },
+ "storedProcedureNameParameter": {
+ "name": "storedProcedureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB storedProcedure name."
+ },
+ "userDefinedFunctionNameParameter": {
+ "name": "userDefinedFunctionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB userDefinedFunction name."
+ },
+ "triggerNameParameter": {
+ "name": "triggerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB trigger name."
+ },
+ "tableNameParameter": {
+ "name": "tableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB table name."
+ },
+ "collectionNameParameter": {
+ "name": "collectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB collection name."
+ },
+ "keyspaceNameParameter": {
+ "name": "keyspaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB keyspace name."
+ },
+ "graphNameParameter": {
+ "name": "graphName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB graph name."
+ },
+ "regionParameter": {
+ "name": "region",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "sourceRegionParameter": {
+ "name": "sourceRegion",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Source region from which data is written. Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "targetRegionParameter": {
+ "name": "targetRegion",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Target region to which data is written. Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "partitionKeyRangeIdParameter": {
+ "name": "partitionKeyRangeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Partition Key Range Id for which to get data."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..4edfd440123f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "createUpdateCassandraKeyspaceParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "keyspaceName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..4a8873badee1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..913aa9213f39
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "keyspaceName",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..7e076a9ed3b5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..6575e0dc6fa0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..9b0c2b4f18ac
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..55031406eaf4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName",
+ "createUpdateCassandraTableParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName",
+ "defaultTtl": 100,
+ "schema": {
+ "columns": [
+ {
+ "name": "columnA",
+ "type": "Ascii"
+ }
+ ],
+ "partitionKeys": [
+ {
+ "name": "columnA"
+ }
+ ],
+ "clusterKeys": [
+ {
+ "name": "columnA",
+ "orderBy": "Asc"
+ }
+ ]
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "tableName",
+ "defaultTtl": 100,
+ "schema": {
+ "columns": [
+ {
+ "name": "columnA",
+ "type": "Ascii"
+ }
+ ],
+ "partitionKeys": [
+ {
+ "name": "columnA"
+ }
+ ],
+ "clusterKeys": [
+ {
+ "name": "columnA",
+ "orderBy": "Asc"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..131851801243
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..d7c280325a93
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "tableName",
+ "defaultTtl": 100,
+ "schema": {
+ "columns": [
+ {
+ "name": "columnA",
+ "type": "Ascii"
+ }
+ ],
+ "partitionKeys": [
+ {
+ "name": "columnA"
+ }
+ ],
+ "clusterKeys": [
+ {
+ "name": "columnA",
+ "orderBy": "Asc"
+ }
+ ]
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..3c5c486e7a78
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "tableName",
+ "defaultTtl": 100,
+ "schema": {
+ "columns": [
+ {
+ "name": "columnA",
+ "type": "Ascii"
+ }
+ ],
+ "partitionKeys": [
+ {
+ "name": "columnA"
+ }
+ ],
+ "clusterKeys": [
+ {
+ "name": "columnA",
+ "orderBy": "Asc"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..e732ddcc4976
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..d5d1eb77721f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings",
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..3bdf5f342167
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2019-08-01",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "metricAvailabilities": [
+ {
+ "timeGrain": "PT5M",
+ "retention": "P2D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P14D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P60D"
+ }
+ ],
+ "primaryAggregationType": "Total",
+ "unit": "Count",
+ "resourceUri": "\/subscriptions\/subId\/resourceGroups\/rg1\/providers\/Microsoft.DocumentDB\/databaseAccounts\/ddb1",
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..c20efc3c223b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..3cb78e433943
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "subscriptionId": "subid",
+ "$filter": "$filter=name.value eq 'Storage'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Bytes",
+ "quotaPeriod": "P1D",
+ "limit": 10737418240,
+ "currentValue": 0,
+ "name": {
+ "value": "Storage",
+ "localizedValue": "Storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..8d8466102172
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..c5e67e1cc89f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "subscriptionId": "subid",
+ "$filter": "$filter=name.value eq 'Partition Storage'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Bytes",
+ "quotaPeriod": "P1D",
+ "limit": 10737418240,
+ "currentValue": 0,
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "name": {
+ "value": "Storage",
+ "localizedValue": "Storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..3dd68731a836
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "region": "North Europe",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..da6dcf634452
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2019-08-01"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..40ce869a85cf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,106 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "createUpdateParameters": {
+ "location": "westus",
+ "tags": {},
+ "kind": "GlobalDocumentDB",
+ "properties": {
+ "databaseAccountOfferType": "Standard",
+ "ipRangeFilter": "10.10.10.10",
+ "isVirtualNetworkFilterEnabled": true,
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "ignoreMissingVNetServiceEndpoint": false
+ }
+ ],
+ "locations": [
+ {
+ "failoverPriority": 0,
+ "locationName": "southcentralus",
+ "isZoneRedundant": false
+ },
+ {
+ "failoverPriority": 1,
+ "locationName": "eastus",
+ "isZoneRedundant": false
+ }
+ ],
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Initializing",
+ "ipRangeFilter": "10.10.10.10",
+ "isVirtualNetworkFilterEnabled": true,
+ "databaseAccountOfferType": "Standard",
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ },
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 1,
+ "isZoneRedundant": false
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "failoverPriority": 0
+ },
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 1
+ }
+ ],
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..284059db0daa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "createUpdateParameters": {
+ "location": "westus",
+ "properties": {
+ "databaseAccountOfferType": "Standard",
+ "locations": [
+ {
+ "failoverPriority": 0,
+ "locationName": "southcentralus",
+ "isZoneRedundant": false
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Initializing",
+ "ipRangeFilter": "",
+ "databaseAccountOfferType": "Standard",
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "failoverPriority": 0
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..e971ad549140
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..84dc2aba507d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "failoverParameters": {
+ "failoverPolicies": [
+ {
+ "locationName": "eastus",
+ "failoverPriority": 0
+ },
+ {
+ "locationName": "westus",
+ "failoverPriority": 1
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..fcea79dd152d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "ipRangeFilter": "",
+ "isVirtualNetworkFilterEnabled": false,
+ "virtualNetworkRules": [],
+ "databaseAccountOfferType": "Standard",
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..b55ed88f43e6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2019-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "metricAvailabilities": [
+ {
+ "timeGrain": "PT5M",
+ "retention": "P2D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P14D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P60D"
+ }
+ ],
+ "primaryAggregationType": "Total",
+ "unit": "Count",
+ "resourceUri": "\/subscriptions\/subId\/resourceGroups\/rg1\/providers\/Microsoft.DocumentDB\/databaseAccounts\/ddb1",
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..7fc193a64d45
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..04be14ae540a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "$filter": "$filter=name.value eq 'Storage'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Bytes",
+ "quotaPeriod": "P1D",
+ "limit": 10737418240,
+ "currentValue": 0,
+ "name": {
+ "value": "Storage",
+ "localizedValue": "Storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..596d8b9df880
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "ipRangeFilter": "",
+ "databaseAccountOfferType": "Standard",
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..4947086025bc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "ipRangeFilter": "",
+ "databaseAccountOfferType": "Standard",
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..29894b0cca6f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..e464f39b37b5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "connectionStrings": [
+ {
+ "connectionString": "connection-string",
+ "description": "Name of the connection string"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..7971d0546250
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryMasterKey": "primaryMasterKey",
+ "secondaryMasterKey": "secondaryMasterKey",
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..6ba3b5f1ef1c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..ba3b6f902ced
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOffline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..f64ae55c957f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOnline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..b1e2102b6bc8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "updateParameters": {
+ "tags": {
+ "dept": "finance"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "ipRangeFilter": "",
+ "databaseAccountOfferType": "Standard",
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..39325a0fd174
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..fa0b6a3df6de
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..a27df0e5f865
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2019-08-01",
+ "databaseRid": "databaseRid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "metricAvailabilities": [
+ {
+ "timeGrain": "PT5M",
+ "retention": "P2D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P14D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P60D"
+ }
+ ],
+ "primaryAggregationType": "Total",
+ "unit": "Count",
+ "resourceUri": "\/subscriptions\/subId\/resourceGroups\/rg1\/providers\/Microsoft.DocumentDB\/databaseAccounts\/ddb1",
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..74b227fcfc14
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseRid": "rid",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..004ff0ea8653
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "databaseRid": "databaseRid",
+ "subscriptionId": "subid",
+ "$filter": "$filter=name.value eq 'Storage'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Bytes",
+ "quotaPeriod": "P1D",
+ "limit": 10737418240,
+ "currentValue": 0,
+ "name": {
+ "value": "Storage",
+ "localizedValue": "Storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..e6172ea1ba7d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateGremlinDatabaseParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..8e975f441049
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..bb04140eab3b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..f664c1ca1de6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..a97f98b8a1a2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..e3aa8db7023d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..a7a026f0df99
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "createUpdateGremlinGraphParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "graphName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName",
+ "name": "graphName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/gremlinGraphs",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "graphName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..e07f7989124f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..37dc59a19be6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "graphName",
+ "name": "graphName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs",
+ "properties": {
+ "id": "graphName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..58848564a518
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testgrf",
+ "name": "testgrf",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs",
+ "properties": {
+ "id": "testgrf",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..39b9a7d1a53b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..12990bf1f79e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..51fe1f57deab
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "createUpdateMongoDBCollectionParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "collectionName",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "collectionName",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..5aa2c2ac229a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..e97dc527ea55
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..866ec8bf9b49
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..56d92fe1cea9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..910237b6b9af
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..054c0c8a06e0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateMongoDBDatabaseParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "updatedDatabaseName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..8e975f441049
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..a2be091adc94
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "databaseName",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..c26c84e9e400
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "databaseName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..8142d273a557
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..4e0820837fed
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..80490e6f0792
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "operationName",
+ "display": {
+ "Provider": "providerName",
+ "Resource": "resourceName",
+ "Operation": "operationName",
+ "Description": "description"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..7b0a10fae68c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "partitionKeyRangeId": "0",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..db6bee56e954
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "partitionKeyRangeId": "0",
+ "region": "West US",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..de272aedbb6d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US"
+ }
+ },
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-West US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..ee9ae03b43a0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "sourceRegion": "West Central US",
+ "targetRegion": "East US",
+ "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..8de35fad653c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "targetRegion": "East US",
+ "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US"
+ }
+ },
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..4e97f9e6d2ad
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "region": "North Europe",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..9cae1d332f38
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "createUpdateSqlContainerParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "containerName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "containerName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..84d8f4be6376
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..a635e39ba446
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "containerName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..c6d1bbb3b00d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "testctn",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..60c7662a5877
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..520502b78f3e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..0410791fdefe
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateSqlDatabaseParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..8e975f441049
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..46e06b47313a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\"",
+ "_colls": "colls\/",
+ "_users": "users\/"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..17cde7a9fc66
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\"",
+ "_colls": "colls\/",
+ "_users": "users\/"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..b965d1eb7f4d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..a2ee9fb5d209
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
new file mode 100644
index 000000000000..d47ade2afa30
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName",
+ "createUpdateSqlStoredProcedureParameters": {
+ "properties": {
+ "resource": {
+ "id": "storedProcedureName",
+ "body": "body"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName",
+ "name": "storedProcedureName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures",
+ "properties": {
+ "id": "storedProcedureName",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureDelete.json
new file mode 100644
index 000000000000..2e4d250c64e7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureGet.json
new file mode 100644
index 000000000000..5f1ed2c32bb4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName",
+ "name": "storedProcedureName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures",
+ "properties": {
+ "id": "storedProcedureName",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureList.json
new file mode 100644
index 000000000000..aa1ee46c80c1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName",
+ "name": "testctn",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures",
+ "properties": {
+ "id": "testctn",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlTriggerCreateUpdate.json
new file mode 100644
index 000000000000..6b8597658595
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlTriggerCreateUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName",
+ "createUpdateSqlTriggerParameters": {
+ "properties": {
+ "resource": {
+ "id": "triggerName",
+ "body": "body",
+ "triggerType": "triggerType",
+ "triggerOperation": "triggerOperation"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName",
+ "name": "triggerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers",
+ "properties": {
+ "id": "triggerName",
+ "body": "body",
+ "triggerType": "triggerType",
+ "triggerOperation": "triggerOperation",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlTriggerDelete.json
new file mode 100644
index 000000000000..2d326f63c770
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlTriggerDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlTriggerGet.json
new file mode 100644
index 000000000000..2d3763200ef5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlTriggerGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName",
+ "name": "triggerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers",
+ "properties": {
+ "id": "triggerName",
+ "body": "body",
+ "triggerType": "triggerType",
+ "triggerOperation": "triggerOperation",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlTriggerList.json
new file mode 100644
index 000000000000..eb8bdac950a8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlTriggerList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName",
+ "name": "testctn",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers",
+ "properties": {
+ "id": "testctn",
+ "body": "body",
+ "triggerType": "triggerType",
+ "triggerOperation": "triggerOperation",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
new file mode 100644
index 000000000000..83560d89911a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName",
+ "createUpdateSqlUserDefinedFunctionParameters": {
+ "properties": {
+ "resource": {
+ "id": "userDefinedFunctionName",
+ "body": "body"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName",
+ "name": "userDefinedFunctionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions",
+ "properties": {
+ "id": "userDefinedFunctionName",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlUserDefinedFunctionDelete.json
new file mode 100644
index 000000000000..297815feca7c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlUserDefinedFunctionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlUserDefinedFunctionGet.json
new file mode 100644
index 000000000000..72ae737f8d97
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlUserDefinedFunctionGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName",
+ "name": "userDefinedFunctionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions",
+ "properties": {
+ "id": "userDefinedFunctionName",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlUserDefinedFunctionList.json
new file mode 100644
index 000000000000..9f11aeb4bbb5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlUserDefinedFunctionList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName",
+ "name": "testctn",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions",
+ "properties": {
+ "id": "testctn",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..016aaffbf69b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "createUpdateTableParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables",
+ "location": "West US",
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..1353414e7615
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..ea9c4ba7f7f6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "tableName",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..caecd45cf3d2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..f4a79e5b7d0e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..4760c2ecfc9a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md
index 1bae2976fd2c..ecef4cd32fe3 100644
--- a/specification/cosmos-db/resource-manager/readme.md
+++ b/specification/cosmos-db/resource-manager/readme.md
@@ -26,9 +26,34 @@ These are the global settings for the Cosmos-DB API.
``` yaml
openapi-type: arm
+```
+
+``` yaml
+tag: package-2019-08
+```
+
+``` yaml
tag: package-2015-04
```
+### Tag: package-2019-08
+
+These settings apply only when `--tag=package-2019-08` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-08'
+input-file:
+- Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json
+```
+
+### Tag: package-2019-08-preview
+
+These settings apply only when `--tag=package-2019-08-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-08-preview'
+input-file:
+- Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json
+- Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
+```
### Tag: package-2015-04
@@ -50,42 +75,6 @@ directive:
from: cosmos-db.json
where: $.definitions.DatabaseAccountCreateUpdateParameters
reason: The DatabaseAccount request and response resources differ so the DatabaseAccountCreateUpdateParameters must only have a PUT operation
- - suppress: TrackedResourcePatchOperation
- from: cosmos-db.json
- where: $.definitions.SqlDatabase
- reason: The SqlDatabase doesn't support Patch operation
- - suppress: TrackedResourcePatchOperation
- from: cosmos-db.json
- where: $.definitions.Container
- reason: The Container doesn't support Patch operation
- - suppress: TrackedResourcePatchOperation
- from: cosmos-db.json
- where: $.definitions.MongoDBDatabase
- reason: The MongoDBDatabase doesn't support Patch operation
- - suppress: TrackedResourcePatchOperation
- from: cosmos-db.json
- where: $.definitions.MongoDBCollection
- reason: The MongoDBCollection doesn't support Patch operation
- - suppress: TrackedResourcePatchOperation
- from: cosmos-db.json
- where: $.definitions.Table
- reason: The Table doesn't support Patch operation
- - suppress: TrackedResourcePatchOperation
- from: cosmos-db.json
- where: $.definitions.CassandraKeyspace
- reason: The CassandraKeyspace doesn't support Patch operation
- - suppress: TrackedResourcePatchOperation
- from: cosmos-db.json
- where: $.definitions.CassandraTable
- reason: The CassandraTable doesn't support Patch operation
- - suppress: TrackedResourcePatchOperation
- from: cosmos-db.json
- where: $.definitions.GremlinDatabase
- reason: The GremlinDatabase doesn't support Patch operation
- - suppress: TrackedResourcePatchOperation
- from: cosmos-db.json
- where: $.definitions.GremlinGraph
- reason: The GremlinGraph doesn't support Patch operation
- suppress: DefinitionsPropertiesNamesCamelCase
from: cosmos-db.json
where: $.definitions.MetricValue.properties._count
@@ -98,34 +87,18 @@ directive:
from: cosmos-db.json
where: $.definitions.ExtendedResourceProperties.properties._ts
reason: The resource has a property name with a leading underscore character
- - suppress: DefinitionsPropertiesNamesCamelCase
- from: cosmos-db.json
- where: $.definitions.ExtendedResourceProperties.properties._self
- reason: The resource has a property name with a leading underscore character
- suppress: DefinitionsPropertiesNamesCamelCase
from: cosmos-db.json
where: $.definitions.ExtendedResourceProperties.properties._etag
reason: The resource has a property name with a leading underscore character
- suppress: DefinitionsPropertiesNamesCamelCase
from: cosmos-db.json
- where: $.definitions.SqlDatabaseProperties.properties._colls
+ where: $.definitions.SqlDatabaseGetProperties.properties._colls
reason: The database has a property name with a leading underscore character
- suppress: DefinitionsPropertiesNamesCamelCase
from: cosmos-db.json
- where: $.definitions.SqlDatabaseProperties.properties._users
+ where: $.definitions.SqlDatabaseGetProperties.properties._users
reason: The database has a property name with a leading underscore character
- - suppress: DefinitionsPropertiesNamesCamelCase
- from: cosmos-db.json
- where: $.definitions.GremlinDatabaseProperties.properties._rid
- reason: The resource has a property name with a leading underscore character
- - suppress: DefinitionsPropertiesNamesCamelCase
- from: cosmos-db.json
- where: $.definitions.GremlinDatabaseProperties.properties._ts
- reason: The resource has a property name with a leading underscore character
- - suppress: DefinitionsPropertiesNamesCamelCase
- from: cosmos-db.json
- where: $.definitions.GremlinDatabaseProperties.properties._etag
- reason: The resource has a property name with a leading underscore character
- suppress: DefinitionsPropertiesNamesCamelCase
from: cosmos-db.json
where: $.definitions.PercentileMetricValue.properties.P10
@@ -194,6 +167,8 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json
+ - $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
- $(this-folder)/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
```
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/costmanagement.json
new file mode 100644
index 000000000000..3a52625d8593
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/costmanagement.json
@@ -0,0 +1,1441 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-09-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"
+ },
+ "SubscriptionQueryGrouping": {
+ "$ref": "./examples/SubscriptionQueryGrouping.json"
+ },
+ "ResourceGroupQuery": {
+ "$ref": "./examples/ResourceGroupQuery.json"
+ },
+ "ResourceGroupQueryGrouping": {
+ "$ref": "./examples/ResourceGroupQueryGrouping.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": "The operation to list all exports at the given scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionExportList": {
+ "$ref": "./examples/ExportListBySubscription.json"
+ },
+ "ResourceGroupExportList": {
+ "$ref": "./examples/ExportListByResourceGroup.json"
+ },
+ "BillingAccountExportList": {
+ "$ref": "./examples/ExportListByBillingAccount.json"
+ },
+ "DepartmentExportList": {
+ "$ref": "./examples/ExportListByDepartment.json"
+ },
+ "EnrollmentAccountExportList": {
+ "$ref": "./examples/ExportListByEnrollmentAccount.json"
+ },
+ "ManagementGroupExportList": {
+ "$ref": "./examples/ExportListByManagementGroup.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": "The operation to get 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/ExportBySubscription.json"
+ },
+ "ResourceGroupExport": {
+ "$ref": "./examples/ExportByResourceGroup.json"
+ },
+ "BillingAccountExport": {
+ "$ref": "./examples/ExportByBillingAccount.json"
+ },
+ "DepartmentExport": {
+ "$ref": "./examples/ExportByDepartment.json"
+ },
+ "EnrollmentAccountExport": {
+ "$ref": "./examples/ExportByEnrollmentAccount.json"
+ },
+ "ManagementGroupExport": {
+ "$ref": "./examples/ExportByManagementGroup.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/ExportCreateOrUpdateBySubscription.json"
+ },
+ "ResourceGroupCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByResourceGroup.json"
+ },
+ "BillingAccountCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json"
+ },
+ "DepartmentCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByDepartment.json"
+ },
+ "EnrollmentAccountCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json"
+ },
+ "ManagementGroupCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByManagementGroup.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/ExportDeleteBySubscription.json"
+ },
+ "ResourceGroupDeleteExport": {
+ "$ref": "./examples/ExportDeleteByResourceGroup.json"
+ },
+ "BillingAccountDeleteExport": {
+ "$ref": "./examples/ExportDeleteByBillingAccount.json"
+ },
+ "EnrollmentAccountDeleteExport": {
+ "$ref": "./examples/ExportDeleteByEnrollmentAccount.json"
+ },
+ "DepartmentDeleteExport": {
+ "$ref": "./examples/ExportDeleteByDepartment.json"
+ },
+ "ManagementGroupDeleteExport": {
+ "$ref": "./examples/ExportDeleteByManagementGroup.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/ExportExecutionBySubscription.json"
+ },
+ "ResourceGroupExecuteExport": {
+ "$ref": "./examples/ExportExecutionByResourceGroup.json"
+ },
+ "BillingAccountExecuteExport": {
+ "$ref": "./examples/ExportExecutionByBillingAccount.json"
+ },
+ "DepartmentExecuteExport": {
+ "$ref": "./examples/ExportExecutionByDepartment.json"
+ },
+ "EnrollmentAccountExecuteExport": {
+ "$ref": "./examples/ExportExecutionByEnrollmentAccount.json"
+ },
+ "ManagementGroupExecuteExport": {
+ "$ref": "./examples/ExportExecutionByManagementGroup.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": "The operation to get the execution history of an 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/ExportExecutionListBySubscription.json"
+ },
+ "ResourceGroupExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByResourceGroup.json"
+ },
+ "BillingAccountExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByBillingAccount.json"
+ },
+ "DepartmentExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByDepartment.json"
+ },
+ "EnrollmentAccountExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByEnrollmentAccount.json"
+ },
+ "ManagementGroupExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByManagementGroup.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-09-01/examples/BillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountDimensionsList.json
new file mode 100644
index 000000000000..51fcfe2be8a2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "scope": "providers/Microsoft.Billing/billingAccounts/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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..24c5826dd516
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/100"
+ },
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..f9bf9342e4c6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100"
+ },
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountQuery.json
new file mode 100644
index 000000000000..121b568e961c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountQuery.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "70664866",
+ "scope": "providers/Microsoft.Billing/billingAccounts/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"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountQueryGrouping.json
new file mode 100644
index 000000000000..e52198cb60cc
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/BillingAccountQueryGrouping.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "70664866",
+ "scope": "providers/Microsoft.Billing/billingAccounts/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"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentDimensionsList.json
new file mode 100644
index 000000000000..93a459a6a808
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "departmentId": "123",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..057cb6479026
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "departmentId": "123",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123"
+ },
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentDimensionsListWithFilter.json
new file mode 100644
index 000000000000..54eb6585a6f4
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "departmentId": "123",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123"
+ },
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentQuery.json
new file mode 100644
index 000000000000..abccb85daee8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentQuery.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "70664866",
+ "departmentId": "123",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/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"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentQueryGrouping.json
new file mode 100644
index 000000000000..8a39834e4dd7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/DepartmentQueryGrouping.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "70664866",
+ "departmentId": "123",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/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"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountDimensionsList.json
new file mode 100644
index 000000000000..b22b0f34384d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..e136c5c39c07
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"
+ },
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..22d8c2b2eb0b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"
+ },
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountQuery.json
new file mode 100644
index 000000000000..76be1a714dd3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountQuery.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "70664866",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/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"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountQueryGrouping.json
new file mode 100644
index 000000000000..4c75f6678f89
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/EnrollmentAccountQueryGrouping.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "70664866",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/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"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByBillingAccount.json
new file mode 100644
index 000000000000..40e19ba8570e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByBillingAccount.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByDepartment.json
new file mode 100644
index 000000000000..5360d20adf6d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByDepartment.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByEnrollmentAccount.json
new file mode 100644
index 000000000000..829bb6275149
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByEnrollmentAccount.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByManagementGroup.json
new file mode 100644
index 000000000000..7ab916768c19
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByManagementGroup.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByResourceGroup.json
new file mode 100644
index 000000000000..9ea602d53248
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportByResourceGroup.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportBySubscription.json
new file mode 100644
index 000000000000..5567587ceb6e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportBySubscription.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByBillingAccount.json
new file mode 100644
index 000000000000..2e4cb987a0c2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByBillingAccount.json
@@ -0,0 +1,287 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/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/123456/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/123456/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByDepartment.json
new file mode 100644
index 000000000000..57d393b8f200
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByDepartment.json
@@ -0,0 +1,288 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
new file mode 100644
index 000000000000..7cff10d761fb
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
@@ -0,0 +1,288 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "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/100/enrollmentAccounts/456/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/100/enrollmentAccounts/456/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByManagementGroup.json
new file mode 100644
index 000000000000..4513dcd73da8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByManagementGroup.json
@@ -0,0 +1,287 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "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.Management/managementGroups/TestMG/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.Management/managementGroups/TestMG/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByResourceGroup.json
new file mode 100644
index 000000000000..16b182671683
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateByResourceGroup.json
@@ -0,0 +1,288 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/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/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/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/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateBySubscription.json
new file mode 100644
index 000000000000..1e8d37fb11d0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportCreateOrUpdateBySubscription.json
@@ -0,0 +1,287 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByBillingAccount.json
new file mode 100644
index 000000000000..aa5cd7c3a025
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByDepartment.json
new file mode 100644
index 000000000000..52c608bb1429
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByEnrollmentAccount.json
new file mode 100644
index 000000000000..311e610403b7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByManagementGroup.json
new file mode 100644
index 000000000000..baa32c6161e0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByResourceGroup.json
new file mode 100644
index 000000000000..c8ee18cbdd67
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteBySubscription.json
new file mode 100644
index 000000000000..5f7dac51058d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportDeleteBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByBillingAccount.json
new file mode 100644
index 000000000000..aa5cd7c3a025
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByDepartment.json
new file mode 100644
index 000000000000..52c608bb1429
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByEnrollmentAccount.json
new file mode 100644
index 000000000000..311e610403b7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByManagementGroup.json
new file mode 100644
index 000000000000..baa32c6161e0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByResourceGroup.json
new file mode 100644
index 000000000000..c8ee18cbdd67
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionBySubscription.json
new file mode 100644
index 000000000000..5f7dac51058d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByBillingAccount.json
new file mode 100644
index 000000000000..46cb4c0948eb
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByBillingAccount.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByDepartment.json
new file mode 100644
index 000000000000..624b6ba266ea
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByDepartment.json
@@ -0,0 +1,199 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByEnrollmentAccount.json
new file mode 100644
index 000000000000..8128b50e68b2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByEnrollmentAccount.json
@@ -0,0 +1,199 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/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/100/enrollmentAccounts/456/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByManagementGroup.json
new file mode 100644
index 000000000000..28596640d4bc
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByManagementGroup.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport/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": "ScheduledForTestExport/TestExportSchedule/20180729-20180804/TestExportSchedule_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.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport/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": "ScheduledForTestExport/TestExportSchedule/20180729-20180804/TestExportSchedule_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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByResourceGroup.json
new file mode 100644
index 000000000000..915a0e0e8378
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListByResourceGroup.json
@@ -0,0 +1,199 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/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/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListBySubscription.json
new file mode 100644
index 000000000000..3e6e0ef4547f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportExecutionListBySubscription.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByBillingAccount.json
new file mode 100644
index 000000000000..37eaaaf63e59
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByBillingAccount.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/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/123456/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByDepartment.json
new file mode 100644
index 000000000000..b7ee9f5b434c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByDepartment.json
@@ -0,0 +1,175 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/123"
+ },
+ "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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByEnrollmentAccount.json
new file mode 100644
index 000000000000..1c331629342f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByEnrollmentAccount.json
@@ -0,0 +1,175 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/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/100/enrollmentAccounts/456/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByManagementGroup.json
new file mode 100644
index 000000000000..bbb14c0bccee
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByManagementGroup.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/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.Management/managementGroups/TestMG/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByResourceGroup.json
new file mode 100644
index 000000000000..4a9209e10ccf
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListByResourceGroup.json
@@ -0,0 +1,175 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/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/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListBySubscription.json
new file mode 100644
index 000000000000..66aa44f19eaf
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ExportListBySubscription.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupDimensionsList.json
new file mode 100644
index 000000000000..ed10d65b79c8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "managementGroupId": "MyMgId",
+ "scope": "providers/Microsoft.Management/managementGroups/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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..caafd54b3bb7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "managementGroupId": "MyMgId",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Management/managementGroups/MyMgId"
+ },
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupDimensionsListWithFilter.json
new file mode 100644
index 000000000000..5e025f422324
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "managementGroupId": "MyMgId",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Management/managementGroups/MyMgId"
+ },
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupQuery.json
new file mode 100644
index 000000000000..e50f4eb09051
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupQuery.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "managementGroupId": "MyMgId",
+ "scope": "providers/Microsoft.Management/managementGroups/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"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupQueryGrouping.json
new file mode 100644
index 000000000000..dfb1f6e07a99
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ManagementGroupQueryGrouping.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "managementGroupId": "MyMgId",
+ "scope": "providers/Microsoft.Management/managementGroups/MyMgId",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ],
+ "sorting": [
+ {
+ "name": "ResourceGroup",
+ "querySortingDirection": "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"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ResourceGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ResourceGroupDimensionsList.json
new file mode 100644
index 000000000000..3bacf9eb2713
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ResourceGroupDimensionsList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "system.orlando",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando"
+ },
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ResourceGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ResourceGroupQuery.json
new file mode 100644
index 000000000000..b2301136bcb8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ResourceGroupQuery.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "55312978-ba1b-415c-9304-c4b9c43c0481",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/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"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ResourceGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ResourceGroupQueryGrouping.json
new file mode 100644
index 000000000000..5bb3257921d3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/ResourceGroupQueryGrouping.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceType"
+ }
+ ],
+ "sorting": [
+ {
+ "name": "ResourceType",
+ "querySortingDirection": "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"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/SubscriptionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/SubscriptionDimensionsList.json
new file mode 100644
index 000000000000..3d4def621603
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/SubscriptionDimensionsList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$top": 5,
+ "$expand": "properties/data",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/SubscriptionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/SubscriptionQuery.json
new file mode 100644
index 000000000000..50e15d5ee34e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/SubscriptionQuery.json
@@ -0,0 +1,117 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/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",
+ "querySortingDirection": "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"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/SubscriptionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/SubscriptionQueryGrouping.json
new file mode 100644
index 000000000000..fb6ef6525896
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/examples/SubscriptionQueryGrouping.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/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"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md
index 483100612d7d..0a94788ec63a 100644
--- a/specification/cost-management/resource-manager/readme.md
+++ b/specification/cost-management/resource-manager/readme.md
@@ -32,6 +32,14 @@ azure-validator: true
---
+### Tag: package-2019-09
+
+These settings apply only when `--tag=package-2019-09` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-09'
+input-file:
+ - Microsoft.CostManagement/stable/2019-09-01/costmanagement.json
+```
### Tag: package-preview-2019-04
@@ -234,6 +242,7 @@ batch:
- tag: package-2018-05
- tag: package-2018-08-preview
- tag: package-2019-01
+ - tag: package-2019-09
```
### Tag: package-2018-05 and java
@@ -288,6 +297,19 @@ regenerate-manager: true
generate-interface: true
```
+### Tag: package-2019-09 and java
+
+These settings apply only when `--tag=package-2019-09 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.costmanagement.v2019_09_01
+ output-folder: $(azure-libraries-for-java-folder)/costmanagement/resource-manager/v2019_09_01
+regenerate-manager: true
+generate-interface: true
+```
+
## Multi-API/Profile support for AutoRest v3 generators
@@ -301,6 +323,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.CostManagement/stable/2019-09-01/costmanagement.json
- $(this-folder)/Microsoft.CostManagement/preview/2019-04-01-preview/costmanagement.json
- $(this-folder)/Microsoft.CostManagement/stable/2019-01-01/costmanagement.json
- $(this-folder)/Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/databox.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/databox.json
new file mode 100644
index 000000000000..0afe370058b6
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/databox.json
@@ -0,0 +1,4160 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-09-01",
+ "title": "DataBoxManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.DataBox/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "This method gets all the operations.",
+ "operationId": "Operations_List",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The supported operations list.",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OperationsGet": {
+ "$ref": "./examples/OperationsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Lists all the jobs available under the subscription.",
+ "operationId": "Jobs_List",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of jobs available under the subscription.",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "JobsList": {
+ "$ref": "./examples/JobsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method provides the list of available skus for the given subscription and location.",
+ "operationId": "Service_ListAvailableSkus",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "availableSkuRequest",
+ "in": "body",
+ "description": "Filters for showing the available skus.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailableSkuRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of available skus under subscription.",
+ "schema": {
+ "$ref": "#/definitions/AvailableSkusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "AvailableSkusPost": {
+ "$ref": "./examples/AvailableSkusPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method provides the list of available skus for the given subscription, resource group and location.",
+ "operationId": "Service_ListAvailableSkusByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "availableSkuRequest",
+ "in": "body",
+ "description": "Filters for showing the available skus.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailableSkuRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of available skus under Resource group.",
+ "schema": {
+ "$ref": "#/definitions/AvailableSkusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "AvailableSkusByResourceGroup": {
+ "$ref": "./examples/AvailableSkusPostByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "[DEPRECATED NOTICE: This operation will soon be removed] This method validates the customer shipping address and provide alternate addresses if any.",
+ "operationId": "Service_ValidateAddress",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validateAddress",
+ "in": "body",
+ "description": "Shipping address of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateAddress"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The valid and alternate addresses.",
+ "schema": {
+ "$ref": "#/definitions/AddressValidationOutput"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "deprecated": true,
+ "x-ms-examples": {
+ "ValidateAddressPost": {
+ "$ref": "./examples/ValidateAddressPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method does all necessary pre-job creation validation under resource group.",
+ "operationId": "Service_ValidateInputsByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validationRequest",
+ "in": "body",
+ "description": "Inputs of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The validation status and responses of each validating parameter.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ServiceValidateInputsByResourceGroup": {
+ "$ref": "./examples/ValidateInputsByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method does all necessary pre-job creation validation under subscription.",
+ "operationId": "Service_ValidateInputs",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validationRequest",
+ "in": "body",
+ "description": "Inputs of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The validation status and responses of each validating parameter.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ServiceValidateInputs": {
+ "$ref": "./examples/ValidateInputs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Lists all the jobs available under the given resource group.",
+ "operationId": "Jobs_ListByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of jobs by resource group.",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "JobsListByResourceGroup": {
+ "$ref": "./examples/JobsListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Gets information about the specified job.",
+ "operationId": "Jobs_Get",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "$expand is supported on details parameter for job, which provides details on the job stages.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "JobsGet": {
+ "$ref": "./examples/JobsGet.json"
+ },
+ "JobsGet1": {
+ "$ref": "./examples/JobsGet1.json"
+ },
+ "JobsGet2": {
+ "$ref": "./examples/JobsGet2.json"
+ },
+ "JobsGet3": {
+ "$ref": "./examples/JobsGet3.json"
+ },
+ "JobsGet4": {
+ "$ref": "./examples/JobsGet4.json"
+ },
+ "JobsGet5": {
+ "$ref": "./examples/JobsGet5.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Creates a new job with the specified parameters. Existing job cannot be updated with this API and should instead be updated with the Update job API.",
+ "operationId": "Jobs_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "jobResource",
+ "in": "body",
+ "description": "Job details from request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "202": {
+ "description": "Accepted request for create Job."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "JobsCreate": {
+ "$ref": "./examples/JobsCreate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Deletes a job.",
+ "operationId": "Jobs_Delete",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted request for delete Job."
+ },
+ "204": {
+ "description": "Job deleted."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "JobsDelete": {
+ "$ref": "./examples/JobsDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Updates the properties of an existing job.",
+ "operationId": "Jobs_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "Defines the If-Match condition. The patch will be performed only if the ETag of the job on the server matches this value.",
+ "type": "string"
+ },
+ {
+ "name": "jobResourceUpdateParameter",
+ "in": "body",
+ "description": "Job update parameters from request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobResourceUpdateParameter"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "202": {
+ "description": "Accepted request for job updated."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "JobsPatch": {
+ "$ref": "./examples/JobsPatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Book shipment pick up.",
+ "operationId": "Jobs_BookShipmentPickUp",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "shipmentPickUpRequest",
+ "in": "body",
+ "description": "Details of shipment pick up request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ShipmentPickUpRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Booked shipment pick up successfully.",
+ "schema": {
+ "$ref": "#/definitions/ShipmentPickUpResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BookShipmentPickupPost": {
+ "$ref": "./examples/BookShipmentPickupPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "CancelJob.",
+ "operationId": "Jobs_Cancel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "cancellationReason",
+ "in": "body",
+ "description": "Reason for cancellation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CancellationReason"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Job cancelled."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "JobsCancelPost": {
+ "$ref": "./examples/JobsCancelPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listCredentials": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "This method gets the unencrypted secrets related to the job.",
+ "operationId": "Jobs_ListCredentials",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of unencrypted credentials of the job.",
+ "schema": {
+ "$ref": "#/definitions/UnencryptedCredentialsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "JobsListCredentials": {
+ "$ref": "./examples/JobsListCredentials.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This API provides configuration details specific to given region/location.",
+ "operationId": "Service_RegionConfiguration",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "regionConfigurationRequest",
+ "in": "body",
+ "description": "Request body to get the configuration for the region.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Region configuration response.",
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ServiceRegionConfiguration": {
+ "$ref": "./examples/RegionConfiguration.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AccountCredentialDetails": {
+ "description": "Credential details of the account.",
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "description": "Name of the account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataDestinationType": {
+ "description": "Data Destination Type.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DataDestinationType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ }
+ },
+ "accountConnectionString": {
+ "description": "Connection string of the account endpoint to use the account as a storage endpoint on the device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareCredentialDetails": {
+ "description": "Per share level unencrypted access credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareCredentialDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AddressValidationOutput": {
+ "description": "Output of the address validation api.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddressValidationProperties",
+ "description": "The address validation properties.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "AddressValidationProperties": {
+ "description": "The address validation output.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "validationStatus": {
+ "description": "The address validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Ambiguous"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AddressValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Address provided is valid."
+ },
+ {
+ "value": "Invalid",
+ "description": "Address provided is invalid or not supported."
+ },
+ {
+ "value": "Ambiguous",
+ "description": "Address provided is ambiguous, please choose one of the alternate addresses returned."
+ }
+ ]
+ }
+ },
+ "alternateAddresses": {
+ "description": "List of alternate addresses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShippingAddress"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "ValidateAddress"
+ },
+ "ApplianceNetworkConfiguration": {
+ "description": "The Network Adapter configuration of a DataBox.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the network.",
+ "type": "string",
+ "readOnly": true
+ },
+ "macAddress": {
+ "description": "Mac Address.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ArmBaseObject": {
+ "description": "Base class for all objects under resource.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Id of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AvailableSkuRequest": {
+ "description": "The filters for showing the available skus.",
+ "required": [
+ "transferType",
+ "country",
+ "location"
+ ],
+ "type": "object",
+ "properties": {
+ "transferType": {
+ "description": "Type of the transfer.",
+ "enum": [
+ "ImportToAzure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ }
+ ]
+ }
+ },
+ "country": {
+ "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01",
+ "type": "string"
+ },
+ "skuNames": {
+ "description": "Sku Names to filter for available skus",
+ "type": "array",
+ "items": {
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Databox."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "DataboxDisk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "DataboxHeavy."
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "AvailableSkusResult": {
+ "description": "The available skus operation response.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of available skus.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuInformation"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of skus.",
+ "type": "string"
+ }
+ }
+ },
+ "CancellationReason": {
+ "description": "Reason for cancellation.",
+ "required": [
+ "reason"
+ ],
+ "type": "object",
+ "properties": {
+ "reason": {
+ "description": "Reason for cancellation.",
+ "type": "string"
+ }
+ }
+ },
+ "ContactDetails": {
+ "description": "Contact Details.",
+ "required": [
+ "contactName",
+ "phone",
+ "emailList"
+ ],
+ "type": "object",
+ "properties": {
+ "contactName": {
+ "description": "Contact name of the person.",
+ "type": "string"
+ },
+ "phone": {
+ "description": "Phone number of the contact person.",
+ "type": "string"
+ },
+ "phoneExtension": {
+ "description": "Phone extension number of the contact person.",
+ "type": "string"
+ },
+ "mobile": {
+ "description": "Mobile number of the contact person.",
+ "type": "string"
+ },
+ "emailList": {
+ "description": "List of Email-ids to be notified about job progress.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "notificationPreference": {
+ "description": "Notification preference for a job stage.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotificationPreference"
+ }
+ }
+ }
+ },
+ "CopyLogDetails": {
+ "description": "Details for log generated during copy.",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "properties": {
+ "copyLogDetailsType": {
+ "description": "Indicates the type of job details.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClassDiscriminator",
+ "modelAsExtensible": false,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Databox orders."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "DataboxDisk orders."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "DataboxHeavy orders."
+ }
+ ]
+ }
+ }
+ },
+ "discriminator": "copyLogDetailsType"
+ },
+ "CopyProgress": {
+ "description": "Copy progress.",
+ "type": "object",
+ "properties": {
+ "storageAccountName": {
+ "description": "Name of the storage account where the data needs to be uploaded.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataDestinationType": {
+ "description": "Data Destination Type.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DataDestinationType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ }
+ },
+ "accountId": {
+ "description": "Id of the account where the data needs to be uploaded.",
+ "type": "string",
+ "readOnly": true
+ },
+ "bytesSentToCloud": {
+ "format": "int64",
+ "description": "Amount of data uploaded by the job as of now.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalBytesToProcess": {
+ "format": "int64",
+ "description": "Total amount of data to be processed by the job.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "filesProcessed": {
+ "format": "int64",
+ "description": "Number of files processed by the job as of now.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalFilesToProcess": {
+ "format": "int64",
+ "description": "Total number of files to be processed by the job.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "invalidFilesProcessed": {
+ "format": "int64",
+ "description": "Number of files not adhering to azure naming conventions which were processed by automatic renaming",
+ "type": "integer",
+ "readOnly": true
+ },
+ "invalidFileBytesUploaded": {
+ "format": "int64",
+ "description": "Total amount of data not adhering to azure naming conventions which were processed by automatic renaming",
+ "type": "integer",
+ "readOnly": true
+ },
+ "renamedContainerCount": {
+ "format": "int64",
+ "description": "Number of folders not adhering to azure naming conventions which were processed by automatic renaming",
+ "type": "integer",
+ "readOnly": true
+ },
+ "filesErroredOut": {
+ "format": "int64",
+ "description": "Number of files which could not be copied",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "CreateOrderLimitForSubscriptionValidationRequest": {
+ "description": "Request to validate create order limit for current subscription.",
+ "required": [
+ "deviceType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateCreateOrderLimit"
+ },
+ "CreateOrderLimitForSubscriptionValidationResponseProperties": {
+ "description": "Properties of create order limit for subscription validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Create order limit validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateCreateOrderLimit"
+ },
+ "DataBoxAccountCopyLogDetails": {
+ "description": "Copy log details for a storage account of a DataBox job",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyLogDetails"
+ }
+ ],
+ "properties": {
+ "accountName": {
+ "description": "Destination account name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "copyLogLink": {
+ "description": "Link for copy logs.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataBoxDiskCopyLogDetails": {
+ "description": "Copy Log Details for a disk",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyLogDetails"
+ }
+ ],
+ "properties": {
+ "diskSerialNumber": {
+ "description": "Disk Serial Number.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorLogLink": {
+ "description": "Link for copy error logs.",
+ "type": "string",
+ "readOnly": true
+ },
+ "verboseLogLink": {
+ "description": "Link for copy verbose logs.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxDiskCopyProgress": {
+ "description": "DataBox Disk Copy Progress",
+ "type": "object",
+ "properties": {
+ "serialNumber": {
+ "description": "The serial number of the disk",
+ "type": "string",
+ "readOnly": true
+ },
+ "bytesCopied": {
+ "format": "int64",
+ "description": "Bytes copied during the copy of disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "Indicates the percentage completed for the copy of the disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The Status of the copy",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Completed",
+ "CompletedWithErrors",
+ "Failed",
+ "NotReturned",
+ "HardwareError",
+ "DeviceFormatted",
+ "DeviceMetadataModified",
+ "StorageAccountNotAccessible",
+ "UnsupportedData"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CopyStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "NotStarted",
+ "description": "Data copy hasn't started yet."
+ },
+ {
+ "value": "InProgress",
+ "description": "Data copy is in progress."
+ },
+ {
+ "value": "Completed",
+ "description": "Data copy completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Data copy completed with errors."
+ },
+ {
+ "value": "Failed",
+ "description": "Data copy failed. No data was copied."
+ },
+ {
+ "value": "NotReturned",
+ "description": "No copy triggered as device was not returned."
+ },
+ {
+ "value": "HardwareError",
+ "description": "The Device has hit hardware issues."
+ },
+ {
+ "value": "DeviceFormatted",
+ "description": "Data copy failed. The Device was formatted by user."
+ },
+ {
+ "value": "DeviceMetadataModified",
+ "description": "Data copy failed. Device metadata was modified by user."
+ },
+ {
+ "value": "StorageAccountNotAccessible",
+ "description": "Data copy failed. Storage Account was not accessible during copy."
+ },
+ {
+ "value": "UnsupportedData",
+ "description": "Data copy failed. The Device data content is not supported."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "DataBoxDiskJobDetails": {
+ "description": "DataBox Disk Job Details.",
+ "required": [
+ "contactDetails",
+ "shippingAddress",
+ "destinationAccountDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "preferredDisks": {
+ "description": "User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "copyProgress": {
+ "description": "Copy progress per disk.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxDiskCopyProgress"
+ },
+ "readOnly": true
+ },
+ "disksAndSizeDetails": {
+ "description": "Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "readOnly": true
+ },
+ "passkey": {
+ "description": "User entered passkey for DataBox Disk job.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxDiskJobSecrets": {
+ "description": "The secrets related to disk job.",
+ "required": [
+ "jobSecretsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobSecrets"
+ }
+ ],
+ "properties": {
+ "diskSecrets": {
+ "description": "Contains the list of secrets object for that device.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskSecret"
+ },
+ "readOnly": true
+ },
+ "passKey": {
+ "description": "PassKey for the disk Job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isPasskeyUserDefined": {
+ "description": "Whether passkey was provided by user.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxHeavyAccountCopyLogDetails": {
+ "description": "Copy log details for a storage account for Databox heavy",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyLogDetails"
+ }
+ ],
+ "properties": {
+ "accountName": {
+ "description": "Destination account name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "copyLogLink": {
+ "description": "Link for copy logs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "DataBoxHeavyJobDetails": {
+ "description": "Databox Heavy Device Job Details",
+ "required": [
+ "contactDetails",
+ "shippingAddress",
+ "destinationAccountDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "copyProgress": {
+ "description": "Copy progress per account.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CopyProgress"
+ },
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Set Device password for unlocking Databox Heavy",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "DataBoxHeavyJobSecrets": {
+ "description": "The secrets related to a databox heavy job.",
+ "required": [
+ "jobSecretsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobSecrets"
+ }
+ ],
+ "properties": {
+ "cabinetPodSecrets": {
+ "description": "Contains the list of secret objects for a databox heavy job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxHeavySecret"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "DataBoxHeavySecret": {
+ "description": "The secrets related to a databox heavy.",
+ "type": "object",
+ "properties": {
+ "deviceSerialNumber": {
+ "description": "Serial number of the assigned device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Password for out of the box experience on device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkConfigurations": {
+ "description": "Network configuration of the appliance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplianceNetworkConfiguration"
+ },
+ "readOnly": true
+ },
+ "encodedValidationCertPubKey": {
+ "description": "The base 64 encoded public key to authenticate with the device",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountCredentialDetails": {
+ "description": "Per account level access credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccountCredentialDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxJobDetails": {
+ "description": "Databox Job Details",
+ "required": [
+ "contactDetails",
+ "shippingAddress",
+ "destinationAccountDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "copyProgress": {
+ "description": "Copy progress per storage account.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CopyProgress"
+ },
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Set Device password for unlocking Databox",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataboxJobSecrets": {
+ "description": "The secrets related to a databox job.",
+ "required": [
+ "jobSecretsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobSecrets"
+ }
+ ],
+ "properties": {
+ "podSecrets": {
+ "description": "Contains the list of secret objects for a job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxSecret"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataBoxScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling data box orders orders.",
+ "required": [
+ "storageLocation",
+ "skuName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataBoxSecret": {
+ "description": "The secrets related to a DataBox.",
+ "type": "object",
+ "properties": {
+ "deviceSerialNumber": {
+ "description": "Serial number of the assigned device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Password for out of the box experience on device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkConfigurations": {
+ "description": "Network configuration of the appliance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplianceNetworkConfiguration"
+ },
+ "readOnly": true
+ },
+ "encodedValidationCertPubKey": {
+ "description": "The base 64 encoded public key to authenticate with the device",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountCredentialDetails": {
+ "description": "Per account level access credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccountCredentialDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataDestinationDetailsValidationRequest": {
+ "description": "Request to validate data destination details.",
+ "required": [
+ "destinationAccountDetails",
+ "location",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "destinationAccountDetails": {
+ "description": "Destination account details list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DestinationAccountDetails"
+ }
+ },
+ "location": {
+ "description": "Location of stamp or geo.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ValidateDataDestinationDetails"
+ },
+ "DataDestinationDetailsValidationResponseProperties": {
+ "description": "Properties of data destination details validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Data destination details validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateDataDestinationDetails"
+ },
+ "DcAccessSecurityCode": {
+ "description": "Dc Access Security code for device.",
+ "type": "object",
+ "properties": {
+ "forwardDcAccessCode": {
+ "description": "Dc Access Code for dispatching from DC.",
+ "type": "string"
+ },
+ "reverseDcAccessCode": {
+ "description": "Dc Access code for dropping off at DC.",
+ "type": "string"
+ }
+ }
+ },
+ "DestinationAccountDetails": {
+ "description": "Details of the destination storage accounts.",
+ "required": [
+ "dataDestinationType"
+ ],
+ "type": "object",
+ "properties": {
+ "dataDestinationType": {
+ "description": "Data Destination Type.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataDestinationType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ }
+ },
+ "accountId": {
+ "description": "Arm Id of the destination where the data has to be moved.",
+ "type": "string"
+ },
+ "sharePassword": {
+ "description": "Share password to be shared by all shares in SA.",
+ "type": "string"
+ }
+ },
+ "discriminator": "dataDestinationType"
+ },
+ "DestinationManagedDiskDetails": {
+ "description": "Details for the destination compute disks.",
+ "required": [
+ "resourceGroupId",
+ "stagingStorageAccountId",
+ "dataDestinationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DestinationAccountDetails"
+ }
+ ],
+ "properties": {
+ "resourceGroupId": {
+ "description": "Destination Resource Group Id where the Compute disks should be created.",
+ "type": "string"
+ },
+ "stagingStorageAccountId": {
+ "description": "Arm Id of the storage account that can be used to copy the vhd for staging.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ManagedDisk"
+ },
+ "DestinationStorageAccountDetails": {
+ "description": "Details for the destination storage account.",
+ "required": [
+ "storageAccountId",
+ "dataDestinationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DestinationAccountDetails"
+ }
+ ],
+ "properties": {
+ "storageAccountId": {
+ "description": "Destination Storage Account Arm Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "StorageAccount"
+ },
+ "DestinationToServiceLocationMap": {
+ "description": "Map of destination location to service location.",
+ "type": "object",
+ "properties": {
+ "destinationLocation": {
+ "description": "Location of the destination.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceLocation": {
+ "description": "Location of the service.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DiskScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling disk orders.",
+ "required": [
+ "expectedDataSizeInTerabytes",
+ "storageLocation",
+ "skuName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest"
+ }
+ ],
+ "properties": {
+ "expectedDataSizeInTerabytes": {
+ "format": "int32",
+ "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DiskSecret": {
+ "description": "Contains all the secrets of a Disk.",
+ "type": "object",
+ "properties": {
+ "diskSerialNumber": {
+ "description": "Serial number of the assigned disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "bitLockerKey": {
+ "description": "Bit Locker key of the disk which can be used to unlock the disk to copy data.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Error": {
+ "description": "Top level error for the job.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code that can be used to programmatically identify the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Describes the error in detail and provides debugging information.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "HeavyScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling heavy orders.",
+ "required": [
+ "storageLocation",
+ "skuName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "JobDeliveryInfo": {
+ "description": "Additional delivery info.",
+ "type": "object",
+ "properties": {
+ "scheduledDateTime": {
+ "format": "date-time",
+ "description": "Scheduled date time.",
+ "type": "string"
+ }
+ }
+ },
+ "JobDetails": {
+ "description": "Job details.",
+ "required": [
+ "contactDetails",
+ "shippingAddress",
+ "destinationAccountDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "properties": {
+ "expectedDataSizeInTerabytes": {
+ "format": "int32",
+ "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.",
+ "type": "integer"
+ },
+ "jobStages": {
+ "description": "List of stages that run in the job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobStages"
+ },
+ "readOnly": true
+ },
+ "contactDetails": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "Contact details for notification and shipping."
+ },
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping address of the customer."
+ },
+ "deliveryPackage": {
+ "$ref": "#/definitions/PackageShippingDetails",
+ "description": "Delivery package shipping details.",
+ "readOnly": true
+ },
+ "returnPackage": {
+ "$ref": "#/definitions/PackageShippingDetails",
+ "description": "Return package shipping details.",
+ "readOnly": true
+ },
+ "destinationAccountDetails": {
+ "description": "Destination account details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DestinationAccountDetails"
+ }
+ },
+ "errorDetails": {
+ "description": "Error details for failure. This is optional.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobErrorDetails"
+ },
+ "readOnly": true
+ },
+ "jobDetailsType": {
+ "description": "Indicates the type of job details.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClassDiscriminator",
+ "modelAsExtensible": false,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Databox orders."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "DataboxDisk orders."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "DataboxHeavy orders."
+ }
+ ]
+ }
+ },
+ "preferences": {
+ "$ref": "#/definitions/Preferences",
+ "description": "Preferences for the order."
+ },
+ "copyLogDetails": {
+ "description": "List of copy log details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CopyLogDetails"
+ },
+ "readOnly": true
+ },
+ "reverseShipmentLabelSasKey": {
+ "description": "Shared access key to download the return shipment label",
+ "type": "string",
+ "readOnly": true
+ },
+ "chainOfCustodySasKey": {
+ "description": "Shared access key to download the chain of custody logs",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "jobDetailsType"
+ },
+ "JobErrorDetails": {
+ "description": "Job Error Details for providing the information and recommended action.",
+ "type": "object",
+ "properties": {
+ "errorMessage": {
+ "description": "Message for the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorCode": {
+ "format": "int32",
+ "description": "Code for the error.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "recommendedAction": {
+ "description": "Recommended action for the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "exceptionMessage": {
+ "description": "Contains the non localized exception message",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobProperties": {
+ "description": "Job Properties",
+ "type": "object",
+ "properties": {
+ "isCancellable": {
+ "description": "Describes whether the job is cancellable or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "isDeletable": {
+ "description": "Describes whether the job is deletable or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "isShippingAddressEditable": {
+ "description": "Describes whether the shipping address is editable or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Name of the stage which is in progress.",
+ "enum": [
+ "DeviceOrdered",
+ "DevicePrepared",
+ "Dispatched",
+ "Delivered",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy",
+ "Completed",
+ "CompletedWithErrors",
+ "Cancelled",
+ "Failed_IssueReportedAtCustomer",
+ "Failed_IssueDetectedAtAzureDC",
+ "Aborted",
+ "CompletedWithWarnings",
+ "ReadyToDispatchFromAzureDC",
+ "ReadyToReceiveAtAzureDC"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DeviceOrdered",
+ "description": "An order has been created."
+ },
+ {
+ "value": "DevicePrepared",
+ "description": "A device has been prepared for the order."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Device has been dispatched to the user of the order."
+ },
+ {
+ "value": "Delivered",
+ "description": "Device has been delivered to the user of the order."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Device has been picked up from user and in transit to azure datacenter."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Device has been received at azure datacenter from the user."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Data copy from the device at azure datacenter."
+ },
+ {
+ "value": "Completed",
+ "description": "Order has completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Order has completed with errors."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
+ },
+ {
+ "value": "Failed_IssueReportedAtCustomer",
+ "description": "Order has failed due to issue reported by user."
+ },
+ {
+ "value": "Failed_IssueDetectedAtAzureDC",
+ "description": "Order has failed due to issue detected at azure datacenter."
+ },
+ {
+ "value": "Aborted",
+ "description": "Order has been aborted."
+ },
+ {
+ "value": "CompletedWithWarnings",
+ "description": "Order has completed with warnings."
+ },
+ {
+ "value": "ReadyToDispatchFromAzureDC",
+ "description": "Device is ready to be handed to customer from Azure DC."
+ },
+ {
+ "value": "ReadyToReceiveAtAzureDC",
+ "description": "Device can be dropped off at Azure DC."
+ }
+ ]
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Time at which the job was started in UTC ISO 8601 format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Top level error for the job.",
+ "readOnly": true
+ },
+ "details": {
+ "$ref": "#/definitions/JobDetails",
+ "description": "Details of a job run. This field will only be sent for expand details filter."
+ },
+ "cancellationReason": {
+ "description": "Reason for cancellation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deliveryType": {
+ "description": "Delivery type of Job.",
+ "enum": [
+ "NonScheduled",
+ "Scheduled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobDeliveryType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "NonScheduled",
+ "description": "Non Scheduled job."
+ },
+ {
+ "value": "Scheduled",
+ "description": "Scheduled job."
+ }
+ ]
+ }
+ },
+ "deliveryInfo": {
+ "$ref": "#/definitions/JobDeliveryInfo",
+ "description": "Delivery Info of Job."
+ },
+ "isCancellableWithoutFee": {
+ "description": "Flag to indicate cancellation of scheduled job.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResource": {
+ "description": "Job Resource.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "Properties of a job.",
+ "x-ms-client-flatten": true
+ },
+ "name": {
+ "description": "Name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Id of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResourceList": {
+ "description": "Job Resource Collection",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of job resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link for the next set of job resources.",
+ "type": "string"
+ }
+ }
+ },
+ "JobResourceUpdateParameter": {
+ "description": "The JobResourceUpdateParameter.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateJobProperties",
+ "description": "Properties of a job to be updated.",
+ "x-ms-client-flatten": true
+ },
+ "tags": {
+ "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "JobSecrets": {
+ "description": "The base class for the secrets",
+ "required": [
+ "jobSecretsType"
+ ],
+ "type": "object",
+ "properties": {
+ "jobSecretsType": {
+ "description": "Used to indicate what type of job secrets object.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClassDiscriminator",
+ "modelAsExtensible": false,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Databox orders."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "DataboxDisk orders."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "DataboxHeavy orders."
+ }
+ ]
+ }
+ },
+ "dcAccessSecurityCode": {
+ "$ref": "#/definitions/DcAccessSecurityCode",
+ "description": "Dc Access Security Code for Customer Managed Shipping"
+ }
+ },
+ "discriminator": "jobSecretsType"
+ },
+ "JobStages": {
+ "description": "Job stages.",
+ "type": "object",
+ "properties": {
+ "stageName": {
+ "description": "Name of the job stage.",
+ "enum": [
+ "DeviceOrdered",
+ "DevicePrepared",
+ "Dispatched",
+ "Delivered",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy",
+ "Completed",
+ "CompletedWithErrors",
+ "Cancelled",
+ "Failed_IssueReportedAtCustomer",
+ "Failed_IssueDetectedAtAzureDC",
+ "Aborted",
+ "CompletedWithWarnings",
+ "ReadyToDispatchFromAzureDC",
+ "ReadyToReceiveAtAzureDC"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DeviceOrdered",
+ "description": "An order has been created."
+ },
+ {
+ "value": "DevicePrepared",
+ "description": "A device has been prepared for the order."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Device has been dispatched to the user of the order."
+ },
+ {
+ "value": "Delivered",
+ "description": "Device has been delivered to the user of the order."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Device has been picked up from user and in transit to azure datacenter."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Device has been received at azure datacenter from the user."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Data copy from the device at azure datacenter."
+ },
+ {
+ "value": "Completed",
+ "description": "Order has completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Order has completed with errors."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
+ },
+ {
+ "value": "Failed_IssueReportedAtCustomer",
+ "description": "Order has failed due to issue reported by user."
+ },
+ {
+ "value": "Failed_IssueDetectedAtAzureDC",
+ "description": "Order has failed due to issue detected at azure datacenter."
+ },
+ {
+ "value": "Aborted",
+ "description": "Order has been aborted."
+ },
+ {
+ "value": "CompletedWithWarnings",
+ "description": "Order has completed with warnings."
+ },
+ {
+ "value": "ReadyToDispatchFromAzureDC",
+ "description": "Device is ready to be handed to customer from Azure DC."
+ },
+ {
+ "value": "ReadyToReceiveAtAzureDC",
+ "description": "Device can be dropped off at Azure DC."
+ }
+ ]
+ }
+ },
+ "displayName": {
+ "description": "Display name of the job stage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "stageStatus": {
+ "description": "Status of the job stage.",
+ "enum": [
+ "None",
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Cancelling",
+ "SucceededWithErrors"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No status available yet."
+ },
+ {
+ "value": "InProgress",
+ "description": "Stage is in progress."
+ },
+ {
+ "value": "Succeeded",
+ "description": "Stage has succeeded."
+ },
+ {
+ "value": "Failed",
+ "description": "Stage has failed."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Stage has been cancelled."
+ },
+ {
+ "value": "Cancelling",
+ "description": "Stage is cancelling."
+ },
+ {
+ "value": "SucceededWithErrors",
+ "description": "Stage has succeeded with errors."
+ }
+ ]
+ }
+ },
+ "stageTime": {
+ "format": "date-time",
+ "description": "Time for the job stage in UTC ISO 8601 format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobStageDetails": {
+ "description": "Job Stage Details",
+ "type": "object",
+ "readOnly": true
+ },
+ "errorDetails": {
+ "description": "Error details for the stage.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobErrorDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "NotificationPreference": {
+ "description": "Notification preference for a job stage.",
+ "required": [
+ "stageName",
+ "sendNotification"
+ ],
+ "type": "object",
+ "properties": {
+ "stageName": {
+ "description": "Name of the stage.",
+ "enum": [
+ "DevicePrepared",
+ "Dispatched",
+ "Delivered",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NotificationStageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DevicePrepared",
+ "description": "Notification at device prepared stage."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Notification at device dispatched stage."
+ },
+ {
+ "value": "Delivered",
+ "description": "Notification at device delivered stage."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Notification at device picked up from user stage."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Notification at device received at azure datacenter stage."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Notification at data copy started stage."
+ }
+ ]
+ }
+ },
+ "sendNotification": {
+ "description": "Notification is required or not.",
+ "type": "boolean"
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operation entity.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation. Format: {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Operation display values.",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Operation properties.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ },
+ "origin": {
+ "description": "Origin of the operation. Can be : user|system|user,system",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource name.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized name of the operation for display purpose.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized description of the operation for display purpose.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationList": {
+ "description": "Operation Collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of operations.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Operation properties.",
+ "type": "object",
+ "properties": {}
+ },
+ "PackageShippingDetails": {
+ "description": "Shipping details.",
+ "type": "object",
+ "properties": {
+ "carrierName": {
+ "description": "Name of the carrier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingId": {
+ "description": "Tracking Id of shipment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingUrl": {
+ "description": "Url where shipment can be tracked.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Preferences": {
+ "description": "Preferences related to the order",
+ "type": "object",
+ "properties": {
+ "preferredDataCenterRegion": {
+ "description": "Preferred Data Center Region.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transportPreferences": {
+ "$ref": "#/definitions/TransportPreferences",
+ "description": "Preferences related to the shipment logistics of the sku."
+ }
+ }
+ },
+ "PreferencesValidationRequest": {
+ "description": "Request to validate preference of transport and data center.",
+ "required": [
+ "deviceType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "preference": {
+ "description": "Preference requested with respect to transport type and data center",
+ "$ref": "#/definitions/Preferences"
+ },
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidatePreferences"
+ },
+ "PreferencesValidationResponseProperties": {
+ "description": "Properties of data center and transport preference validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Validation status of requested data center and transport.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidatePreferences"
+ },
+ "RegionConfigurationRequest": {
+ "description": "Request body to get the configuration for the region.",
+ "type": "object",
+ "properties": {
+ "scheduleAvailabilityRequest": {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest",
+ "description": "Request body to get the availability for scheduling orders."
+ },
+ "transportAvailabilityRequest": {
+ "$ref": "#/definitions/TransportAvailabilityRequest",
+ "description": "Request body to get the transport availability for given sku."
+ }
+ }
+ },
+ "RegionConfigurationResponse": {
+ "description": "Configuration response specific to a region.",
+ "type": "object",
+ "properties": {
+ "scheduleAvailabilityResponse": {
+ "$ref": "#/definitions/ScheduleAvailabilityResponse",
+ "description": "Schedule availability for given sku in a region.",
+ "readOnly": true
+ },
+ "transportAvailabilityResponse": {
+ "$ref": "#/definitions/TransportAvailabilityResponse",
+ "description": "Transport options available for given sku in a region.",
+ "readOnly": true
+ }
+ }
+ },
+ "Resource": {
+ "description": "Model of the Resource.",
+ "required": [
+ "location",
+ "sku"
+ ],
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The sku type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling orders.",
+ "required": [
+ "storageLocation",
+ "skuName"
+ ],
+ "type": "object",
+ "properties": {
+ "storageLocation": {
+ "description": "Location for data transfer. \r\nFor locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01",
+ "type": "string"
+ },
+ "skuName": {
+ "description": "Sku Name for which the order is to be scheduled.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ },
+ "discriminator": "skuName"
+ },
+ "ScheduleAvailabilityResponse": {
+ "description": "Schedule availability response for given sku in a region.",
+ "type": "object",
+ "properties": {
+ "availableDates": {
+ "description": "List of dates available to schedule",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ShareCredentialDetails": {
+ "description": "Credential details of the shares in account.",
+ "type": "object",
+ "properties": {
+ "shareName": {
+ "description": "Name of the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareType": {
+ "description": "Type of the share.",
+ "enum": [
+ "UnknownType",
+ "HCS",
+ "BlockBlob",
+ "PageBlob",
+ "AzureFile",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ShareDestinationFormatType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "UnknownType",
+ "description": "Unknown format."
+ },
+ {
+ "value": "HCS",
+ "description": "Storsimple data format."
+ },
+ {
+ "value": "BlockBlob",
+ "description": "Azure storage block blob format."
+ },
+ {
+ "value": "PageBlob",
+ "description": "Azure storage page blob format."
+ },
+ {
+ "value": "AzureFile",
+ "description": "Azure storage file format."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Compute Disk."
+ }
+ ]
+ }
+ },
+ "userName": {
+ "description": "User name for the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "password": {
+ "description": "Password for the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedAccessProtocols": {
+ "description": "Access protocols supported on the device.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "SMB",
+ "NFS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessProtocol",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "SMB",
+ "description": "Server Message Block protocol(SMB)."
+ },
+ {
+ "value": "NFS",
+ "description": "Network File System protocol(NFS)."
+ }
+ ]
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ShipmentPickUpRequest": {
+ "description": "Shipment pick up request details.",
+ "required": [
+ "startTime",
+ "endTime",
+ "shipmentLocation"
+ ],
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "Minimum date after which the pick up should commence, this must be in local time of pick up area.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Maximum date before which the pick up should commence, this must be in local time of pick up area.",
+ "type": "string"
+ },
+ "shipmentLocation": {
+ "description": "Shipment Location in the pickup place. Eg.front desk",
+ "type": "string"
+ }
+ }
+ },
+ "ShipmentPickUpResponse": {
+ "description": "Shipment pick up response.",
+ "type": "object",
+ "properties": {
+ "confirmationNumber": {
+ "description": "Confirmation number for the pick up request.",
+ "type": "string",
+ "readOnly": true
+ },
+ "readyByTime": {
+ "format": "date-time",
+ "description": "Time by which shipment should be ready for pick up, this is in local time of pick up area.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ShippingAddress": {
+ "description": "Shipping address where customer wishes to receive the device.",
+ "required": [
+ "streetAddress1",
+ "country",
+ "postalCode"
+ ],
+ "type": "object",
+ "properties": {
+ "streetAddress1": {
+ "description": "Street Address line 1.",
+ "type": "string"
+ },
+ "streetAddress2": {
+ "description": "Street Address line 2.",
+ "type": "string"
+ },
+ "streetAddress3": {
+ "description": "Street Address line 3.",
+ "type": "string"
+ },
+ "city": {
+ "description": "Name of the City.",
+ "type": "string"
+ },
+ "stateOrProvince": {
+ "description": "Name of the State or Province.",
+ "type": "string"
+ },
+ "country": {
+ "description": "Name of the Country.",
+ "type": "string"
+ },
+ "postalCode": {
+ "description": "Postal code.",
+ "type": "string"
+ },
+ "zipExtendedCode": {
+ "description": "Extended Zip Code.",
+ "type": "string"
+ },
+ "companyName": {
+ "description": "Name of the company.",
+ "type": "string"
+ },
+ "addressType": {
+ "description": "Type of address.",
+ "enum": [
+ "None",
+ "Residential",
+ "Commercial"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AddressType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Address type not known."
+ },
+ {
+ "value": "Residential",
+ "description": "Residential Address."
+ },
+ {
+ "value": "Commercial",
+ "description": "Commercial Address."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "Sku": {
+ "description": "The Sku.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The sku name.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Databox."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "DataboxDisk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "DataboxHeavy."
+ }
+ ]
+ }
+ },
+ "displayName": {
+ "description": "The display name of the sku.",
+ "type": "string"
+ },
+ "family": {
+ "description": "The sku family.",
+ "type": "string"
+ }
+ }
+ },
+ "SkuAvailabilityValidationRequest": {
+ "description": "Request to validate sku availability.",
+ "required": [
+ "deviceType",
+ "transferType",
+ "country",
+ "location",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "transferType": {
+ "description": "Type of the transfer.",
+ "enum": [
+ "ImportToAzure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ }
+ ]
+ }
+ },
+ "country": {
+ "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ValidateSkuAvailability"
+ },
+ "SkuAvailabilityValidationResponseProperties": {
+ "description": "Properties of sku availability validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Sku availability validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateSkuAvailability"
+ },
+ "SkuCapacity": {
+ "description": "Capacity of the sku.",
+ "type": "object",
+ "properties": {
+ "usable": {
+ "description": "Usable capacity in TB.",
+ "type": "string",
+ "readOnly": true
+ },
+ "maximum": {
+ "description": "Maximum capacity in TB.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuCost": {
+ "description": "Describes metadata for retrieving price info.",
+ "type": "object",
+ "properties": {
+ "meterId": {
+ "description": "Meter id of the Sku.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterType": {
+ "description": "The type of the meter.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformation": {
+ "description": "Information of the sku.",
+ "type": "object",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The Sku.",
+ "readOnly": true
+ },
+ "enabled": {
+ "description": "The sku is enabled or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/SkuProperties",
+ "description": "Properties of the sku.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SkuProperties": {
+ "description": "Properties of the sku.",
+ "type": "object",
+ "properties": {
+ "destinationToServiceLocationMap": {
+ "description": "The map of destination location to service location.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DestinationToServiceLocationMap"
+ },
+ "readOnly": true
+ },
+ "capacity": {
+ "$ref": "#/definitions/SkuCapacity",
+ "description": "Capacity of the Sku.",
+ "readOnly": true
+ },
+ "costs": {
+ "description": "Cost of the Sku.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "apiVersions": {
+ "description": "Api versions that support this Sku.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "disabledReason": {
+ "description": "Reason why the Sku is disabled.",
+ "enum": [
+ "None",
+ "Country",
+ "Region",
+ "Feature",
+ "OfferType",
+ "NoSubscriptionInfo"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuDisabledReason",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "SKU is not disabled."
+ },
+ {
+ "value": "Country",
+ "description": "SKU is not available in the requested country."
+ },
+ {
+ "value": "Region",
+ "description": "SKU is not available to push data to the requested Azure region."
+ },
+ {
+ "value": "Feature",
+ "description": "Required features are not enabled for the SKU."
+ },
+ {
+ "value": "OfferType",
+ "description": "Subscription does not have required offer types for the SKU."
+ },
+ {
+ "value": "NoSubscriptionInfo",
+ "description": "Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification."
+ }
+ ]
+ }
+ },
+ "disabledReasonMessage": {
+ "description": "Message for why the Sku is disabled.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredFeature": {
+ "description": "Required feature to access the sku.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SubscriptionIsAllowedToCreateJobValidationRequest": {
+ "description": "Request to validate subscription permission to create jobs.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob"
+ },
+ "SubscriptionIsAllowedToCreateJobValidationResponseProperties": {
+ "description": "Properties of subscription permission to create job validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Validation status of subscription permission to create job.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob"
+ },
+ "TransportAvailabilityRequest": {
+ "description": "Request body to get the transport availability for given sku.",
+ "type": "object",
+ "properties": {
+ "skuName": {
+ "description": "Type of the device.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "TransportAvailabilityResponse": {
+ "description": "Transport options available for given sku in a region.",
+ "type": "object",
+ "properties": {
+ "transportAvailabilityDetails": {
+ "description": "List of transport availability details for given region",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TransportAvailabilityDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "TransportAvailabilityDetails": {
+ "description": "Transport options availability details for given region.",
+ "type": "object",
+ "properties": {
+ "shipmentType": {
+ "description": "Transport Shipment Type supported for given region.",
+ "enum": [
+ "CustomerManaged",
+ "MicrosoftManaged"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TransportShipmentTypes",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "CustomerManaged",
+ "description": "Shipment Logistics is handled by the customer."
+ },
+ {
+ "value": "MicrosoftManaged",
+ "description": "Shipment Logistics is handled by Microsoft."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "TransportPreferences": {
+ "description": "Preferences related to the shipment logistics of the sku",
+ "required": [
+ "preferredShipmentType"
+ ],
+ "type": "object",
+ "properties": {
+ "preferredShipmentType": {
+ "description": "Indicates Shipment Logistics type that the customer preferred.",
+ "enum": [
+ "CustomerManaged",
+ "MicrosoftManaged"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransportShipmentTypes",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "CustomerManaged",
+ "description": "Shipment Logistics is handled by the customer."
+ },
+ {
+ "value": "MicrosoftManaged",
+ "description": "Shipment Logistics is handled by Microsoft."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "UnencryptedCredentials": {
+ "description": "Unencrypted credentials for accessing device.",
+ "type": "object",
+ "properties": {
+ "jobName": {
+ "description": "Name of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobSecrets": {
+ "$ref": "#/definitions/JobSecrets",
+ "description": "Secrets related to this job.",
+ "readOnly": true
+ }
+ }
+ },
+ "UnencryptedCredentialsList": {
+ "description": "List of unencrypted credentials for accessing device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of unencrypted credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UnencryptedCredentials"
+ }
+ },
+ "nextLink": {
+ "description": "Link for the next set of unencrypted credentials.",
+ "type": "string"
+ }
+ }
+ },
+ "UpdateJobDetails": {
+ "description": "Job details for update.",
+ "type": "object",
+ "properties": {
+ "contactDetails": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "Contact details for notification and shipping."
+ },
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping address of the customer."
+ }
+ }
+ },
+ "UpdateJobProperties": {
+ "description": "Job Properties for update",
+ "type": "object",
+ "properties": {
+ "details": {
+ "$ref": "#/definitions/UpdateJobDetails",
+ "description": "Details of a job to be updated."
+ },
+ "destinationAccountDetails": {
+ "description": "Destination account details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DestinationAccountDetails"
+ }
+ }
+ }
+ },
+ "ValidateAddress": {
+ "description": "The requirements to validate customer address where the device needs to be shipped.",
+ "required": [
+ "shippingAddress",
+ "deviceType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping address of the customer."
+ },
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Databox."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "DataboxDisk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "DataboxHeavy."
+ }
+ ]
+ }
+ },
+ "transportPreferences": {
+ "$ref": "#/definitions/TransportPreferences",
+ "description": "Preferences related to the shipment logistics of the sku."
+ }
+ },
+ "x-ms-discriminator-value": "ValidateAddress"
+ },
+ "ValidationInputRequest": {
+ "description": "Minimum fields that must be present in any type of validation request.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "properties": {
+ "validationType": {
+ "description": "Identifies the type of validation request.",
+ "enum": [
+ "ValidateAddress",
+ "ValidateDataDestinationDetails",
+ "ValidateSubscriptionIsAllowedToCreateJob",
+ "ValidatePreferences",
+ "ValidateCreateOrderLimit",
+ "ValidateSkuAvailability"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationInputDiscriminator",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ValidateAddress",
+ "description": "Identify request and response of address validation."
+ },
+ {
+ "value": "ValidateDataDestinationDetails",
+ "description": "Identify request and response of data destination details validation."
+ },
+ {
+ "value": "ValidateSubscriptionIsAllowedToCreateJob",
+ "description": "Identify request and response for validation of subscription permission to create job."
+ },
+ {
+ "value": "ValidatePreferences",
+ "description": "Identify request and response of preference validation."
+ },
+ {
+ "value": "ValidateCreateOrderLimit",
+ "description": "Identify request and response of create order limit for subscription validation."
+ },
+ {
+ "value": "ValidateSkuAvailability",
+ "description": "Identify request and response of active job limit for sku availability."
+ }
+ ]
+ }
+ }
+ },
+ "discriminator": "validationType"
+ },
+ "ValidationInputResponse": {
+ "description": "Minimum properties that should be present in each individual validation response.",
+ "type": "object",
+ "required": [
+ "validationType"
+ ],
+ "properties": {
+ "validationType": {
+ "description": "Identifies the type of validation response.",
+ "enum": [
+ "ValidateAddress",
+ "ValidateDataDestinationDetails",
+ "ValidateSubscriptionIsAllowedToCreateJob",
+ "ValidatePreferences",
+ "ValidateCreateOrderLimit",
+ "ValidateSkuAvailability"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationInputDiscriminator",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ValidateAddress",
+ "description": "Identify request and response of address validation."
+ },
+ {
+ "value": "ValidateDataDestinationDetails",
+ "description": "Identify request and response of data destination details validation."
+ },
+ {
+ "value": "ValidateSubscriptionIsAllowedToCreateJob",
+ "description": "Identify request and response for validation of subscription permission to create job."
+ },
+ {
+ "value": "ValidatePreferences",
+ "description": "Identify request and response of preference validation."
+ },
+ {
+ "value": "ValidateCreateOrderLimit",
+ "description": "Identify request and response of create order limit for subscription validation."
+ },
+ {
+ "value": "ValidateSkuAvailability",
+ "description": "Identify request and response of active job limit for sku availability."
+ }
+ ]
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Error code and message of validation response.",
+ "readOnly": true
+ }
+ },
+ "discriminator": "validationType"
+ },
+ "ValidationRequest": {
+ "description": "Input request for all pre job creation validation.",
+ "required": [
+ "validationCategory",
+ "individualRequestDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "individualRequestDetails": {
+ "description": "List of request details contain validationType and its request as key and value respectively.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ },
+ "validationCategory": {
+ "description": "Identify the nature of validation.",
+ "enum": [
+ "JobCreationValidation"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationCategory",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "JobCreationValidation",
+ "description": "Identify request of pre-job creation validations."
+ }
+ ]
+ }
+ }
+ },
+ "discriminator": "validationCategory"
+ },
+ "CreateJobValidations": {
+ "description": "It does all pre-job creation validations.",
+ "required": [
+ "validationCategory",
+ "individualRequestDetails"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "JobCreationValidation"
+ },
+ "ValidationResponse": {
+ "description": "Response of pre job creation validations.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ValidationResponseProperties",
+ "description": "Properties of pre job creation validation response.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ValidationResponseProperties": {
+ "description": "Properties of pre job creation validation response.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Overall validation status.",
+ "enum": [
+ "AllValidToProceed",
+ "InputsRevisitRequired",
+ "CertainInputValidationsSkipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "OverallValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "AllValidToProceed",
+ "description": "Every input request is valid."
+ },
+ {
+ "value": "InputsRevisitRequired",
+ "description": "Some input requests are not valid."
+ },
+ {
+ "value": "CertainInputValidationsSkipped",
+ "description": "Certain input validations skipped."
+ }
+ ]
+ }
+ },
+ "individualResponseDetails": {
+ "description": "List of response details contain validationType and its response as key and value respectively.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ValidationInputResponse"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "CloudError": {
+ "description": "The error information object.",
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Error code string."
+ },
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Descriptive error information."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudError"
+ },
+ "description": "More detailed error information."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API Version",
+ "required": true,
+ "type": "string"
+ },
+ "jobNameParameter": {
+ "name": "jobName",
+ "in": "path",
+ "description": "The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only",
+ "required": true,
+ "type": "string",
+ "maxLength": 24,
+ "minLength": 3,
+ "pattern": "^[-\\w\\.]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "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"
+ ]
+ }
+ ]
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/AvailableSkusPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/AvailableSkusPost.json
new file mode 100644
index 000000000000..cd0ea55aace1
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/AvailableSkusPost.json
@@ -0,0 +1,267 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2019-09-01",
+ "x-ms-client-request-id": [
+ "130a5941-a075-412d-817f-e65065af00dd"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "84"
+ ],
+ "availableSkuRequest": {
+ "country": "US",
+ "location": "westus",
+ "transferType": "ImportToAzure"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "DataBox"
+ },
+ "enabled": true,
+ "properties": {
+ "destinationToServiceLocationMap": [
+ {
+ "destinationLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "destinationLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "80",
+ "maximum": "100"
+ },
+ "costs": [
+ {
+ "meterId": "0cf23ffc-0b64-49e6-9bdd-1db885349042",
+ "meterType": "DataBoxServiceFee"
+ },
+ {
+ "meterId": "a701f058-119b-4713-a923-bed7da4b7801",
+ "meterType": "DataBoxShippingFee"
+ },
+ {
+ "meterId": "049fa331-0a48-4a81-9991-a6bef3c79fed",
+ "meterType": "DataBoxExtraDayFee"
+ },
+ {
+ "meterId": "c3ea978d-6a0a-4632-b094-4fffcafcb057",
+ "meterType": "DataBoxLostOrDamagedDeviceFee"
+ }
+ ],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None"
+ }
+ },
+ {
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "enabled": true,
+ "properties": {
+ "destinationToServiceLocationMap": [
+ {
+ "destinationLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "destinationLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "35",
+ "maximum": "40"
+ },
+ "costs": [
+ {
+ "meterId": "d95cd8b5-b6f1-4cd9-ae86-a016d1945d6f",
+ "meterType": "DataBoxDiskServiceFee"
+ },
+ {
+ "meterId": "4b8cf572-cb04-4ef3-9528-2cda4e9b544e",
+ "meterType": "DataBoxDiskShippingFee"
+ },
+ {
+ "meterId": "b6ae9bbf-815d-49dd-bb2b-77c497b72ba4",
+ "meterType": "DataBoxDiskDailyUsageFee"
+ },
+ {
+ "meterId": "08bc0ea1-6c82-421b-b953-2a7a65810d2e",
+ "meterType": "DataBoxDiskLostDeviceFee"
+ }
+ ],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None"
+ }
+ },
+ {
+ "sku": {
+ "name": "DataBoxHeavy"
+ },
+ "enabled": true,
+ "properties": {
+ "destinationToServiceLocationMap": [
+ {
+ "destinationLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "destinationLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "800",
+ "maximum": "1000"
+ },
+ "costs": [
+ {
+ "meterId": "d0dccaaf-3de9-4c7a-ba97-f83551b90126",
+ "meterType": "DataBoxHeavyServiceFee"
+ },
+ {
+ "meterId": "7b49d11f-d4f7-4029-a197-04998fd282f9",
+ "meterType": "DataBoxHeavyShippingFee"
+ },
+ {
+ "meterId": "c2c66d53-11b4-4f11-9642-43c7c336f0b7",
+ "meterType": "DataBoxHeavyExtraDayFee"
+ },
+ {
+ "meterId": "188dcd7e-fbd7-4a41-aa42-162b81b0510f",
+ "meterType": "DataBoxHeavyLostOrDamagedDeviceFee"
+ }
+ ],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None",
+ "requiredFeature": "HeavyCreateAccess"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/AvailableSkusPostByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/AvailableSkusPostByResourceGroup.json
new file mode 100644
index 000000000000..c18648eab861
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/AvailableSkusPostByResourceGroup.json
@@ -0,0 +1,228 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg9836",
+ "location": "westus",
+ "api-version": "2018-01-01",
+ "x-ms-client-request-id": [
+ "a69a48a0-a372-444d-9251-83828238a521"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26614.01",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "84"
+ ],
+ "availableSkuRequest": {
+ "country": "US",
+ "location": "westus",
+ "transferType": "ImportToAzure"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "DataBox"
+ },
+ "enabled": true,
+ "properties": {
+ "destinationToServiceLocationMap": [
+ {
+ "destinationLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "destinationLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "80",
+ "maximum": "100"
+ },
+ "costs": [
+ {
+ "meterId": "0cf23ffc-0b64-49e6-9bdd-1db885349042",
+ "meterType": "DataBoxServiceFee"
+ },
+ {
+ "meterId": "a701f058-119b-4713-a923-bed7da4b7801",
+ "meterType": "DataBoxShippingFee"
+ },
+ {
+ "meterId": "049fa331-0a48-4a81-9991-a6bef3c79fed",
+ "meterType": "DataBoxExtraDayFee"
+ }
+ ],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None"
+ }
+ },
+ {
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "enabled": true,
+ "properties": {
+ "destinationToServiceLocationMap": [
+ {
+ "destinationLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "destinationLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "35",
+ "maximum": "40"
+ },
+ "costs": [],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None"
+ }
+ },
+ {
+ "sku": {
+ "name": "DataBoxHeavy"
+ },
+ "enabled": true,
+ "properties": {
+ "destinationToServiceLocationMap": [
+ {
+ "destinationLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "destinationLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "destinationLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "800",
+ "maximum": "1000"
+ },
+ "costs": [],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None",
+ "requiredFeature": "HeavyCreateAccess"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/BookShipmentPickupPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/BookShipmentPickupPost.json
new file mode 100644
index 000000000000..bec928ad7c87
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/BookShipmentPickupPost.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "jobName": "TJ-636646322037905056",
+ "api-version": "2019-09-01",
+ "x-ms-client-request-id": [
+ "e1437186-b41d-492e-9b7a-e197c28a517a"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "118"
+ ],
+ "shipmentPickUpRequest": {
+ "startTime": "2019-09-20T18:30:00Z",
+ "endTime": "2019-09-22T18:30:00Z",
+ "shipmentLocation": "Front desk"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "confirmationNumber": "2929602E9CP",
+ "readyByTime": "2019-09-20T18:30:00Z"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsCancelPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsCancelPost.json
new file mode 100644
index 000000000000..e4f188b6d49a
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsCancelPost.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "jobName": "SdkJob3971",
+ "api-version": "2019-09-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "5e3d8f70-7ee0-45aa-9c12-6d505e577b54"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "30"
+ ],
+ "cancellationReason": {
+ "reason": "CancelTest"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsCreate.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsCreate.json
new file mode 100644
index 000000000000..f2e8809e9f1c
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsCreate.json
@@ -0,0 +1,188 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "jobName": "SdkJob3971",
+ "api-version": "2019-09-01",
+ "x-ms-client-request-id": [
+ "f0ce17be-5da4-4184-88c9-50a701ad7d11"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "983"
+ ],
+ "jobResource": {
+ "properties": {
+ "details": {
+ "jobDetailsType": "DataBox",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "destinationAccountDetails": [
+ {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount"
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "destinationAccountDetails": [
+ {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ ],
+ "errorDetails": [],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob3971",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg4981/providers/Microsoft.DataBox/jobs/SdkJob3971",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsDelete.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsDelete.json
new file mode 100644
index 000000000000..d522194a2f13
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsDelete.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "jobName": "SdkJob3971",
+ "api-version": "2019-09-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "70328b56-a888-4a73-8b25-752da61cbc36"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ]
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet.json
new file mode 100644
index 000000000000..4060eee65d6a
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet.json
@@ -0,0 +1,147 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "jobName": "SdkJob3971",
+ "api-version": "2019-09-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "4a4a42b7-4d1a-40d7-aca7-9364f62832e1"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "destinationAccountDetails": [
+ {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ ],
+ "errorDetails": [],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob3971",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg4981/providers/Microsoft.DataBox/jobs/SdkJob3971",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet1.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet1.json
new file mode 100644
index 000000000000..eb2fd114191b
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet1.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "jobName": "SdkJob3970",
+ "api-version": "2019-09-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "5822ad95-d3d8-40d2-9a0e-c6f318e5ac45"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [
+ {
+ "storageAccountName": "databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "bytesSentToCloud": 0,
+ "totalBytesToProcess": 0
+ }
+ ],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "Cancelled",
+ "displayName": "Canceled",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:50:39.468691+05:30"
+ }
+ ],
+ "contactDetails": {
+ "contactName": " ",
+ "emailList": [],
+ "phone": "1234567890",
+ "notificationPreference": []
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "destinationAccountDetails": [
+ {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ ],
+ "errorDetails": [],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": [],
+ "chainOfCustodySasKey": "https://wusbeta.blob.core.windows.net/chainofcustody/6ce2f399-1cc7-4144-ba92-c50bd5324a5c.txt?sv=2017-04-17&sr=b&sig=pWxYQP3CDKU9TzRgzvbbT%2F48a1BjLeF10Rtz86%2FZ3qI%3D&st=2019-09-21T09%3A15%3A43Z&se=2019-09-21T09%3A45%3A43Z&sp=r"
+ },
+ "cancellationReason": "CancelTest",
+ "deliveryType": "NonScheduled",
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob3970",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg4981/providers/Microsoft.DataBox/jobs/SdkJob3970",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet2.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet2.json
new file mode 100644
index 000000000000..1f406ecf4578
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet2.json
@@ -0,0 +1,134 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "jobName": "SdkJob3971",
+ "api-version": "2019-09-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "f5665abc-b241-4cfb-88a5-3b3d2f7863e4"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [
+ {
+ "storageAccountName": "databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "bytesSentToCloud": 0,
+ "totalBytesToProcess": 0
+ }
+ ],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "Cancelled",
+ "displayName": "Canceled",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:50:39.468691+05:30"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Update Job",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "destinationAccountDetails": [
+ {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ ],
+ "errorDetails": [],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "cancellationReason": "CancelTest",
+ "deliveryType": "NonScheduled",
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob3971",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg4981/providers/Microsoft.DataBox/jobs/SdkJob3971",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet3.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet3.json
new file mode 100644
index 000000000000..f3820718b0e2
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet3.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "jobName": "SdkJob3971",
+ "api-version": "2019-09-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "5822ad95-d3d8-40d2-9a0e-c6f318e5ac45"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [
+ {
+ "storageAccountName": "databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "bytesSentToCloud": 0,
+ "totalBytesToProcess": 0
+ }
+ ],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "Cancelled",
+ "displayName": "Canceled",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:50:39.468691+05:30"
+ }
+ ],
+ "contactDetails": {
+ "contactName": " ",
+ "emailList": [],
+ "phone": "1234567890",
+ "notificationPreference": []
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "destinationAccountDetails": [
+ {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ ],
+ "errorDetails": [],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": [],
+ "chainOfCustodySasKey": "https://wusbeta.blob.core.windows.net/chainofcustody/6ce2f399-1cc7-4144-ba92-c50bd5324a5c.txt?sv=2017-04-17&sr=b&sig=pWxYQP3CDKU9TzRgzvbbT%2F48a1BjLeF10Rtz86%2FZ3qI%3D&st=2019-09-21T09%3A15%3A43Z&se=2019-09-21T09%3A45%3A43Z&sp=r"
+ },
+ "cancellationReason": "CancelTest",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob3971",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg4981/providers/Microsoft.DataBox/jobs/SdkJob3971",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet4.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet4.json
new file mode 100644
index 000000000000..192e4dec9482
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet4.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "jobName": "SdkJob3971",
+ "api-version": "2019-09-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "f5665abc-b241-4cfb-88a5-3b3d2f7863e4"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [
+ {
+ "storageAccountName": "databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "bytesSentToCloud": 0,
+ "totalBytesToProcess": 0
+ }
+ ],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "Cancelled",
+ "displayName": "Canceled",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:50:39.468691+05:30"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Update Job",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "destinationAccountDetails": [
+ {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ ],
+ "errorDetails": [],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "cancellationReason": "CancelTest",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob3971",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg4981/providers/Microsoft.DataBox/jobs/SdkJob3971",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet5.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet5.json
new file mode 100644
index 000000000000..192e4dec9482
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsGet5.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "jobName": "SdkJob3971",
+ "api-version": "2019-09-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "f5665abc-b241-4cfb-88a5-3b3d2f7863e4"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [
+ {
+ "storageAccountName": "databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "bytesSentToCloud": 0,
+ "totalBytesToProcess": 0
+ }
+ ],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "Cancelled",
+ "displayName": "Canceled",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:50:39.468691+05:30"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Update Job",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "destinationAccountDetails": [
+ {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ ],
+ "errorDetails": [],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "cancellationReason": "CancelTest",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob3971",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg4981/providers/Microsoft.DataBox/jobs/SdkJob3971",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsList.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsList.json
new file mode 100644
index 000000000000..2a1efea01695
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsList.json
@@ -0,0 +1,598 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2019-09-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "a3118d2e-2b53-4e95-860e-cd141dd57b15"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2018-11-27T15:17:49.0760408+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testbadresourcegroup",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ93/providers/Microsoft.DataBox/jobs/testbadresourcegroup",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-01-04T09:08:49.9928621+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "andipodtest4jan",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/andipodtest4jan",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-07-04T14:01:50.9232807+05:30",
+ "cancellationReason": "IncorrectOrder null",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdeepak04-07",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdeepak04-07",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-02-11T12:33:16.6231232+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxHeavy"
+ },
+ "name": "testdurga-heavy",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurga-heavy",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-02-11T12:38:49.0620094+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxHeavy"
+ },
+ "name": "testdurga-heavy1",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurga-heavy1",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-01-09T16:12:43.2931373+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxHeavy"
+ },
+ "name": "testdurga2",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurga2",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-01-09T15:59:47.4375821+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgad",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgad",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-01-09T19:04:31.4461343+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "name": "testdurgadisk",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgadisk",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-01-09T19:10:08.2854968+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "name": "testdurgadisk-Clone",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgadisk-Clone",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2018-12-19T14:23:06.8155601+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgam",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgam",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2018-12-19T16:46:12.824436+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgam-1",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgam-1",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-03-04T12:00:17.7643558+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgam-Clone",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgam-Clone",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2018-12-19T18:24:23.0774328+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgasm-1",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgasm-1",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-03-04T11:58:13.4876698+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgasm-1-1",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgasm-1-1",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-01-11T14:28:55.4375406+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgasm-1-Clone",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgasm-1-Clone",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-02-15T12:51:12.2717434+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgasm-11",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgasm-11",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-02-15T12:54:58.9886188+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgasm-12",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgasm-12",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-02-15T13:33:29.8417562+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgasm-1dssd",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgasm-1dssd",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-02-15T15:35:39.937519+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgasm-ccxcx",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgasm-ccxcx",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-01-09T15:56:58.4277564+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgasm-Clone",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgasm-Clone",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-02-10T14:46:10.401621+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgasm-Clone-Clone",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgasm-Clone-Clone",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-02-10T14:52:37.2363289+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgasm-compute",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgasm-compute",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": false,
+ "isShippingAddressEditable": false,
+ "status": "ReadyToDispatchFromAzureDC",
+ "startTime": "2019-02-10T14:57:32.3159255+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testdurgasm-compute1",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurgasm-compute1",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2018-09-08T22:46:11.5143859+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "TestPortalContract",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/TestPortalContract",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-07-30T10:47:22.083517+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "testschedule01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testschedule01",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.DataBox/jobs?api-version=2019-09-01&$skipToken=PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8%2bDQo8Q29udGludWF0aW9uVG9rZW4%2bDQogIDxDb250aW51YXRpb25Ub2tlbj4NCiAgICA8VmVyc2lvbj4yLjA8L1ZlcnNpb24%2bDQogICAgPFR5cGU%2bVGFibGU8L1R5cGU%2bDQogICAgPE5leHRQYXJ0aXRpb25LZXk%2bMSE4NCFabUUyT0RBNE1tWXRPR1ptTnkwMFlUSTFMVGsxWXpjdFkyVTVaR0UxTkRFeU5ESm1YekJmYldsamNtOXpiMlowTG1SaGRHRmliM2hmTUY5cWIySno8L05leHRQYXJ0aXRpb25LZXk%2bDQogICAgPE5leHRSb3dLZXk%2bMSE3MiFjbVZ6YjNWeVkyVnRZWEJ3YVc1blh6QmZjbWRmTUY5aGEzWmxibXRoZEY4d1gzUmxjM1J6WTJobFpIVnNaVEF4TFdOc2IyNWw8L05leHRSb3dLZXk%2bDQogICAgPFRhcmdldExvY2F0aW9uPlByaW1hcnk8L1RhcmdldExvY2F0aW9uPg0KICA8L0NvbnRpbnVhdGlvblRva2VuPg0KPC9Db250aW51YXRpb25Ub2tlbj4%3d"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsListByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsListByResourceGroup.json
new file mode 100644
index 000000000000..749ad0f360a9
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsListByResourceGroup.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "api-version": "2019-09-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "dc5cb221-1401-492c-abe7-9f74a5193c65"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob3971",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg4981/providers/Microsoft.DataBox/jobs/SdkJob3971",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsListCredentials.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsListCredentials.json
new file mode 100644
index 000000000000..136bdffcc05a
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsListCredentials.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "jobName": "TJ-636646322037905056",
+ "api-version": "2019-09-01",
+ "x-ms-client-request-id": [
+ "03b50fba-1fac-429d-9edb-e3bfd95b9c20"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "jobName": "TJ-636646322037905056",
+ "jobSecrets": {
+ "podSecrets": [
+ {
+ "deviceSerialNumber": "testimolapod-3ecc44ce",
+ "devicePassword": "cT5nt8R;S%5",
+ "networkConfigurations": [
+ {
+ "name": "DataPort3",
+ "macAddress": "D05099C1F439"
+ },
+ {
+ "name": "DataPort1",
+ "macAddress": "EC0D9A21A6C0"
+ },
+ {
+ "name": "DataPort2",
+ "macAddress": "EC0D9A21A6C1"
+ }
+ ],
+ "encodedValidationCertPubKey": "5CYoAoVKEBa4WgPVis8keX94w30pon4jGMADSqcdE/NlHLChj6Cmhbl4q9QOFKSB/US4AwhS7zY1QS3YMDrkAPfOy7Hi6kWMBpJWZidTq3oXX8FAQjg+IqQESti/2jvAlcDpO2453rgd7Yb6XZ43P8MMTpTjcarI0ImCf//eITQWnFa3AzfIJ9C+hxCCaA7HTYhwQEPUBMwyQJsI6v6WuQysROtlBgx1YtbWFhDVbcqYRSLIbaj+RdzlvxvDJSo70kv+8em5upuDTpVE7xP+WePLlARdSPNwwfRzHnvCUqC2UqXHpRUhQlYnMqAJEcjjroRnyIGumPmmQ8O155X8aw==",
+ "accountCredentialDetails": [
+ {
+ "accountName": "databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountConnectionString": "",
+ "shareCredentialDetails": [
+ {
+ "shareName": "databoxbvttestaccount_PageBlob",
+ "shareType": "PageBlob",
+ "userName": "databoxbvttestac_903",
+ "password": "4N)K4(j6tyR",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ },
+ {
+ "shareName": "databoxbvttestaccount_BlockBlob",
+ "shareType": "BlockBlob",
+ "userName": "databoxbvttestac_903",
+ "password": "4N)K4(j6tyR",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ },
+ {
+ "shareName": "databoxbvttestaccount_AzFile",
+ "shareType": "AzureFile",
+ "userName": "databoxbvttestac_903",
+ "password": "4N)K4(j6tyR",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "jobSecretsType": "DataBox",
+ "dcAccessSecurityCode": {}
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsPatch.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsPatch.json
new file mode 100644
index 000000000000..c1ec48e1ab0d
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/JobsPatch.json
@@ -0,0 +1,165 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "jobName": "SdkJob3971",
+ "api-version": "2019-09-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "04bb03ba-8e90-47c8-a1af-15e083036c6f"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "584"
+ ],
+ "jobResourceUpdateParameter": {
+ "properties": {
+ "details": {
+ "contactDetails": {
+ "contactName": "Update Job",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "status": "Cancelled",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [
+ {
+ "storageAccountName": "databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "bytesSentToCloud": 0,
+ "totalBytesToProcess": 0
+ }
+ ],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "Cancelled",
+ "displayName": "Canceled",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:50:39.468691+05:30"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Update Job",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "destinationAccountDetails": [
+ {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ ],
+ "errorDetails": [],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "cancellationReason": "CancelTest",
+ "deliveryType": "NonScheduled",
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob3971",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg4981/providers/Microsoft.DataBox/jobs/SdkJob3971",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/OperationsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/OperationsGet.json
new file mode 100644
index 000000000000..1d5ca0782cdd
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/OperationsGet.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "x-ms-client-request-id": [
+ "69fc02f6-5d9f-42d5-8d98-b5a943b8c888"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26614.01",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DataBox/jobs/cancel/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Cancel",
+ "description": "Cancels an order in progress."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/bookShipmentPickUp/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Book Shipment Pick Up",
+ "description": "Allows to book a pick up for return shipments."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/read",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "List Orders",
+ "description": "List or get the Orders"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/delete",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Delete Orders",
+ "description": "Delete the Orders"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/write",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Create or Update Orders",
+ "description": "Create or update the Orders"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/listCredentials/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "List Credentials",
+ "description": "Lists the unencrypted credentials related to the order."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/validateAddress/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Validate Address",
+ "operation": "Validate Address",
+ "description": "Validates the shipping address and provides alternate addresses if any."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/availableSkus/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Available Skus",
+ "operation": "Availabe Skus",
+ "description": "This method returns the list of available skus."
+ },
+ "properties": {},
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/RegionConfiguration.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/RegionConfiguration.json
new file mode 100644
index 000000000000..e4fd5082ab41
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/RegionConfiguration.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "3c66da21-607e-49b4-8bdf-f25fbb8f705f",
+ "location": "westus",
+ "api-version": "2019-09-01",
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26614.01",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "311"
+ ],
+ "regionConfigurationRequest": {
+ "scheduleAvailabilityRequest": {
+ "storageLocation": "westus",
+ "skuName": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "scheduleAvailabilityResponse": {
+ "availableDates": [
+ "2019-07-11T00:00:00+00:00",
+ "2019-07-12T00:00:00+00:00",
+ "2019-07-13T00:00:00+00:00",
+ "2019-07-14T00:00:00+00:00",
+ "2019-07-15T00:00:00+00:00",
+ "2019-07-16T00:00:00+00:00",
+ "2019-07-17T00:00:00+00:00",
+ "2019-07-18T00:00:00+00:00",
+ "2019-07-19T00:00:00+00:00",
+ "2019-07-20T00:00:00+00:00",
+ "2019-07-21T00:00:00+00:00",
+ "2019-07-22T00:00:00+00:00",
+ "2019-07-23T00:00:00+00:00",
+ "2019-07-24T00:00:00+00:00",
+ "2019-07-25T00:00:00+00:00",
+ "2019-07-26T00:00:00+00:00",
+ "2019-07-27T00:00:00+00:00",
+ "2019-07-28T00:00:00+00:00",
+ "2019-07-29T00:00:00+00:00",
+ "2019-07-30T00:00:00+00:00",
+ "2019-07-31T00:00:00+00:00"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/ValidateAddressPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/ValidateAddressPost.json
new file mode 100644
index 000000000000..240fa71765be
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/ValidateAddressPost.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2019-09-01",
+ "x-ms-client-request-id": [
+ "9f1830f8-1cf7-4145-8b34-0742d9c9be13"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26614.01",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "311"
+ ],
+ "validateAddress": {
+ "validationType": "ValidateAddress",
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deviceType": "DataBox"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "validationStatus": "Valid",
+ "validationType": "ValidateAddress",
+ "alternateAddresses": [
+ {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "streetAddress3": "",
+ "city": "SAN FRANCISCO",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "addressType": "None"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/ValidateInputs.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/ValidateInputs.json
new file mode 100644
index 000000000000..21094770355d
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/ValidateInputs.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2019-09-01",
+ "x-ms-client-request-id": [
+ "ee686d79-42c2-4b01-9afe-5e99f4cabfee"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26614.01",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "311"
+ ],
+ "validationRequest": {
+ "validationCategory": "JobCreationValidation",
+ "individualRequestDetails": [
+ {
+ "validationType": "ValidateDataDestinationDetails",
+ "location": "westus",
+ "destinationAccountDetails": [
+ {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount"
+ }
+ ]
+ },
+ {
+ "validationType": "ValidateAddress",
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deviceType": "DataBox"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "status": "AllValidToProceed",
+ "individualResponseDetails": [
+ {
+ "validationType": "ValidateDataDestinationDetails",
+ "error": {},
+ "status": "Valid"
+ },
+ {
+ "validationStatus": "Valid",
+ "alternateAddresses": [
+ {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "streetAddress3": "",
+ "city": "SAN FRANCISCO",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "addressType": "None"
+ }
+ ],
+ "validationType": "ValidateAddress",
+ "error": {}
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/ValidateInputsByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/ValidateInputsByResourceGroup.json
new file mode 100644
index 000000000000..acfc021ac02b
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2019-09-01/examples/ValidateInputsByResourceGroup.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg9836",
+ "location": "westus",
+ "api-version": "2019-09-01",
+ "x-ms-client-request-id": [
+ "ee686d79-42c2-4b01-9afe-5e99f4cabfee"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26614.01",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "311"
+ ],
+ "validationRequest": {
+ "validationCategory": "JobCreationValidation",
+ "individualRequestDetails": [
+ {
+ "validationType": "ValidateDataDestinationDetails",
+ "location": "westus",
+ "destinationAccountDetails": [
+ {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataDestinationType": "StorageAccount"
+ }
+ ]
+ },
+ {
+ "validationType": "ValidateAddress",
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deviceType": "DataBox"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "status": "AllValidToProceed",
+ "individualResponseDetails": [
+ {
+ "validationType": "ValidateDataDestinationDetails",
+ "error": {},
+ "status": "Valid"
+ },
+ {
+ "validationStatus": "Valid",
+ "alternateAddresses": [
+ {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "streetAddress3": "",
+ "city": "SAN FRANCISCO",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "addressType": "None"
+ }
+ ],
+ "validationType": "ValidateAddress",
+ "error": {}
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/readme.go.md b/specification/databox/resource-manager/readme.go.md
index 9ac2aa4b2111..f284d008936f 100644
--- a/specification/databox/resource-manager/readme.go.md
+++ b/specification/databox/resource-manager/readme.go.md
@@ -14,6 +14,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- tag: package-2018-01
+ - tag: package-2019-09
```
### Tag: package-2018-01 and go
@@ -23,4 +24,13 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-09' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-09-01/$(namespace)
```
\ No newline at end of file
diff --git a/specification/databox/resource-manager/readme.md b/specification/databox/resource-manager/readme.md
index 4e44f25b8584..a641dc9b64c6 100644
--- a/specification/databox/resource-manager/readme.md
+++ b/specification/databox/resource-manager/readme.md
@@ -38,6 +38,15 @@ input-file:
- Microsoft.DataBox/stable/2018-01-01/databox.json
```
+### Tag: package-2019-09
+
+These settings apply only when `--tag=package-2019-09` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-09'
+input-file:
+- Microsoft.DataBox/stable/2019-09-01/databox.json
+```
+
---
# Code Generation
@@ -132,6 +141,7 @@ java:
``` yaml $(java) && $(multiapi)
batch:
- tag: package-2018-01
+ - tag: package-2019-09
```
### Tag: package-2018-01 and java
@@ -147,6 +157,19 @@ regenerate-manager: true
generate-interface: true
```
+### Tag: package-2019-09 and java
+
+These settings apply only when `--tag=package-2019-09-java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databox.v2019_09-01
+ output-folder: $(azure-libraries-for-java-folder)/databox/resource-manager/v2019_09_01
+regenerate-manager: true
+generate-interface: true
+```
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -160,6 +183,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/Microsoft.DataBox/stable/2018-01-01/databox.json
+ - $(this-folder)/Microsoft.DataBox/stable/2019-09-01/databox.json
```
diff --git a/specification/databox/resource-manager/readme.ruby.md b/specification/databox/resource-manager/readme.ruby.md
index 3f6aec90e7e4..2720469a3277 100644
--- a/specification/databox/resource-manager/readme.ruby.md
+++ b/specification/databox/resource-manager/readme.ruby.md
@@ -13,6 +13,7 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
- tag: package-2018-01
+ - tag: package-2019-09
```
### Tag: package-2018-01 and ruby
@@ -24,3 +25,13 @@ Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-09' && $(ruby)
+namespace: "Azure::Compute::Mgmt::V2019_09_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib
+```
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json
new file mode 100644
index 000000000000..0b26082a4c8a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json
@@ -0,0 +1,5130 @@
+{
+ "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": {
+ "SecuritySettingsUpdatePost": {
+ "$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 up to 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"
+ ]
+ }
+ ]
+}
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGet.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGet.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGet.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGetAllInDevice.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGetAllInDevice.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGetAllInDevice.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleDelete.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleDelete.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleDelete.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGet.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGet.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGet.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGetAllInDevice.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGetAllInDevice.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGetAllInDevice.json
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthSchedulePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthSchedulePut.json
new file mode 100644
index 000000000000..2490d7f3a56a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthSchedulePut.json
@@ -0,0 +1,51 @@
+{
+ "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"
+ ]
+ }
+ }
+ },
+ "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": {}
+ }
+}
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceDelete.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceDelete.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceDelete.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByName.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByName.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByName.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByName.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetBySubscription.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetBySubscription.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetBySubscription.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetBySubscription.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePatch.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePatch.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePatch.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePatch.json
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePut.json
new file mode 100644
index 000000000000..81a07f15ae70
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePut.json
@@ -0,0 +1,41 @@
+{
+ "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"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "name": "testedgedevice"
+ }
+ }
+ }
+}
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DownloadUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DownloadUpdatesPost.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DownloadUpdatesPost.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DownloadUpdatesPost.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ExtendedInfoPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ExtendedInfoPost.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ExtendedInfoPost.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ExtendedInfoPost.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/InstallUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/InstallUpdatesPost.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/InstallUpdatesPost.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/InstallUpdatesPost.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/JobsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/JobsGet.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/JobsGet.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/JobsGet.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/NetworkSettingsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/NetworkSettingsGet.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/NetworkSettingsGet.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/NetworkSettingsGet.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsGet.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsGet.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsGet.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsStatusGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsStatusGet.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsStatusGet.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsStatusGet.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderDelete.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderDelete.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderDelete.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGet.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGet.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGet.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGetAllInDevice.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGetAllInDevice.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGetAllInDevice.json
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderPut.json
new file mode 100644
index 000000000000..16b6b1a65bc5
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderPut.json
@@ -0,0 +1,85 @@
+{
+ "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": {
+ "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": {}
+ }
+}
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleDelete.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleDelete.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleDelete.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGet.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGet.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGet.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGetAllInDevice.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGetAllInDevice.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGetAllInDevice.json
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RolePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RolePut.json
new file mode 100644
index 000000000000..cc8ee5ee9d41
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RolePut.json
@@ -0,0 +1,85 @@
+{
+ "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"
+ }
+ }
+ },
+ "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": {}
+ }
+}
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACDelete.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACDelete.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACDelete.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGet.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGet.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGet.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGetAllInDevice.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGetAllInDevice.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGetAllInDevice.json
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACPut.json
new file mode 100644
index 000000000000..22e507ae2494
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACPut.json
@@ -0,0 +1,50 @@
+{
+ "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"
+ }
+ }
+ },
+ "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": {}
+ }
+}
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ScanForUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ScanForUpdatesPost.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ScanForUpdatesPost.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ScanForUpdatesPost.json
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SecuritySettingsUpdatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SecuritySettingsUpdatePost.json
new file mode 100644
index 000000000000..208b1595a135
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SecuritySettingsUpdatePost.json
@@ -0,0 +1,33 @@
+{
+ "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": {
+ "properties": {
+ "deviceAdminPassword": {
+ "value": "jJ5MvXa/AEWvwxviS92uCjatCXeyLYTy8jx/k105MjQRXT7i6Do8qpEcQ8d+OBbwmQTnwKW0CYyzzVRCc0uZcPCf6PsWtP4l6wvcKGAP66PwK68eEkTUOmp+wUHc4hk02kWmTWeAjBZkuDBP3xK1RnZo95g2RE4i1UgKNP5BEKCLd71O104DW3AWW41mh9XLWNOaxw+VjQY7wmvlE6XkvpkMhcGuha2u7lx8zi9ZkcMvJVYDYK36Fb/K3KhBAmDjjDmVq04jtBlcSTXQObt0nlj4BwGGtdrpeIpr67zqr5i3cPm6e6AleIaIhp6sI/uyGSMiT3oev2eg49u2ii7kVA==",
+ "encryptionAlgorithm": "AES256",
+ "encryptionCertThumbprint": "7DCBDFC44ED968D232C9A998FC105B5C70E84BE0"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareDelete.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareDelete.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareDelete.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGet.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGet.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGet.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGetAllInDevice.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGetAllInDevice.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGetAllInDevice.json
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SharePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SharePut.json
new file mode 100644
index 000000000000..b21d94edcfe5
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SharePut.json
@@ -0,0 +1,72 @@
+{
+ "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"
+ }
+ }
+ },
+ "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": {}
+ }
+}
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareRefreshPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareRefreshPost.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareRefreshPost.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareRefreshPost.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerDelete.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerDelete.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerDelete.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGet.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGet.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGet.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGetAllInDevice.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGetAllInDevice.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGetAllInDevice.json
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerPut.json
new file mode 100644
index 000000000000..ea10d2219d60
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerPut.json
@@ -0,0 +1,53 @@
+{
+ "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"
+ }
+ },
+ "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": {}
+ }
+}
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UpdateSummaryGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UpdateSummaryGet.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UpdateSummaryGet.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UpdateSummaryGet.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UploadCertificatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UploadCertificatePost.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UploadCertificatePost.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UploadCertificatePost.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserDelete.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserDelete.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserDelete.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGet.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGet.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGet.json
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGetAllInDevice.json
similarity index 100%
rename from specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGetAllInDevice.json
rename to specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGetAllInDevice.json
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserPut.json
new file mode 100644
index 000000000000..8a21dcfc0daf
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserPut.json
@@ -0,0 +1,42 @@
+{
+ "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": {
+ "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": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json
new file mode 100644
index 000000000000..0ef86bece554
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json
@@ -0,0 +1,5280 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-07-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/Data Box 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/Data Box 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/Data Box 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/Data Box 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/Data Box 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/Data Box 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/Data Box 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/Data Box 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/Data Box 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/Data Box 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/Data Box 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/Data Box 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/Data Box 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/Data Box 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/Data Box 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/Data Box 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}/nodes": {
+ "get": {
+ "tags": [
+ "Nodes"
+ ],
+ "description": "Gets all the nodes currently configured under this Data Box Edge device",
+ "operationId": "Nodes_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 nodes on the device.",
+ "schema": {
+ "$ref": "#/definitions/NodeList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "NodesGetAllInDevice": {
+ "$ref": "./examples/NodeGetAllInDevice.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/Data Box 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/Data Box 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/Data Box 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 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/Data Box 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/Data Box 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": {
+ "CreateOrUpdateSecuritySettings": {
+ "$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/Data Box 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/Data Box 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/Data Box 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/Data Box 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/Data Box 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",
+ "Maintenance"
+ ],
+ "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
+ },
+ "nodeCount": {
+ "format": "int32",
+ "description": "The number of nodes in the cluster.",
+ "type": "integer",
+ "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"
+ },
+ "ioTHostHubId": {
+ "description": "Id of 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
+ }
+ }
+ },
+ "Node": {
+ "description": "Represents a single node in a Data box Edge/Gateway device\r\nGateway devices, standalone Edge devices and a single node cluster Edge device will all have 1 node\r\nMulti-node Edge devices will have more than 1 nodes",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NodeProperties",
+ "description": "The properties of the node",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "NodeList": {
+ "description": "Collection of Nodes.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of Nodes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Node"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "NodeProperties": {
+ "description": "This class represents the nodes in a highly available cluster",
+ "type": "object",
+ "properties": {
+ "nodeStatus": {
+ "description": "The current status of the individual node",
+ "enum": [
+ "Unknown",
+ "Up",
+ "Down",
+ "Rebooting",
+ "ShuttingDown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NodeStatus",
+ "modelAsString": true
+ }
+ },
+ "nodeChassisSerialNumber": {
+ "description": "Serial number of the Chassis",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeSerialNumber": {
+ "description": "Serial number of the individual node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeDisplayName": {
+ "description": "Display Name of the individual node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeFriendlySoftwareVersion": {
+ "description": "Friendly software version name that is currently installed on the node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeHcsVersion": {
+ "description": "HCS version that is currently installed on the node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeInstanceId": {
+ "description": "Guid instance id of the node",
+ "type": "string",
+ "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": [
+ "Offline",
+ "Unknown",
+ "OK",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "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
+ }
+ },
+ "storageAccountId": {
+ "description": "Id of the storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "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"
+ ]
+ }
+ ]
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/AlertGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/AlertGet.json
new file mode 100644
index 000000000000..b3ff6f74de1e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/AlertGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/AlertGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/AlertGetAllInDevice.json
new file mode 100644
index 000000000000..61c338e30413
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/AlertGetAllInDevice.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/BandwidthScheduleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/BandwidthScheduleDelete.json
new file mode 100644
index 000000000000..78bb837a56fe
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/BandwidthScheduleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/BandwidthScheduleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/BandwidthScheduleGet.json
new file mode 100644
index 000000000000..5e29a535b25d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/BandwidthScheduleGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/BandwidthScheduleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/BandwidthScheduleGetAllInDevice.json
new file mode 100644
index 000000000000..712a136b93d1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/BandwidthScheduleGetAllInDevice.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/BandwidthSchedulePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/BandwidthSchedulePut.json
new file mode 100644
index 000000000000..9f8d013a7548
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/BandwidthSchedulePut.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ ]
+ }
+ }
+ },
+ "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": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDeviceDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDeviceDelete.json
new file mode 100644
index 000000000000..30098478db9b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDeviceDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDeviceGetByName.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDeviceGetByName.json
new file mode 100644
index 000000000000..936d7e305ffc
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDeviceGetByName.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json
new file mode 100644
index 000000000000..fe8ff534f222
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDeviceGetBySubscription.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDeviceGetBySubscription.json
new file mode 100644
index 000000000000..be45219e8391
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDeviceGetBySubscription.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDevicePatch.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDevicePatch.json
new file mode 100644
index 000000000000..098b67c414ad
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDevicePatch.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDevicePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDevicePut.json
new file mode 100644
index 000000000000..064228b4aeeb
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DataBoxEdgeDevicePut.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "name": "testedgedevice"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DownloadUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DownloadUpdatesPost.json
new file mode 100644
index 000000000000..99dd3ac094a5
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/DownloadUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ExtendedInfoPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ExtendedInfoPost.json
new file mode 100644
index 000000000000..5c83252bb767
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ExtendedInfoPost.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/InstallUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/InstallUpdatesPost.json
new file mode 100644
index 000000000000..99dd3ac094a5
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/InstallUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/JobsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/JobsGet.json
new file mode 100644
index 000000000000..3e5f7bdf7204
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/JobsGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/NetworkSettingsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/NetworkSettingsGet.json
new file mode 100644
index 000000000000..d73518fff11e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/NetworkSettingsGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/NodeGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/NodeGetAllInDevice.json
new file mode 100644
index 000000000000..e65f80f857eb
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/NodeGetAllInDevice.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {
+ "value": [
+ {
+ "properties": {
+ "nodeStatus": "Unknown",
+ "nodeChassisSerialNumber": "1D6QHQ2",
+ "nodeSerialNumber": "1D6QHQ2",
+ "nodeDisplayName": "Controller 1",
+ "nodeFriendlySoftwareVersion": "Data Box Edge 1908",
+ "nodeHcsVersion": "1.6.961.8307",
+ "nodeInstanceId": "ad051874-7d27-4ac4-a7b1-b6f231d8a035"
+ },
+ "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1D6QHQ2",
+ "name": "1D6QHQ2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes"
+ },
+ {
+ "properties": {
+ "nodeStatus": "Unknown",
+ "nodeChassisSerialNumber": "1D6QHQ2",
+ "nodeSerialNumber": "1DCNHQ2",
+ "nodeDisplayName": "Controller 1",
+ "nodeFriendlySoftwareVersion": "Data Box Edge 1908",
+ "nodeHcsVersion": "1.6.961.8307",
+ "nodeInstanceId": "ddf3a76d-ada4-44af-99c6-a69a0e21bcb6"
+ },
+ "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1DCNHQ2",
+ "name": "1DCNHQ2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OperationsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OperationsGet.json
new file mode 100644
index 000000000000..29ca0336a812
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OperationsGet.json
@@ -0,0 +1,675 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OperationsStatusGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OperationsStatusGet.json
new file mode 100644
index 000000000000..57a960ec5684
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OperationsStatusGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OrderDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OrderDelete.json
new file mode 100644
index 000000000000..30098478db9b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OrderDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OrderGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OrderGet.json
new file mode 100644
index 000000000000..52836d3016b4
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OrderGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OrderGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OrderGetAllInDevice.json
new file mode 100644
index 000000000000..128e6415ccbb
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OrderGetAllInDevice.json
@@ -0,0 +1,61 @@
+{
+ "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": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OrderPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OrderPut.json
new file mode 100644
index 000000000000..e61def4c7404
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/OrderPut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {
+ "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": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/RoleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/RoleDelete.json
new file mode 100644
index 000000000000..7a52d9d40904
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/RoleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/RoleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/RoleGet.json
new file mode 100644
index 000000000000..8f20c6136683
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/RoleGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/RoleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/RoleGetAllInDevice.json
new file mode 100644
index 000000000000..ee6bd54a01d4
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/RoleGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/RolePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/RolePut.json
new file mode 100644
index 000000000000..45e723d0b488
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/RolePut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ },
+ "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": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SACDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SACDelete.json
new file mode 100644
index 000000000000..5b4a366c54d4
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SACDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SACGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SACGet.json
new file mode 100644
index 000000000000..fdbac8349cd6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SACGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SACGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SACGetAllInDevice.json
new file mode 100644
index 000000000000..7d1a0e0c7b20
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SACGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SACPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SACPut.json
new file mode 100644
index 000000000000..f7b702c46441
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SACPut.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ },
+ "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": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ScanForUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ScanForUpdatesPost.json
new file mode 100644
index 000000000000..99dd3ac094a5
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ScanForUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SecuritySettingsUpdatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SecuritySettingsUpdatePost.json
new file mode 100644
index 000000000000..1eafbf8164be
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SecuritySettingsUpdatePost.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {
+ "properties": {
+ "deviceAdminPassword": {
+ "value": "jJ5MvXa/AEWvwxviS92uCjatCXeyLYTy8jx/k105MjQRXT7i6Do8qpEcQ8d+OBbwmQTnwKW0CYyzzVRCc0uZcPCf6PsWtP4l6wvcKGAP66PwK68eEkTUOmp+wUHc4hk02kWmTWeAjBZkuDBP3xK1RnZo95g2RE4i1UgKNP5BEKCLd71O104DW3AWW41mh9XLWNOaxw+VjQY7wmvlE6XkvpkMhcGuha2u7lx8zi9ZkcMvJVYDYK36Fb/K3KhBAmDjjDmVq04jtBlcSTXQObt0nlj4BwGGtdrpeIpr67zqr5i3cPm6e6AleIaIhp6sI/uyGSMiT3oev2eg49u2ii7kVA==",
+ "encryptionAlgorithm": "AES256",
+ "encryptionCertThumbprint": "7DCBDFC44ED968D232C9A998FC105B5C70E84BE0"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ShareDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ShareDelete.json
new file mode 100644
index 000000000000..433488a415a3
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ShareDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ShareGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ShareGet.json
new file mode 100644
index 000000000000..42823d1f7022
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ShareGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ShareGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ShareGetAllInDevice.json
new file mode 100644
index 000000000000..d47efb5dda80
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ShareGetAllInDevice.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SharePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SharePut.json
new file mode 100644
index 000000000000..ffc6d9f1494a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/SharePut.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ },
+ "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": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ShareRefreshPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ShareRefreshPost.json
new file mode 100644
index 000000000000..2f3db00e9da6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/ShareRefreshPost.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/TriggerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/TriggerDelete.json
new file mode 100644
index 000000000000..2c81b5b871bd
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/TriggerDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/TriggerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/TriggerGet.json
new file mode 100644
index 000000000000..708f323dc965
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/TriggerGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/TriggerGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/TriggerGetAllInDevice.json
new file mode 100644
index 000000000000..84d6dfc12bac
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/TriggerGetAllInDevice.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/TriggerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/TriggerPut.json
new file mode 100644
index 000000000000..5788847fb43e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/TriggerPut.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ },
+ "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": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UpdateSummaryGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UpdateSummaryGet.json
new file mode 100644
index 000000000000..dc80ca38c9a0
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UpdateSummaryGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UploadCertificatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UploadCertificatePost.json
new file mode 100644
index 000000000000..8b8346584279
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UploadCertificatePost.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UserDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UserDelete.json
new file mode 100644
index 000000000000..22bd1b53ce52
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UserDelete.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UserGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UserGet.json
new file mode 100644
index 000000000000..6ccb8d9dbb4b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UserGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": ""
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UserGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UserGetAllInDevice.json
new file mode 100644
index 000000000000..160d33d1b9a0
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UserGetAllInDevice.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UserPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UserPut.json
new file mode 100644
index 000000000000..38b0e0cf0b1f
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-07-01/examples/UserPut.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {
+ "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": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/readme.go.md b/specification/databoxedge/resource-manager/readme.go.md
new file mode 100644
index 000000000000..0d0624ae1590
--- /dev/null
+++ b/specification/databoxedge/resource-manager/readme.go.md
@@ -0,0 +1,36 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: databoxedge
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+```yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2019-07
+ - tag: package-2019-03
+```
+
+### Tag: package-2019-07 and go
+
+These settings apply only when `--tag=package-2019-07 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2019-07' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-07-01/$(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/$(namespace)/mgmt/2019-03-01/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/readme.md b/specification/databoxedge/resource-manager/readme.md
new file mode 100644
index 000000000000..dbe19f4d6908
--- /dev/null
+++ b/specification/databoxedge/resource-manager/readme.md
@@ -0,0 +1,194 @@
+# DataBoxEdge
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for DataBox.
+
+
+
+---
+## Getting Started
+To build the SDK for DataBox Edge, 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 Edge API.
+
+``` yaml
+openapi-type: arm
+tag: package-2019-07
+```
+
+### Tag: package-2019-07
+
+These settings apply only when `--tag=package-2019-07` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-07'
+input-file:
+- Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json
+```
+### 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/databoxedge.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-net
+ - 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_databoxedge']
+```
+
+## 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.DataBoxEdge
+ payload-flattening-threshold: 0
+ output-folder: $(csharp-sdks-folder)/databoxedge/Microsoft.Azure.Management.DataBoxEdge/src/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: 0
+ namespace: azure.mgmt.databoxedge
+ package-name: azure-mgmt-databoxedge
+ title: DataBoxEdgeManagementClient
+ description: The DataBoxEdge Client.
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge
+```
+
+## 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.databoxedge
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 0
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-databoxedge
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2019-03
+ - tag: package-2019-07
+
+```
+
+### Tag: package-2019-07 and java
+
+These settings apply only when `--tag=package-2019-07 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databoxedge.v2019_07_01
+ output-folder: $(azure-libraries-for-java-folder)/databoxedge/resource-manager/v2019_07_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### 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.databoxedge.v2019_03_01
+ output-folder: $(azure-libraries-for-java-folder)/databoxedge/resource-manager/v2019_03_01
+regenerate-manager: true
+generate-interface: true
+```
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json
+ - $(this-folder)/Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json
+
+```
+
+If there are files that should not be in the `all-api-versions` set,
+uncomment the `exclude-file` section below and add the file paths.
+
+``` yaml $(tag) == 'all-api-versions'
+#exclude-file:
+# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
+```
diff --git a/specification/databoxedge/resource-manager/readme.ruby.md b/specification/databoxedge/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..18c1945c5da2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/readme.ruby.md
@@ -0,0 +1,37 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+``` yaml $(ruby)
+package-name: azure_mgmt_databoxedge
+package-version: "0.1.0"
+azure-arm: true
+```
+
+### Ruby multi-api
+
+``` yaml $(ruby) && $(multiapi)
+batch:
+ - tag: package-2019-07
+ - tag: package-2019-03
+```
+
+### Tag: package-2019-07 and ruby
+
+These settings apply only when `--tag=package-2019-07 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-07' && $(ruby)
+namespace: "Azure::DataBoxEdge::Mgmt::V2019_07_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databoxedge/lib
+```
+
+### 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::DataBoxEdge::Mgmt::V2019_03_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databoxedge/lib
+```
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/readme.typescript.md b/specification/databoxedge/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..b7be35c182a7
--- /dev/null
+++ b/specification/databoxedge/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: 0
+ package-name: "@azure/arm-databoxedge"
+ output-folder: "$(typescript-sdks-folder)/sdk/databoxedge/arm-databoxedge"
+ generate-metadata: true
+```
\ No newline at end of file
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/Trigger.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/Trigger.json
index 5d7cd04c9ad5..fbac1414d1e4 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/Trigger.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/Trigger.json
@@ -296,6 +296,10 @@
"description": "The blob path must end with the pattern provided for trigger to fire. For example, 'december/boxes.csv' will only fire the trigger for blobs named boxes in a december folder. At least one of these must be provided: blobPathBeginsWith, blobPathEndsWith.",
"type": "string"
},
+ "ignoreEmptyBlobs": {
+ "description": "If set to true, blobs with zero bytes will be ignored.",
+ "type": "boolean"
+ },
"events": {
"description": "The type of events that cause this trigger to fire.",
"$ref": "#/definitions/BlobEventTypes"
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 4a372a496a16..dc93bc487aea 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
@@ -3332,6 +3332,474 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}": {
+ "put": {
+ "tags": [
+ "dataFlows"
+ ],
+ "operationId": "DataFlows_CreateOrUpdate",
+ "x-ms-examples": {
+ "DataFlows_Create": {
+ "$ref": "./examples/DataFlows_Create.json"
+ },
+ "DataFlows_Update": {
+ "$ref": "./examples/DataFlows_Update.json"
+ }
+ },
+ "description": "Creates or updates a data flow.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/dataFlowName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the data flow entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update."
+ },
+ {
+ "name": "dataFlow",
+ "description": "Data flow resource definition.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataFlowResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/DataFlowResource"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "dataFlows"
+ ],
+ "operationId": "DataFlows_Get",
+ "x-ms-examples": {
+ "DataFlows_Get": {
+ "$ref": "./examples/DataFlows_Get.json"
+ }
+ },
+ "description": "Gets a data flow.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/dataFlowName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the data flow entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/DataFlowResource"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "dataFlows"
+ ],
+ "operationId": "DataFlows_Delete",
+ "x-ms-examples": {
+ "DataFlows_Delete": {
+ "$ref": "./examples/DataFlows_Delete.json"
+ }
+ },
+ "description": "Deletes a data flow.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/dataFlowName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "204": {
+ "description": "No Content."
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows": {
+ "get": {
+ "tags": [
+ "dataFlows"
+ ],
+ "operationId": "DataFlows_ListByFactory",
+ "x-ms-examples": {
+ "DataFlows_ListByFactory": {
+ "$ref": "./examples/DataFlows_ListByFactory.json"
+ }
+ },
+ "description": "Lists data flows.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/DataFlowListResponse"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/createDataFlowDebugSession": {
+ "post": {
+ "tags": [
+ "dataFlowDebugSession"
+ ],
+ "operationId": "DataFlowDebugSession_Create",
+ "x-ms-examples": {
+ "DataFlowDebugSession_Create": {
+ "$ref": "./examples/DataFlowDebugSession_Create.json"
+ }
+ },
+ "description": "Creates a data flow debug session.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "request",
+ "description": "Data flow debug session definition",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateDataFlowDebugSessionRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted.",
+ "headers": {
+ "location": {
+ "description": "URI to poll for asynchronous operation status.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/CreateDataFlowDebugSessionResponse"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryDataFlowDebugSessions": {
+ "post": {
+ "tags": [
+ "dataFlowDebugSession"
+ ],
+ "operationId": "DataFlowDebugSession_QueryByFactory",
+ "x-ms-examples": {
+ "DataFlowDebugSession_QueryByFactory": {
+ "$ref": "./examples/DataFlowDebugSession_QueryByFactory.json"
+ }
+ },
+ "description": "Query all active data flow debug sessions.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/QueryDataFlowDebugSessionsResponse"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/addDataFlowToDebugSession": {
+ "post": {
+ "tags": [
+ "dataFlowDebugSession"
+ ],
+ "operationId": "DataFlowDebugSession_AddDataFlow",
+ "x-ms-examples": {
+ "DataFlowDebugSession_AddDataFlow": {
+ "$ref": "./examples/DataFlowDebugSession_AddDataFlow.json"
+ }
+ },
+ "description": "Add a data flow into debug session.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "request",
+ "description": "Data flow debug session definition with debug content.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataFlowDebugPackage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/AddDataFlowToDebugSessionResponse"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/deleteDataFlowDebugSession": {
+ "post": {
+ "tags": [
+ "dataFlowDebugSession"
+ ],
+ "operationId": "DataFlowDebugSession_Delete",
+ "x-ms-examples": {
+ "DataFlowDebugSession_Delete": {
+ "$ref": "./examples/DataFlowDebugSession_Delete.json"
+ }
+ },
+ "description": "Deletes a data flow debug session.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "request",
+ "description": "Data flow debug session definition for deletion",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeleteDataFlowDebugSessionRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/executeDataFlowDebugCommand": {
+ "post": {
+ "tags": [
+ "dataFlowDebugSession"
+ ],
+ "operationId": "DataFlowDebugSession_ExecuteCommand",
+ "x-ms-examples": {
+ "DataFlowDebugSession_ExecuteCommand": {
+ "$ref": "./examples/DataFlowDebugSession_ExecuteCommand.json"
+ }
+ },
+ "description": "Execute a data flow debug command.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "request",
+ "description": "Data flow debug command definition.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataFlowDebugCommandRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted.",
+ "headers": {
+ "location": {
+ "description": "URI to poll for asynchronous operation status.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/DataFlowDebugCommandResponse"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -3402,6 +3870,15 @@
},
"x-ms-azure-resource": true
},
+ "SubResourceDebugResource": {
+ "description": "Azure Data Factory nested debug resource.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The resource name."
+ }
+ }
+ },
"Expression": {
"description": "Azure Data Factory expression definition.",
"type": "object",
@@ -3565,6 +4042,23 @@
"properties"
]
},
+ "IntegrationRuntimeDebugResource": {
+ "description": "Integration runtime debug resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResourceDebugResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "./entityTypes/IntegrationRuntime.json#/definitions/IntegrationRuntime",
+ "description": "Integration runtime properties."
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
"IntegrationRuntimeStatusResponse": {
"description": "Integration runtime status response.",
"properties": {
@@ -4258,15 +4752,32 @@
}
},
"required": [
- "type",
- "referenceName"
+ "type",
+ "referenceName"
+ ]
+ },
+ "DatasetResource": {
+ "description": "Dataset resource type.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "./entityTypes/Dataset.json#/definitions/Dataset",
+ "description": "Dataset properties."
+ }
+ },
+ "required": [
+ "properties"
]
},
- "DatasetResource": {
- "description": "Dataset resource type.",
+ "DatasetDebugResource": {
+ "description": "Dataset debug resource.",
"allOf": [
{
- "$ref": "#/definitions/SubResource"
+ "$ref": "#/definitions/SubResourceDebugResource"
}
],
"properties": {
@@ -4320,6 +4831,23 @@
"properties"
]
},
+ "LinkedServiceDebugResource": {
+ "description": "Linked service debug resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResourceDebugResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "./entityTypes/LinkedService.json#/definitions/LinkedService",
+ "description": "Properties of linked service."
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
"RunFilterParameters": {
"description": "Query parameters for listing runs.",
"type": "object",
@@ -5089,6 +5617,373 @@
"readOnly": true
}
}
+ },
+ "DataFlowListResponse": {
+ "description": "A list of data flow resources.",
+ "type": "object",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of data flows.",
+ "items": {
+ "$ref": "#/definitions/DataFlowResource"
+ }
+ },
+ "nextLink": {
+ "description": "The link to the next page of results, if any remaining results exist.",
+ "type": "string"
+ }
+ }
+ },
+ "CreateDataFlowDebugSessionRequest": {
+ "description": "Request body structure for creating data flow debug session.",
+ "type": "object",
+ "properties": {
+ "computeType": {
+ "description": "Compute type of the cluster. The value will be overwritten by the same setting in integration runtime if provided.",
+ "type": "string"
+ },
+ "coreCount": {
+ "description": "Core count of the cluster. The value will be overwritten by the same setting in integration runtime if provided.",
+ "type": "integer"
+ },
+ "timeToLive": {
+ "description": "Time to live setting of the cluster in minutes.",
+ "type": "integer"
+ },
+ "integrationRuntime": {
+ "description": "Set to use integration runtime setting for data flow debug session.",
+ "$ref": "#/definitions/IntegrationRuntimeDebugResource"
+ }
+ }
+ },
+ "CreateDataFlowDebugSessionResponse": {
+ "description": "Response body structure for creating data flow debug session.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The state of the debug session.",
+ "type": "string"
+ },
+ "sessionId": {
+ "description": "The ID of data flow debug session.",
+ "type": "string"
+ }
+ }
+ },
+ "DataFlowSourceSetting": {
+ "description": "Definition of data flow source setting for debug.",
+ "type": "object",
+ "properties": {
+ "sourceName": {
+ "description": "The data flow source name.",
+ "type": "string"
+ },
+ "rowLimit": {
+ "description": "Defines the row limit of data flow source in debug.",
+ "type": "integer"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "DataFlowStagingInfo": {
+ "description": "Staging info for execute data flow activity.",
+ "properties": {
+ "linkedService": {
+ "description": "Staging linked service reference.",
+ "$ref": "#/definitions/LinkedServiceReference"
+ },
+ "folderPath": {
+ "description": "Folder path for staging blob.",
+ "type": "string"
+ }
+ }
+ },
+ "DataFlowDebugPackage": {
+ "description": "Request body structure for starting data flow debug session.",
+ "type": "object",
+ "properties": {
+ "sessionId": {
+ "description": "The ID of data flow debug session.",
+ "type": "string"
+ },
+ "dataFlow": {
+ "description": "Data flow instance.",
+ "$ref": "#/definitions/DataFlowDebugResource"
+ },
+ "datasets": {
+ "type": "array",
+ "description": "List of datasets.",
+ "items": {
+ "$ref": "#/definitions/DatasetDebugResource"
+ }
+ },
+ "linkedServices": {
+ "type": "array",
+ "description": "List of linked services.",
+ "items": {
+ "$ref": "#/definitions/LinkedServiceDebugResource"
+ }
+ },
+ "staging": {
+ "description": "Staging info for debug session.",
+ "$ref": "#/definitions/DataFlowStagingInfo"
+ },
+ "debugSettings": {
+ "description": "Data flow debug settings.",
+ "type": "object",
+ "properties": {
+ "sourceSettings": {
+ "type": "array",
+ "description": "Source setting for data flow debug.",
+ "items": {
+ "$ref": "#/definitions/DataFlowSourceSetting"
+ }
+ },
+ "parameters": {
+ "description": "Data flow parameters.",
+ "$ref": "#/definitions/ParameterValueSpecification"
+ },
+ "datasetParameters": {
+ "description": "Parameters for dataset.",
+ "type": "object"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "AddDataFlowToDebugSessionResponse": {
+ "description": "Response body structure for starting data flow debug session.",
+ "type": "object",
+ "properties": {
+ "jobVersion": {
+ "description": "The ID of data flow debug job version.",
+ "type": "string"
+ }
+ }
+ },
+ "DeleteDataFlowDebugSessionRequest": {
+ "description": "Request body structure for deleting data flow debug session.",
+ "type": "object",
+ "properties": {
+ "sessionId": {
+ "description": "The ID of data flow debug session.",
+ "type": "string"
+ }
+ }
+ },
+ "DataFlowDebugCommandPayload": {
+ "description": "Structure of command payload.",
+ "type": "object",
+ "properties": {
+ "streamName": {
+ "description": "The stream name which is used for preview.",
+ "type": "string"
+ },
+ "rowLimits": {
+ "description": "Row limits for preview response.",
+ "type": "integer"
+ },
+ "columns": {
+ "description": "Array of column names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "expression": {
+ "description": "The expression which is used for preview.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "streamName"
+ ]
+ },
+ "DataFlowDebugCommandRequest": {
+ "description": "Request body structure for data flow debug command.",
+ "type": "object",
+ "properties": {
+ "sessionId": {
+ "description": "The ID of data flow debug session.",
+ "type": "string"
+ },
+ "command": {
+ "description": "The command type.",
+ "type": "string",
+ "enum": [
+ "executePreviewQuery",
+ "executeStatisticsQuery",
+ "executeExpressionQuery"
+ ],
+ "x-ms-enum": {
+ "name": "DataFlowDebugCommandType",
+ "modelAsString": true
+ }
+ },
+ "commandPayload": {
+ "description": "The command payload object.",
+ "$ref": "#/definitions/DataFlowDebugCommandPayload"
+ }
+ }
+ },
+ "DataFlowDebugCommandResponse": {
+ "description": "Response body structure of data flow result for data preview, statistics or expression preview.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The run status of data preview, statistics or expression preview.",
+ "type": "string"
+ },
+ "data": {
+ "description": "The result data of data preview, statistics or expression preview.",
+ "type": "string"
+ }
+ }
+ },
+ "QueryDataFlowDebugSessionsResponse": {
+ "description": "A list of active debug sessions.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array with all active debug sessions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataFlowDebugSessionInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The link to the next page of results, if any remaining results exist.",
+ "type": "string"
+ }
+ }
+ },
+ "DataFlowDebugSessionInfo": {
+ "description": "Data flow debug session info.",
+ "type": "object",
+ "properties": {
+ "dataFlowName": {
+ "description": "The name of the data flow.",
+ "type": "string"
+ },
+ "computeType": {
+ "description": "Compute type of the cluster.",
+ "type": "string"
+ },
+ "coreCount": {
+ "description": "Core count of the cluster.",
+ "type": "integer"
+ },
+ "nodeCount": {
+ "description": "Node count of the cluster. (deprecated property)",
+ "type": "integer"
+ },
+ "integrationRuntimeName": {
+ "description": "Attached integration runtime name of data flow debug session.",
+ "type": "string"
+ },
+ "sessionId": {
+ "description": "The ID of data flow debug session.",
+ "type": "string"
+ },
+ "startTime": {
+ "description": "Start time of data flow debug session.",
+ "type": "string"
+ },
+ "timeToLiveInMinutes": {
+ "description": "Compute type of the cluster.",
+ "type": "integer"
+ },
+ "lastActivityTime": {
+ "description": "Last activity time of data flow debug session.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "GetDataFactoryOperationStatusResponse": {
+ "description": "Response body structure for get data factory operation status.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the operation.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "DataFlowResource": {
+ "description": "Data flow resource type.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "./entityTypes/DataFlow.json#/definitions/DataFlow",
+ "description": "Data flow properties."
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "DataFlowDebugResource": {
+ "description": "Data flow debug resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResourceDebugResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "./entityTypes/DataFlow.json#/definitions/DataFlow",
+ "description": "Data flow properties."
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "DataFlowReference": {
+ "description": "Data flow reference type.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Data flow reference type.",
+ "enum": [
+ "DataFlowReference"
+ ]
+ },
+ "referenceName": {
+ "type": "string",
+ "description": "Reference data flow name."
+ },
+ "datasetParameters": {
+ "type": "object",
+ "description": "Reference data flow parameters from dataset."
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ },
+ "required": [
+ "type",
+ "referenceName"
+ ]
}
},
"parameters": {
@@ -5214,6 +6109,17 @@
"maxLength": 150,
"x-ms-parameter-location": "method"
},
+ "dataFlowName": {
+ "name": "dataFlowName",
+ "description": "The data flow name.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9_][^<>*#.%&:\\\\+?/]*$",
+ "minLength": 1,
+ "maxLength": 260,
+ "x-ms-parameter-location": "method"
+ },
"api-version": {
"name": "api-version",
"description": "The API version.",
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
new file mode 100644
index 000000000000..3644a5838df0
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
@@ -0,0 +1,134 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "DataFactoryManagementClient",
+ "version": "2018-06-01"
+ },
+ "paths": {},
+ "definitions": {
+ "DataFlow": {
+ "description": "Azure Data Factory nested object which contains a flow with data movements and transformations.",
+ "type": "object",
+ "discriminator": "type",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Type of data flow."
+ },
+ "description": {
+ "description": "The description of the data flow.",
+ "type": "string"
+ },
+ "annotations": {
+ "description": "List of tags that can be used for describing the data flow.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "folder": {
+ "description": "The folder that this data flow is in. If not specified, Data flow will appear at the root level.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the folder that this data flow is in.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "MappingDataFlow": {
+ "x-ms-discriminator-value": "MappingDataFlow",
+ "description": "Mapping data flow.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataFlow"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Mapping data flow type properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MappingDataFlowTypeProperties"
+ }
+ }
+ },
+ "MappingDataFlowTypeProperties": {
+ "description": "Mapping data flow type properties.",
+ "properties": {
+ "sources": {
+ "type": "array",
+ "description": "List of sources in data flow.",
+ "items": {
+ "$ref": "#/definitions/DataFlowSource"
+ }
+ },
+ "sinks": {
+ "type": "array",
+ "description": "List of sinks in data flow.",
+ "items": {
+ "$ref": "#/definitions/DataFlowSink"
+ }
+ },
+ "transformations": {
+ "type": "array",
+ "description": "List of transformations in data flow.",
+ "items": {
+ "$ref": "#/definitions/Transformation"
+ }
+ },
+ "script": {
+ "type": "string",
+ "description": "DataFlow script."
+ }
+ }
+ },
+ "Transformation": {
+ "description": "A data flow transformation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Transformation name.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Transformation description.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "DataFlowSource": {
+ "description": "Transformation for data flow source.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Transformation"
+ }
+ ],
+ "properties": {
+ "dataset": {
+ "description": "Dataset reference.",
+ "$ref": "../datafactory.json#/definitions/DatasetReference"
+ }
+ }
+ },
+ "DataFlowSink": {
+ "description": "Transformation for data flow sink.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Transformation"
+ }
+ ],
+ "properties": {
+ "dataset": {
+ "description": "Dataset reference.",
+ "$ref": "../datafactory.json#/definitions/DatasetReference"
+ }
+ }
+ }
+ }
+}
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 88b3adaca912..fa9725904bce 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
@@ -152,6 +152,34 @@
}
]
},
+ "AzureFileStorageLocation": {
+ "description": "The location of file server dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatasetLocation"
+ }
+ ]
+ },
+ "GoogleCloudStorageLocation": {
+ "description": "The location of Google Cloud Storage dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatasetLocation"
+ }
+ ],
+ "properties": {
+ "bucketName": {
+ "type": "object",
+ "description": "Specify the bucketName of Google Cloud Storage. Type: string (or Expression with resultType string)"
+ },
+ "version": {
+ "type": "object",
+ "description": "Specify the version of Google Cloud Storage. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
"FtpServerLocation": {
"description": "The location of ftp server dataset.",
"type": "object",
@@ -719,6 +747,35 @@
"location"
]
},
+ "OrcDataset": {
+ "x-ms-discriminator-value": "Orc",
+ "description": "ORC dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "ORC dataset properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OrcDatasetTypeProperties"
+ }
+ }
+ },
+ "OrcDatasetTypeProperties": {
+ "description": "ORC dataset properties.",
+ "properties": {
+ "location": {
+ "$ref": "#/definitions/DatasetLocation",
+ "description": "The location of the ORC data storage."
+ }
+ },
+ "required": [
+ "location"
+ ]
+ },
"BinaryDataset": {
"x-ms-discriminator-value": "Binary",
"description": "Binary dataset.",
@@ -983,6 +1040,38 @@
}
}
},
+ "CosmosDbSqlApiCollectionDataset": {
+ "x-ms-discriminator-value": "CosmosDbSqlApiCollection",
+ "description": "Microsoft Azure CosmosDB (SQL API) Collection dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "CosmosDB (SQL API) Collection dataset properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CosmosDbSqlApiCollectionDatasetTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "CosmosDbSqlApiCollectionDatasetTypeProperties": {
+ "description": "CosmosDB (SQL API) Collection dataset properties.",
+ "properties": {
+ "collectionName": {
+ "type": "object",
+ "description": "CosmosDB (SQL API) collection name. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "collectionName"
+ ]
+ },
"DocumentDbCollectionDataset": {
"x-ms-discriminator-value": "DocumentDbCollection",
"description": "Microsoft Azure Document Database Collection dataset.",
@@ -1467,6 +1556,10 @@
"tableName": {
"type": "object",
"description": "The Azure MySQL database table name. Type: string (or Expression with resultType string)."
+ },
+ "table": {
+ "type": "object",
+ "description": "The name of Azure MySQL database table. Type: string (or Expression with resultType string)."
}
}
},
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 76d990e2fb31..e5891b041cba 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
@@ -100,6 +100,10 @@
"type": "integer",
"minimum": 1
},
+ "dataFlowProperties": {
+ "description": "Data flow properties for managed integration runtime.",
+ "$ref": "#/definitions/IntegrationRuntimeDataFlowProperties"
+ },
"vNetProperties": {
"description": "VNet properties for managed integration runtime.",
"$ref": "#/definitions/IntegrationRuntimeVNetProperties"
@@ -109,6 +113,37 @@
"type": "object"
}
},
+ "IntegrationRuntimeDataFlowProperties": {
+ "description": "Data flow properties for managed integration runtime.",
+ "type": "object",
+ "properties": {
+ "computeType": {
+ "description": "Compute type of the cluster which will execute data flow job.",
+ "type": "string",
+ "enum": [
+ "General",
+ "MemoryOptimized",
+ "ComputeOptimized"
+ ],
+ "x-ms-enum": {
+ "name": "DataFlowComputeType",
+ "modelAsString": true
+ }
+ },
+ "coreCount": {
+ "description": "Core count of the cluster which will execute data flow job. Supported values are: 8, 16, 32, 48, 80, 144 and 272.",
+ "type": "integer"
+ },
+ "timeToLive": {
+ "description": "Time to live (in minutes) setting of the cluster which will execute data flow job.",
+ "type": "integer",
+ "minimum": 0
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
"IntegrationRuntimeVNetProperties": {
"description": "VNet properties for managed integration runtime.",
"type": "object",
@@ -165,6 +200,13 @@
"name": "IntegrationRuntimeEdition",
"modelAsString": true
}
+ },
+ "expressCustomSetupProperties": {
+ "description": "Custom setup without script properties for a SSIS integration runtime.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomSetupBase"
+ }
}
},
"additionalProperties": {
@@ -240,6 +282,136 @@
}
}
},
+ "CustomSetupBase": {
+ "description": "The base definition of the custom setup.",
+ "type": "object",
+ "discriminator": "type",
+ "properties": {
+ "type": {
+ "description": "The type of custom setup.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "CmdkeySetup": {
+ "description": "The custom setup of running cmdkey commands.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CustomSetupBase"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Cmdkey command custom setup type properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CmdkeySetupTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "CmdkeySetupTypeProperties": {
+ "description": "Cmdkey command custom setup type properties.",
+ "type": "object",
+ "properties": {
+ "targetName": {
+ "description": "The server name of data source access.",
+ "type": "object"
+ },
+ "userName": {
+ "description": "The user name of data source access.",
+ "type": "object"
+ },
+ "password": {
+ "description": "The password of data source access.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ }
+ },
+ "required": [
+ "targetName",
+ "userName",
+ "password"
+ ]
+ },
+ "EnvironmentVariableSetup": {
+ "description": "The custom setup of setting environment variable.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CustomSetupBase"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Add environment variable type properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EnvironmentVariableSetupTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "EnvironmentVariableSetupTypeProperties": {
+ "description": "Environment variable custom setup type properties.",
+ "type": "object",
+ "properties": {
+ "variableName": {
+ "description": "The name of the environment variable.",
+ "type": "string"
+ },
+ "variableValue": {
+ "description": "The value of the environment variable.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "variableName",
+ "variableValue"
+ ]
+ },
+ "ComponentSetup": {
+ "description": "The custom setup of installing 3rd party components.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CustomSetupBase"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Install 3rd party component type properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LicensedComponentSetupTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "LicensedComponentSetupTypeProperties": {
+ "description": "Installation of licensed component setup type properties.",
+ "type": "object",
+ "properties": {
+ "componentName": {
+ "description": "The name of the 3rd party component.",
+ "type": "string"
+ },
+ "licenseKey": {
+ "description": "The license key to activate the component.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ }
+ },
+ "required": [
+ "componentName",
+ "licenseKey"
+ ]
+ },
"EntityReference": {
"description": "The entity reference.",
"type": "object",
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 12b90c896c65..3dfc7d9b622d 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
@@ -482,18 +482,23 @@
"description": "The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.",
"type": "object"
},
+ "accountEndpoint": {
+ "description": "The endpoint of the Azure CosmosDB account. Type: string (or Expression with resultType string)",
+ "type": "object"
+ },
+ "database": {
+ "description": "The name of the database. Type: string (or Expression with resultType string)",
+ "type": "object"
+ },
"accountKey": {
- "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference",
- "description": "The Azure key vault secret reference of accountKey in connection string."
+ "$ref": "../datafactory.json#/definitions/SecretBase",
+ "description": "The account key of the Azure CosmosDB account. Type: SecureString or AzureKeyVaultSecretReference."
},
"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": [
- "connectionString"
- ]
+ }
},
"DynamicsLinkedService": {
"x-ms-discriminator-value": "Dynamics",
@@ -845,6 +850,91 @@
"host"
]
},
+ "AzureFileStorageLinkedService": {
+ "x-ms-discriminator-value": "AzureFileStorage",
+ "description": "Azure File Storage linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Azure File Storage linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFileStorageLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AzureFileStorageLinkedServiceTypeProperties": {
+ "description": "Azure File Storage linked service properties.",
+ "properties": {
+ "host": {
+ "type": "object",
+ "description": "Host name of the server. Type: string (or Expression with resultType string)."
+ },
+ "userId": {
+ "type": "object",
+ "description": "User ID to logon the server. Type: string (or Expression with resultType string)."
+ },
+ "password": {
+ "description": "Password to logon the server.",
+ "$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": [
+ "host"
+ ]
+ },
+ "GoogleCloudStorageLinkedService": {
+ "x-ms-discriminator-value": "GoogleCloudStorage",
+ "description": "Linked service for Google Cloud Storage.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Google Cloud Storage linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GoogleCloudStorageLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "GoogleCloudStorageLinkedServiceTypeProperties": {
+ "description": "Google Cloud Storage linked service properties.",
+ "properties": {
+ "accessKeyId": {
+ "type": "object",
+ "description": "The access key identifier of the Google Cloud Storage Identity and Access Management (IAM) user. Type: string (or Expression with resultType string)."
+ },
+ "secretAccessKey": {
+ "description": "The secret access key of the Google Cloud Storage Identity and Access Management (IAM) user.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "serviceUrl": {
+ "type": "object",
+ "description": "This value specifies the endpoint to access with the Google Cloud Storage 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)."
+ }
+ }
+ },
"OracleLinkedService": {
"x-ms-discriminator-value": "Oracle",
"description": "Oracle database.",
@@ -1189,7 +1279,7 @@
},
"AzureMLLinkedService": {
"x-ms-discriminator-value": "AzureML",
- "description": "Azure ML Web Service linked service.",
+ "description": "Azure ML Studio Web Service linked service.",
"type": "object",
"allOf": [
{
@@ -1198,7 +1288,7 @@
],
"properties": {
"typeProperties": {
- "description": "Azure ML Web Service linked service properties.",
+ "description": "Azure ML Studio Web Service linked service properties.",
"x-ms-client-flatten": true,
"$ref": "#/definitions/AzureMLLinkedServiceTypeProperties"
}
@@ -1208,11 +1298,11 @@
]
},
"AzureMLLinkedServiceTypeProperties": {
- "description": "Azure ML Web Service linked service properties.",
+ "description": "Azure ML Studio Web Service linked service properties.",
"properties": {
"mlEndpoint": {
"type": "object",
- "description": "The Batch Execution REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string)."
+ "description": "The Batch Execution REST URL for an Azure ML Studio Web Service endpoint. Type: string (or Expression with resultType string)."
},
"apiKey": {
"description": "The API key for accessing the Azure ML model endpoint.",
@@ -1220,15 +1310,15 @@
},
"updateResourceEndpoint": {
"type": "object",
- "description": "The Update Resource REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string)."
+ "description": "The Update Resource REST URL for an Azure ML Studio Web Service endpoint. Type: string (or Expression with resultType string)."
},
"servicePrincipalId": {
"type": "object",
- "description": "The ID of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service. Type: string (or Expression with resultType string)."
+ "description": "The ID of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML Studio web service. Type: string (or Expression with resultType string)."
},
"servicePrincipalKey": {
"$ref": "../datafactory.json#/definitions/SecretBase",
- "description": "The key of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service."
+ "description": "The key of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML Studio web service."
},
"tenant": {
"type": "object",
@@ -1244,6 +1334,64 @@
"apiKey"
]
},
+ "AzureMLServiceLinkedService": {
+ "x-ms-discriminator-value": "AzureMLService",
+ "description": "Azure ML Service linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Azure ML Service linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureMLServiceLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AzureMLServiceLinkedServiceTypeProperties": {
+ "description": "Azure ML Service linked service properties.",
+ "properties": {
+ "subscriptionId": {
+ "type": "object",
+ "description": "Azure ML Service workspace subscription ID. Type: string (or Expression with resultType string)."
+ },
+ "resourceGroupName": {
+ "type": "object",
+ "description": "Azure ML Service workspace resource group name. Type: string (or Expression with resultType string)."
+ },
+ "mlWorkspaceName": {
+ "type": "object",
+ "description": "Azure ML Service workspace name. Type: string (or Expression with resultType string)."
+ },
+ "servicePrincipalId": {
+ "type": "object",
+ "description": "The ID of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline. Type: string (or Expression with resultType string)."
+ },
+ "servicePrincipalKey": {
+ "$ref": "../datafactory.json#/definitions/SecretBase",
+ "description": "The key of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline."
+ },
+ "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": [
+ "subscriptionId",
+ "resourceGroupName",
+ "mlWorkspaceName"
+ ]
+ },
"OdbcLinkedService": {
"x-ms-discriminator-value": "Odbc",
"description": "Open Database Connectivity (ODBC) linked service.",
@@ -4971,19 +5119,23 @@
},
"existingClusterId": {
"type": "object",
- "description": "The id of an existing cluster that will be used for all runs of this job. Type: string (or Expression with resultType string)."
+ "description": "The id of an existing interactive cluster that will be used for all runs of this activity. Type: string (or Expression with resultType string)."
+ },
+ "instancePoolId": {
+ "type": "object",
+ "description": "The id of an existing instance pool that will be used for all runs of this activity. Type: string (or Expression with resultType string)."
},
"newClusterVersion": {
"type": "object",
- "description": "The Spark version of new cluster. Type: string (or Expression with resultType string)."
+ "description": "If not using an existing interactive cluster, this specifies the Spark version of a new job cluster or instance pool nodes created for each run of this activity. Required if instancePoolId is specified. Type: string (or Expression with resultType string)."
},
"newClusterNumOfWorker": {
"type": "object",
- "description": "Number of worker nodes that new cluster should have. A string formatted Int32, like '1' means numOfWorker is 1 or '1:10' means auto-scale from 1 as min and 10 as max. Type: string (or Expression with resultType string)."
+ "description": "If not using an existing interactive cluster, this specifies the number of worker nodes to use for the new job cluster or instance pool. For new job clusters, this a string-formatted Int32, like '1' means numOfWorker is 1 or '1:10' means auto-scale from 1 (min) to 10 (max). For instance pools, this is a string-formatted Int32, and can only specify a fixed number of worker nodes, such as '2'. Required if newClusterVersion is specified. Type: string (or Expression with resultType string)."
},
"newClusterNodeType": {
"type": "object",
- "description": "The node types of new cluster. Type: string (or Expression with resultType string)."
+ "description": "The node type of the new job cluster. This property is required if newClusterVersion is specified and instancePoolId is not specified. If instancePoolId is specified, this property is ignored. Type: string (or Expression with resultType string)."
},
"newClusterSparkConf": {
"description": "A set of optional, user-specified Spark configuration key-value pairs.",
@@ -5002,7 +5154,7 @@
}
},
"newClusterCustomTags": {
- "description": "Additional tags for cluster resources.",
+ "description": "Additional tags for cluster resources. This property is ignored in instance pool configurations.",
"type": "object",
"additionalProperties": {
"type": "object",
@@ -5011,7 +5163,7 @@
},
"newClusterDriverNodeType": {
"type": "object",
- "description": "The driver node type for the new cluster. Type: string (or Expression with resultType string)."
+ "description": "The driver node type for the new job cluster. This property is ignored in instance pool configurations. Type: string (or Expression with resultType string)."
},
"newClusterInitScripts": {
"type": "object",
@@ -5019,7 +5171,7 @@
},
"newClusterEnableElasticDisk": {
"type": "object",
- "description": "Enable the elastic disk on the new cluster. Type: boolean (or Expression with resultType boolean)."
+ "description": "Enable the elastic disk on the new cluster. This property is now ignored, and takes the default elastic disk behavior in Databricks (elastic disks are always enabled). Type: boolean (or Expression with resultType boolean)."
},
"encryptedCredential": {
"type": "object",
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 36c6b2cbd239..f54aa0bbd14c 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
@@ -412,6 +412,80 @@
}
}
},
+ "AzureFileStorageReadSettings": {
+ "description": "Azure File Storage read settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/StoreReadSettings"
+ }
+ ],
+ "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)."
+ },
+ "wildcardFolderPath": {
+ "type": "object",
+ "description": "Azure File Storage wildcardFolderPath. Type: string (or Expression with resultType string)."
+ },
+ "wildcardFileName": {
+ "type": "object",
+ "description": "Azure File Storage wildcardFileName. Type: string (or Expression with resultType string)."
+ },
+ "enablePartitionDiscovery": {
+ "type": "boolean",
+ "description": "Indicates whether to enable partition discovery."
+ },
+ "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)."
+ }
+ }
+ },
+ "GoogleCloudStorageReadSettings": {
+ "description": "Google Cloud Storage read settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/StoreReadSettings"
+ }
+ ],
+ "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)."
+ },
+ "wildcardFolderPath": {
+ "type": "object",
+ "description": "Google Cloud Storage wildcardFolderPath. Type: string (or Expression with resultType string)."
+ },
+ "wildcardFileName": {
+ "type": "object",
+ "description": "Google Cloud Storage wildcardFileName. Type: string (or Expression with resultType string)."
+ },
+ "prefix": {
+ "type": "object",
+ "description": "The prefix filter for the Google Cloud Storage object name. Type: string (or Expression with resultType string)."
+ },
+ "enablePartitionDiscovery": {
+ "type": "boolean",
+ "description": "Indicates whether to enable partition discovery."
+ },
+ "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)."
+ }
+ }
+ },
"FtpReadSettings": {
"description": "Ftp read settings.",
"type": "object",
@@ -784,6 +858,21 @@
}
}
},
+ "OrcSource": {
+ "description": "A copy activity ORC source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "storeSettings": {
+ "$ref": "#/definitions/StoreReadSettings",
+ "description": "ORC store settings."
+ }
+ }
+ },
"DelimitedTextSink": {
"description": "A copy activity DelimitedText sink.",
"type": "object",
@@ -822,6 +911,21 @@
}
}
},
+ "OrcSink": {
+ "description": "A copy activity ORC sink.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySink"
+ }
+ ],
+ "properties": {
+ "storeSettings": {
+ "$ref": "#/definitions/StoreWriteSettings",
+ "description": "ORC store settings."
+ }
+ }
+ },
"CopyActivity": {
"x-ms-discriminator-value": "Copy",
"description": "Copy activity.",
@@ -960,12 +1064,27 @@
}
}
},
+ "TabularSource": {
+ "description": "Copy activity sources of tabular type.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "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]))."
+ }
+ }
+ },
"AzureTableSource": {
"description": "A copy activity Azure Table source.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1018,6 +1137,33 @@
"nestingSeparator": {
"type": "object",
"description": "Nested properties separator. 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]))."
+ }
+ }
+ },
+ "CosmosDbSqlApiSource": {
+ "description": "A copy activity Azure CosmosDB (SQL API) Collection source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "query": {
+ "type": "object",
+ "description": "SQL API query. Type: string (or Expression with resultType string)."
+ },
+ "pageSize": {
+ "type": "object",
+ "description": "Page size of the result. Type: integer (or Expression with resultType integer)."
+ },
+ "preferredRegions": {
+ "type": "object",
+ "description": "Preferred regions. Type: array of strings (or Expression with resultType array of strings)."
}
}
},
@@ -1086,7 +1232,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1116,7 +1262,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1131,7 +1277,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1146,7 +1292,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1161,7 +1307,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1176,7 +1322,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1191,7 +1337,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1221,7 +1367,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1275,7 +1421,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1290,7 +1436,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1305,7 +1451,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1324,7 +1470,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1343,7 +1489,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1455,7 +1601,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1481,7 +1627,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1511,7 +1657,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1541,7 +1687,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1571,7 +1717,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1650,7 +1796,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1753,7 +1899,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1813,7 +1959,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -1878,6 +2024,10 @@
"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)."
+ },
+ "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]))."
}
}
},
@@ -1901,6 +2051,10 @@
"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)."
+ },
+ "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]))."
}
}
},
@@ -1930,7 +2084,7 @@
}
},
"Office365Source": {
- "description": "A copy activity source for an Office365 service.",
+ "description": "A copy activity source for an Office 365 service.",
"type": "object",
"allOf": [
{
@@ -1957,6 +2111,10 @@
"endTime": {
"type": "object",
"description": "End time of the requested range for this dataset. Type: string (or Expression with resultType string)."
+ },
+ "outputColumns": {
+ "type": "object",
+ "description": "The columns to be read out from the Office 365 table. Type: array of objects (or Expression with resultType array of objects). Example: [ { \"name\": \"Id\" }, { \"name\": \"CreatedDateTime\" } ]"
}
}
},
@@ -2018,7 +2176,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2033,7 +2191,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2078,7 +2236,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2093,7 +2251,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2108,7 +2266,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2123,7 +2281,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2138,7 +2296,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2153,7 +2311,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2168,7 +2326,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2183,7 +2341,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2198,7 +2356,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2213,7 +2371,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2228,7 +2386,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2243,7 +2401,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2258,7 +2416,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2273,7 +2431,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2288,7 +2446,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2303,7 +2461,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2318,7 +2476,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2333,7 +2491,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2348,7 +2506,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2363,7 +2521,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2378,7 +2536,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2393,7 +2551,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2408,7 +2566,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2423,7 +2581,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2438,7 +2596,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2453,7 +2611,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2503,7 +2661,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2518,7 +2676,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2533,7 +2691,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2548,7 +2706,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2563,7 +2721,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2578,7 +2736,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2593,7 +2751,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/CopySource"
+ "$ref": "#/definitions/TabularSource"
}
],
"properties": {
@@ -2872,7 +3030,22 @@
},
"writeBehavior": {
"type": "object",
- "description": "Describes how to write data to Azure Cosmos DB. Allowed values: insert and upsert."
+ "description": "Describes how to write data to Azure Cosmos DB. Type: string (or Expression with resultType string). Allowed values: insert and upsert."
+ }
+ }
+ },
+ "CosmosDbSqlApiSink": {
+ "description": "A copy activity Azure CosmosDB (SQL API) Collection sink.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySink"
+ }
+ ],
+ "properties": {
+ "writeBehavior": {
+ "type": "object",
+ "description": "Describes how to write data to Azure Cosmos DB. Type: string (or Expression with resultType string). Allowed values: insert and upsert."
}
}
},
@@ -3296,6 +3469,10 @@
"ignoreNullValues": {
"type": "object",
"description": "The flag indicating whether ignore null values from input dataset (except key fields) during write operation. Default is false. Type: boolean (or Expression with resultType boolean)."
+ },
+ "alternateKeyName": {
+ "type": "object",
+ "description": "The logical name of the alternate key which will be used when upserting records. Type: string (or Expression with resultType string)."
}
},
"required": [
@@ -3325,6 +3502,10 @@
"ignoreNullValues": {
"type": "object",
"description": "The flag indicating whether to ignore null values from input dataset (except key fields) during write operation. Default is false. Type: boolean (or Expression with resultType boolean)."
+ },
+ "alternateKeyName": {
+ "type": "object",
+ "description": "The logical name of the alternate key which will be used when upserting records. Type: string (or Expression with resultType string)."
}
},
"required": [
@@ -3354,6 +3535,10 @@
"ignoreNullValues": {
"type": "object",
"description": "The flag indicating whether to ignore null values from input dataset (except key fields) during write operation. Default is false. Type: boolean (or Expression with resultType boolean)."
+ },
+ "alternateKeyName": {
+ "type": "object",
+ "description": "The logical name of the alternate key which will be used when upserting records. Type: string (or Expression with resultType string)."
}
},
"required": [
@@ -3618,12 +3803,8 @@
}
},
"arguments": {
- "description": "User specified arguments to HDInsightActivity.",
- "type": "array",
- "items": {
- "type": "object",
- "description": "Type: string (or Expression with resultType string)."
- }
+ "type": "object",
+ "description": "User specified arguments to HDInsightActivity. Type: array (or Expression with resultType array)."
},
"getDebugInfo": {
"$ref": "#/definitions/HDInsightActivityDebugInfoOption",
@@ -4014,7 +4195,7 @@
"type": "object",
"properties": {
"packagePassword": {
- "$ref": "../datafactory.json#/definitions/SecureString",
+ "$ref": "../datafactory.json#/definitions/SecretBase",
"description": "Password of the package."
},
"accessCredential": {
@@ -4100,7 +4281,7 @@
"description": "UseName for windows authentication."
},
"password": {
- "$ref": "../datafactory.json#/definitions/SecureString",
+ "$ref": "../datafactory.json#/definitions/SecretBase",
"description": "Password for windows authentication."
}
},
@@ -4618,6 +4799,68 @@
"expression"
]
},
+ "SwitchActivity": {
+ "x-ms-discriminator-value": "Switch",
+ "description": "This activity evaluates an expression and executes activities under the cases property that correspond to the expression evaluation expected in the equals property.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ControlActivity"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Switch activity properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SwitchActivityTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "SwitchActivityTypeProperties": {
+ "description": "Switch activity properties.",
+ "properties": {
+ "on": {
+ "description": "An expression that would evaluate to a string or integer. This is used to determine the block of activities in cases that will be executed.",
+ "$ref": "../datafactory.json#/definitions/Expression"
+ },
+ "cases": {
+ "type": "array",
+ "description": "List of cases that correspond to expected values of the 'on' property. This is an optional property and if not provided, the activity will execute activities provided in defaultActivities.",
+ "items": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SwitchCase"
+ }
+ },
+ "defaultActivities": {
+ "type": "array",
+ "description": "List of activities to execute if no case condition is satisfied. This is an optional property and if not provided, the activity will exit without any action.",
+ "items": {
+ "$ref": "#/definitions/Activity"
+ }
+ }
+ },
+ "required": [
+ "on"
+ ]
+ },
+ "SwitchCase": {
+ "description": "Switch cases with have a value and corresponding activities.",
+ "properties": {
+ "value": {
+ "description": "Expected value that satisfies the expression result of the 'on' property.",
+ "type": "string"
+ },
+ "activities": {
+ "type": "array",
+ "description": "List of activities to execute for satisfied case condition.",
+ "items": {
+ "$ref": "#/definitions/Activity"
+ }
+ }
+ }
+ },
"ForEachActivity": {
"x-ms-discriminator-value": "ForEach",
"description": "This activity is used for iterating over a collection and execute given activities.",
@@ -4771,6 +5014,61 @@
"trainedModelFilePath"
]
},
+ "AzureMLExecutePipelineActivity": {
+ "description": "Azure ML Execute Pipeline activity.",
+ "x-ms-discriminator-value": "AzureMLExecutePipeline",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ExecutionActivity"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "x-ms-client-flatten": true,
+ "description": "Azure ML Execute Pipeline activity properties.",
+ "$ref": "#/definitions/AzureMLExecutePipelineActivityTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AzureMLExecutePipelineActivityTypeProperties": {
+ "description": "Azure ML Execute Pipeline activity properties.",
+ "properties": {
+ "mlPipelineId": {
+ "description": "ID of the published Azure ML pipeline. Type: string (or Expression with resultType string).",
+ "type": "object"
+ },
+ "experimentName": {
+ "description": "Run history experiment name of the pipeline run. This information will be passed in the ExperimentName property of the published pipeline execution request. Type: string (or Expression with resultType string).",
+ "type": "object"
+ },
+ "mlPipelineParameters": {
+ "description": "Key,Value pairs to be passed to the published Azure ML pipeline endpoint. Keys must match the names of pipeline parameters defined in the published pipeline. Values will be passed in the ParameterAssignments property of the published pipeline execution request. Type: object with key value pairs (or Expression with resultType object).",
+ "type": "object"
+ },
+ "mlParentRunId": {
+ "description": "The parent Azure ML Service pipeline run id. This information will be passed in the ParentRunId property of the published pipeline execution request. Type: string (or Expression with resultType string).",
+ "type": "object"
+ },
+ "continueOnStepFailure": {
+ "description": "Whether to continue execution of other steps in the PipelineRun if a step fails. This information will be passed in the continueOnStepFailure property of the published pipeline execution request. Type: boolean (or Expression with resultType boolean).",
+ "type": "object"
+ }
+ },
+ "required": [
+ "mlPipelineId"
+ ]
+ },
+ "AzureMLPipelineParameters": {
+ "description": "Key,Value pairs to be passed to the published Azure ML pipeline endpoint. Keys must match the names of pipeline parameters defined in the published pipeline. Values will be passed in the ParameterAssignments property of the published pipeline execution request.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "description": "Type: string (or Expression with resultType string)."
+ }
+ },
"DataLakeAnalyticsUSQLActivity": {
"description": "Data Lake Analytics U-SQL activity.",
"x-ms-discriminator-value": "DataLakeAnalyticsU-SQL",
@@ -5325,6 +5623,45 @@
"method",
"url"
]
+ },
+ "ExecuteDataFlowActivity": {
+ "description": "Execute data flow activity.",
+ "x-ms-discriminator-value": "ExecuteDataFlow",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ExecutionActivity"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "x-ms-client-flatten": true,
+ "description": "Execute data flow activity properties.",
+ "$ref": "#/definitions/ExecuteDataFlowActivityTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "ExecuteDataFlowActivityTypeProperties": {
+ "description": "Execute data flow activity properties.",
+ "properties": {
+ "dataFlow": {
+ "description": "Data flow reference.",
+ "$ref": "../datafactory.json#/definitions/DataFlowReference"
+ },
+ "staging": {
+ "description": "Staging info for execute data flow activity.",
+ "$ref": "../datafactory.json#/definitions/DataFlowStagingInfo"
+ },
+ "integrationRuntime": {
+ "description": "The integration runtime reference.",
+ "$ref": "../datafactory.json#/definitions/IntegrationRuntimeReference"
+ }
+ },
+ "required": [
+ "dataFlow"
+ ]
}
}
}
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 6c66d196fad5..5356af606b83 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
@@ -303,6 +303,10 @@
"description": "The blob path must end with the pattern provided for trigger to fire. For example, 'december/boxes.csv' will only fire the trigger for blobs named boxes in a december folder. At least one of these must be provided: blobPathBeginsWith, blobPathEndsWith.",
"type": "string"
},
+ "ignoreEmptyBlobs": {
+ "description": "If set to true, blobs with zero bytes will be ignored.",
+ "type": "boolean"
+ },
"events": {
"description": "The type of events that cause this trigger to fire.",
"$ref": "#/definitions/BlobEventTypes"
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_AddDataFlow.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_AddDataFlow.json
new file mode 100644
index 000000000000..78cc3a1056de
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_AddDataFlow.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "request": {
+ "dataFlow": {
+ "name": "dataflow1",
+ "properties": {
+ "type": "MappingDataFlow",
+ "typeProperties": {
+ "sources": [
+ {
+ "dataset": {
+ "referenceName": "DelimitedText2",
+ "type": "DatasetReference"
+ },
+ "name": "source1"
+ }
+ ],
+ "sinks": [],
+ "transformations": [],
+ "script": "\n\nsource(output(\n\t\tColumn_1 as string\n\t),\n\tallowSchemaDrift: true,\n\tvalidateSchema: false) ~> source1"
+ }
+ }
+ },
+ "datasets": [
+ {
+ "name": "dataset1",
+ "properties": {
+ "linkedServiceName": {
+ "referenceName": "linkedService5",
+ "type": "LinkedServiceReference"
+ },
+ "annotations": [],
+ "type": "DelimitedText",
+ "typeProperties": {
+ "location": {
+ "type": "AzureBlobStorageLocation",
+ "fileName": "Ansiencoding.csv",
+ "container": "dataflow-sample-data"
+ },
+ "columnDelimiter": ",",
+ "escapeChar": "\\",
+ "firstRowAsHeader": true,
+ "quoteChar": "\""
+ },
+ "schema": [
+ {
+ "type": "String"
+ }
+ ]
+ }
+ }
+ ],
+ "linkedServices": [
+ {
+ "name": "linkedService1",
+ "properties": {
+ "type": "AzureBlobStorage",
+ "typeProperties": {
+ "connectionString": "DefaultEndpointsProtocol=https;AccountName=;EndpointSuffix=core.windows.net;",
+ "encryptedCredential": ""
+ },
+ "annotations": []
+ }
+ }
+ ],
+ "debugSettings": {
+ "sourceSettings": [
+ {
+ "sourceName": "source1",
+ "rowLimit": 1000
+ },
+ {
+ "sourceName": "source2",
+ "rowLimit": 222
+ }
+ ],
+ "parameters": {
+ "sourcePath": "Toy"
+ },
+ "datasetParameters": {
+ "Movies": {
+ "path": "abc"
+ },
+ "Output": {
+ "time": "def"
+ }
+ }
+ },
+ "sessionId": "f06ed247-9d07-49b2-b05e-2cb4a2fc871e"
+ },
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Sat, 16 Jun 2018 00:40:01 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-reads": "14989",
+ "x-ms-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd",
+ "x-ms-correlation-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd"
+ },
+ "body": {
+ "jobVersion": "e5328ee7-c524-4207-8ba4-b709010db33d"
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_Create.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_Create.json
new file mode 100644
index 000000000000..2a44edce9106
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_Create.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "request": {
+ "timeToLive": 60,
+ "integrationRuntime": {
+ "name": "ir1",
+ "properties": {
+ "type": "Managed",
+ "typeProperties": {
+ "computeProperties": {
+ "location": "AutoResolve",
+ "dataFlowProperties": {
+ "computeType": "General",
+ "coreCount": 48,
+ "timeToLive": 10
+ }
+ }
+ }
+ }
+ }
+ },
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Date": "Sat, 16 Jun 2018 00:40:01 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-reads": "14989",
+ "x-ms-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd",
+ "x-ms-correlation-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd",
+ "location": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/operationStatuses/dfCreateSession$$229c688c-944c-44ac-b31a-82d50f347154?api-version=2018-06-01"
+ }
+ },
+ "200": {
+ "body": {
+ "status": "Succeeded",
+ "sessionId": "229c688c-944c-44ac-b31a-82d50f347154"
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_Delete.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_Delete.json
new file mode 100644
index 000000000000..43ff72b73737
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_Delete.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "request": {
+ "sessionId": "91fb57e0-8292-47be-89ff-c8f2d2bb2a7e"
+ },
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Sat, 16 Jun 2018 00:40:01 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-reads": "14989",
+ "x-ms-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd",
+ "x-ms-correlation-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd"
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_ExecuteCommand.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_ExecuteCommand.json
new file mode 100644
index 000000000000..ee67b8340568
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_ExecuteCommand.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "request": {
+ "commandPayload": {
+ "streamName": "source1",
+ "rowLimits": 100
+ },
+ "command": "executePreviewQuery",
+ "sessionId": "f06ed247-9d07-49b2-b05e-2cb4a2fc871e"
+ },
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Date": "Sat, 16 Jun 2018 00:40:01 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-reads": "14989",
+ "x-ms-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd",
+ "x-ms-correlation-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd",
+ "location": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/operationResults/dfCommandOutput$$f06ed247-9d07-49b2-b05e-2cb4a2fc871e$$e5328ee7-c524-4207-8ba4-b709010db33d$$ace5eaf0-3e93-45ba-ada3-bf77da321a7b?api-version=2018-06-01"
+ }
+ },
+ "200": {
+ "body": {
+ "status": "Succeeded",
+ "data": "some output"
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_QueryByFactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_QueryByFactory.json
new file mode 100644
index 000000000000..872d92b554af
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlowDebugSession_QueryByFactory.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Sat, 16 Jun 2018 00:40:01 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-reads": "14989",
+ "x-ms-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd",
+ "x-ms-correlation-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd"
+ },
+ "body": {
+ "value": [
+ {
+ "userObjectId": "0a7e0d6e-f2b7-48cc-8cd8-618326f5662f",
+ "startTime": "2019-09-05T18:23:20.3257799+00:00",
+ "lastActivityTime": "2019-09-05T18:28:00.9459674+00:00",
+ "dataflowName": "DebugSession-0a7e0d6e-f2b7-48cc-8cd8-618326f5662f",
+ "sessionId": "229c688c-944c-44ac-b31a-82d50f347154",
+ "coreCount": 48,
+ "computeType": "General",
+ "timeToLiveInMinutes": 60
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_Create.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_Create.json
new file mode 100644
index 000000000000..2c9854885d47
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_Create.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "dataFlowName": "exampleDataFlow",
+ "ifMatch": null,
+ "dataFlow": {
+ "properties": {
+ "description": "Sample demo data flow to convert currencies showing usage of union, derive and conditional split transformation.",
+ "type": "MappingDataFlow",
+ "typeProperties": {
+ "sources": [
+ {
+ "dataset": {
+ "referenceName": "CurrencyDatasetUSD",
+ "type": "DatasetReference"
+ },
+ "name": "USDCurrency"
+ },
+ {
+ "dataset": {
+ "referenceName": "CurrencyDatasetCAD",
+ "type": "DatasetReference"
+ },
+ "name": "CADSource"
+ }
+ ],
+ "sinks": [
+ {
+ "dataset": {
+ "referenceName": "USDOutput",
+ "type": "DatasetReference"
+ },
+ "name": "USDSink"
+ },
+ {
+ "dataset": {
+ "referenceName": "CADOutput",
+ "type": "DatasetReference"
+ },
+ "name": "CADSink"
+ }
+ ],
+ "script": "source(output(PreviousConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: false,validateSchema: false) ~> USDCurrency\nsource(output(PreviousConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: true,validateSchema: false) ~> CADSource\nUSDCurrency, CADSource union(byName: true)~> Union\nUnion derive(NewCurrencyRate = round(CurrentConversionRate*1.25)) ~> NewCurrencyColumn\nNewCurrencyColumn split(Country == 'USD',Country == 'CAD',disjoint: false) ~> ConditionalSplit1@(USD, CAD)\nConditionalSplit1@USD sink(saveMode:'overwrite' ) ~> USDSink\nConditionalSplit1@CAD sink(saveMode:'overwrite' ) ~> CADSink"
+ }
+ }
+ },
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Sat, 16 Jun 2019 00:37:38 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-writes": "1194",
+ "x-ms-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0",
+ "x-ms-correlation-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0"
+ },
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/datasets/exampleDataset",
+ "name": "exampleDataFlow",
+ "type": "Microsoft.DataFactory/factories/dataflows",
+ "properties": {
+ "description": "Sample demo data flow to convert currencies showing usage of union, derive and conditional split transformation.",
+ "type": "MappingDataFlow",
+ "typeProperties": {
+ "sources": [
+ {
+ "dataset": {
+ "referenceName": "CurrencyDatasetUSD",
+ "type": "DatasetReference"
+ },
+ "name": "USDCurrency"
+ },
+ {
+ "dataset": {
+ "referenceName": "CurrencyDatasetCAD",
+ "type": "DatasetReference"
+ },
+ "name": "CADSource"
+ }
+ ],
+ "sinks": [
+ {
+ "dataset": {
+ "referenceName": "USDOutput",
+ "type": "DatasetReference"
+ },
+ "name": "USDSink"
+ },
+ {
+ "dataset": {
+ "referenceName": "CADOutput",
+ "type": "DatasetReference"
+ },
+ "name": "CADSink"
+ }
+ ],
+ "script": "source(output(PreviousConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: false,validateSchema: false) ~> USDCurrency\nsource(output(PreviousConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: true,validateSchema: false) ~> CADSource\nUSDCurrency, CADSource union(byName: true)~> Union\nUnion derive(NewCurrencyRate = round(CurrentConversionRate*1.25)) ~> NewCurrencyColumn\nNewCurrencyColumn split(Country == 'USD',Country == 'CAD',disjoint: false) ~> ConditionalSplit1@(USD, CAD)\nConditionalSplit1@USD sink(saveMode:'overwrite' ) ~> USDSink\nConditionalSplit1@CAD sink(saveMode:'overwrite' ) ~> CADSink"
+ }
+ },
+ "etag": "0a0066d4-0000-0000-0000-5b245bd20000"
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_Delete.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_Delete.json
new file mode 100644
index 000000000000..c8d00c1e4f59
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "dataFlowName": "exampleDataFlow",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_Get.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_Get.json
new file mode 100644
index 000000000000..794da6f64a09
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_Get.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "dataFlowName": "exampleDataFlow",
+ "ifNoneMatch": "15004c4f-0000-0200-0000-5cbe090e0000",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Mon, 22 Apr 2019 18:33:50 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-reads": "11993",
+ "x-ms-request-id": "48983fb5-612a-44c6-8158-add7ffebb32b",
+ "x-ms-correlation-request-id": "48983fb5-612a-44c6-8158-add7ffebb32b"
+ },
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/dataflows/exampleDataFlow",
+ "name": "exampleDataFlow",
+ "type": "Microsoft.DataFactory/factories/dataflows",
+ "properties": {
+ "description": "Sample demo data flow to convert currencies showing usage of union, derive and conditional split transformation.",
+ "type": "MappingDataFlow",
+ "typeProperties": {
+ "sources": [
+ {
+ "dataset": {
+ "referenceName": "CurrencyDatasetUSD",
+ "type": "DatasetReference"
+ },
+ "name": "USDCurrency"
+ },
+ {
+ "dataset": {
+ "referenceName": "CurrencyDatasetCAD",
+ "type": "DatasetReference"
+ },
+ "name": "CADSource"
+ }
+ ],
+ "sinks": [
+ {
+ "dataset": {
+ "referenceName": "USDOutput",
+ "type": "DatasetReference"
+ },
+ "name": "USDSink"
+ },
+ {
+ "dataset": {
+ "referenceName": "CADOutput",
+ "type": "DatasetReference"
+ },
+ "name": "CADSink"
+ }
+ ],
+ "script": "source(output(PreviousConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: false,validateSchema: false) ~> USDCurrency\nsource(output(PreviousConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: true,validateSchema: false) ~> CADSource\nUSDCurrency, CADSource union(byName: true)~> Union\nUnion derive(NewCurrencyRate = round(CurrentConversionRate*1.25)) ~> NewCurrencyColumn\nNewCurrencyColumn split(Country == 'USD',Country == 'CAD',disjoint: false) ~> ConditionalSplit1@(USD, CAD)\nConditionalSplit1@USD sink(saveMode:'overwrite' ) ~> USDSink\nConditionalSplit1@CAD sink(saveMode:'overwrite' ) ~> CADSink"
+ }
+ },
+ "etag": "15004c4f-0000-0200-0000-5cbe090e0000"
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_ListByFactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_ListByFactory.json
new file mode 100644
index 000000000000..e722aa052d18
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_ListByFactory.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Sat, 16 Jun 2018 00:37:40 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-reads": "14992",
+ "x-ms-request-id": "341c9ece-5062-448b-be98-3ccbf476ed5d",
+ "x-ms-correlation-request-id": "341c9ece-5062-448b-be98-3ccbf476ed5d"
+ },
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/dataflows/exampleDataFlow",
+ "name": "exampleDataFlow",
+ "type": "Microsoft.DataFactory/factories/dataflows",
+ "properties": {
+ "description": "Sample demo data flow to convert currencies showing usage of union, derive and conditional split transformation.",
+ "type": "MappingDataFlow",
+ "typeProperties": {
+ "sources": [
+ {
+ "dataset": {
+ "referenceName": "CurrencyDatasetUSD",
+ "type": "DatasetReference"
+ },
+ "name": "USDCurrency"
+ },
+ {
+ "dataset": {
+ "referenceName": "CurrencyDatasetCAD",
+ "type": "DatasetReference"
+ },
+ "name": "CADSource"
+ }
+ ],
+ "sinks": [
+ {
+ "dataset": {
+ "referenceName": "USDOutput",
+ "type": "DatasetReference"
+ },
+ "name": "USDSink"
+ },
+ {
+ "dataset": {
+ "referenceName": "CADOutput",
+ "type": "DatasetReference"
+ },
+ "name": "CADSink"
+ }
+ ],
+ "script": "source(output(PreviousConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: false,validateSchema: false) ~> USDCurrency\nsource(output(PreviousConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: true,validateSchema: false) ~> CADSource\nUSDCurrency, CADSource union(byName: true)~> Union\nUnion derive(NewCurrencyRate = round(CurrentConversionRate*1.25)) ~> NewCurrencyColumn\nNewCurrencyColumn split(Country == 'USD',Country == 'CAD',disjoint: false) ~> ConditionalSplit1@(USD, CAD)\nConditionalSplit1@USD sink(saveMode:'overwrite' ) ~> USDSink\nConditionalSplit1@CAD sink(saveMode:'overwrite' ) ~> CADSink"
+ }
+ },
+ "etag": "0a0068d4-0000-0000-0000-5b245bd30000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_Update.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_Update.json
new file mode 100644
index 000000000000..f5ef1f01f6a3
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DataFlows_Update.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "dataFlowName": "exampleDataFlow",
+ "ifMatch": null,
+ "dataFlow": {
+ "properties": {
+ "description": "Sample demo data flow to convert currencies showing usage of union, derive and conditional split transformation.",
+ "type": "MappingDataFlow",
+ "typeProperties": {
+ "sources": [
+ {
+ "dataset": {
+ "referenceName": "CurrencyDatasetUSD",
+ "type": "DatasetReference"
+ },
+ "name": "USDCurrency"
+ },
+ {
+ "dataset": {
+ "referenceName": "CurrencyDatasetCAD",
+ "type": "DatasetReference"
+ },
+ "name": "CADSource"
+ }
+ ],
+ "sinks": [
+ {
+ "dataset": {
+ "referenceName": "USDOutput",
+ "type": "DatasetReference"
+ },
+ "name": "USDSink"
+ },
+ {
+ "dataset": {
+ "referenceName": "CADOutput",
+ "type": "DatasetReference"
+ },
+ "name": "CADSink"
+ }
+ ],
+ "script": "source(output(PreviousConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: false,validateSchema: false) ~> USDCurrency\nsource(output(PreviousConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: true,validateSchema: false) ~> CADSource\nUSDCurrency, CADSource union(byName: true)~> Union\nUnion derive(NewCurrencyRate = round(CurrentConversionRate*1.25)) ~> NewCurrencyColumn\nNewCurrencyColumn split(Country == 'USD',Country == 'CAD',disjoint: false) ~> ConditionalSplit1@(USD, CAD)\nConditionalSplit1@USD sink(saveMode:'overwrite' ) ~> USDSink\nConditionalSplit1@CAD sink(saveMode:'overwrite' ) ~> CADSink"
+ }
+ }
+ },
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Sat, 16 Jun 2019 00:37:38 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-writes": "1193",
+ "x-ms-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0",
+ "x-ms-correlation-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0"
+ },
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/datasets/exampleDataset",
+ "name": "exampleDataFlow",
+ "type": "Microsoft.DataFactory/factories/dataflows",
+ "properties": {
+ "description": "Sample demo data flow to convert currencies showing usage of union, derive and conditional split transformation.",
+ "type": "MappingDataFlow",
+ "typeProperties": {
+ "sources": [
+ {
+ "dataset": {
+ "referenceName": "CurrencyDatasetUSD",
+ "type": "DatasetReference"
+ },
+ "name": "USDCurrency"
+ },
+ {
+ "dataset": {
+ "referenceName": "CurrencyDatasetCAD",
+ "type": "DatasetReference"
+ },
+ "name": "CADSource"
+ }
+ ],
+ "sinks": [
+ {
+ "dataset": {
+ "referenceName": "USDOutput",
+ "type": "DatasetReference"
+ },
+ "name": "USDSink"
+ },
+ {
+ "dataset": {
+ "referenceName": "CADOutput",
+ "type": "DatasetReference"
+ },
+ "name": "CADSink"
+ }
+ ],
+ "script": "source(output(PreviousConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: false,validateSchema: false) ~> USDCurrency\nsource(output(PreviousConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: true,validateSchema: false) ~> CADSource\nUSDCurrency, CADSource union(byName: true)~> Union\nUnion derive(NewCurrencyRate = round(CurrentConversionRate*1.25)) ~> NewCurrencyColumn\nNewCurrencyColumn split(Country == 'USD',Country == 'CAD',disjoint: false) ~> ConditionalSplit1@(USD, CAD)\nConditionalSplit1@USD sink(saveMode:'overwrite' ) ~> USDSink\nConditionalSplit1@CAD sink(saveMode:'overwrite' ) ~> CADSink"
+ }
+ },
+ "etag": "0a0068d4-0000-0000-0000-5b245bd30002"
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/PipelineRuns_QueryByFactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/PipelineRuns_QueryByFactory.json
index 8a2579b02242..3cdbcb46ef76 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/PipelineRuns_QueryByFactory.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/PipelineRuns_QueryByFactory.json
@@ -48,7 +48,7 @@
"annotations": [],
"runDimension": {
"JobId": "79c1cc52-265f-41a5-9553-be65e736fbd3"
- }
+ }
},
{
"runId": "16ac5348-ff82-4f95-a80d-638c1d47b721",
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2015-10-01-preview/catalog.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2015-10-01-preview/catalog.json
index 4d377d679b65..cb70ecacf294 100644
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2015-10-01-preview/catalog.json
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2015-10-01-preview/catalog.json
@@ -2579,23 +2579,23 @@
},
"isNullable": {
"type": "boolean",
- "description": "the the switch indicating if this type is nullable."
+ "description": "The switch indicating if this type is nullable."
},
"isUserDefined": {
"type": "boolean",
- "description": "the the switch indicating if this type is user defined."
+ "description": "The switch indicating if this type is user defined."
},
"isAssemblyType": {
"type": "boolean",
- "description": "the the switch indicating if this type is an assembly type."
+ "description": "The switch indicating if this type is an assembly type."
},
"isTableType": {
"type": "boolean",
- "description": "the the switch indicating if this type is a table type."
+ "description": "The switch indicating if this type is a table type."
},
"isComplexType": {
"type": "boolean",
- "description": "the the switch indicating if this type is a complex type."
+ "description": "The switch indicating if this type is a complex type."
}
},
"description": "A Data Lake Analytics catalog U-SQL type item."
@@ -2679,11 +2679,11 @@
},
"originalPath": {
"type": "string",
- "description": "the the original path to the assembly file."
+ "description": "The original path to the assembly file."
},
"contentPath": {
"type": "string",
- "description": "the the content path to the assembly file."
+ "description": "The content path to the assembly file."
}
},
"description": "A Data Lake Analytics catalog U-SQL assembly file information item."
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 b39df026fa5c..4c36be5eb0bc 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
@@ -4283,23 +4283,23 @@
},
"isNullable": {
"type": "boolean",
- "description": "the the switch indicating if this type is nullable."
+ "description": "The switch indicating if this type is nullable."
},
"isUserDefined": {
"type": "boolean",
- "description": "the the switch indicating if this type is user defined."
+ "description": "The switch indicating if this type is user defined."
},
"isAssemblyType": {
"type": "boolean",
- "description": "the the switch indicating if this type is an assembly type."
+ "description": "The switch indicating if this type is an assembly type."
},
"isTableType": {
"type": "boolean",
- "description": "the the switch indicating if this type is a table type."
+ "description": "The switch indicating if this type is a table type."
},
"isComplexType": {
"type": "boolean",
- "description": "the the switch indicating if this type is a complex type."
+ "description": "The switch indicating if this type is a complex type."
}
},
"description": "A Data Lake Analytics catalog U-SQL type item."
@@ -4384,11 +4384,11 @@
},
"originalPath": {
"type": "string",
- "description": "the the original path to the assembly file."
+ "description": "The original path to the assembly file."
},
"contentPath": {
"type": "string",
- "description": "the the content path to the assembly file."
+ "description": "The content path to the assembly file."
}
},
"description": "A Data Lake Analytics catalog U-SQL assembly file information item."
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/TasksCommon.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/TasksCommon.json
index e17e42f57991..1064a1d1c9a4 100644
--- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/TasksCommon.json
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/TasksCommon.json
@@ -605,7 +605,7 @@
"type": "object",
"description": "Information about migration eligibility of a server object",
"properties": {
- "isEligibileForMigration": {
+ "isEligibleForMigration": {
"type": "boolean",
"description": "Whether object is eligible for migration or not.",
"readOnly": true
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 5339b335b7ab..5ce2a2fd1e18 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
@@ -58,6 +58,10 @@
"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."
+ },
+ "aadDomainName": {
+ "type": "string",
+ "description": "Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected"
}
},
"required": [
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceFeatureOCITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceFeatureOCITask.json
index d04650db15cb..ea0bf73d94c0 100644
--- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceFeatureOCITask.json
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceFeatureOCITask.json
@@ -71,15 +71,8 @@
"description": "Output for the service task to check for OCI drivers.",
"properties": {
"installedDriver": {
- "type": "object",
"description": "Information about the installed driver if found and valid.",
- "readOnly": true,
- "additionalProperties": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/OracleOCIDriverInfo"
- }
- }
+ "$ref": "#/definitions/OracleOCIDriverInfo"
},
"validationErrors": {
"description": "Validation errors",
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 aebe0e18411a..7f0496f4d91a 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
@@ -1011,7 +1011,7 @@
"type": "object",
"description": "Information about migration eligibility of a server object",
"properties": {
- "isEligibileForMigration": {
+ "isEligibleForMigration": {
"type": "boolean",
"description": "Whether object is eligible for migration or not.",
"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
index 64019c34a517..a245656133d6 100644
--- 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
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "Azure Database Migration Service Resource Provider",
- "version": "2018-07-15-preview"
+ "version": "2018-04-19"
},
"securityDefinitions": {
"azure_auth": {
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 234e85f8390f..075c70e3e167 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
@@ -1029,7 +1029,7 @@
"type": "object",
"description": "Information about migration eligibility of a server object",
"properties": {
- "isEligibileForMigration": {
+ "isEligibleForMigration": {
"type": "boolean",
"description": "Whether object is eligible for migration or not.",
"readOnly": true
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json
index eec699d403f5..a92e0d96e8e5 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json
@@ -576,6 +576,12 @@
"x-ms-examples": {
"DataSets_Create": {
"$ref": "./examples/DataSets_Create.json"
+ },
+ "DataSets_SqlDWTable_Create": {
+ "$ref": "./examples/DataSets_SqlDWTable_Create.json"
+ },
+ "DataSets_SqlDBTable_Create": {
+ "$ref": "./examples/DataSets_SqlDBTable_Create.json"
}
}
},
@@ -818,6 +824,15 @@
"x-ms-examples": {
"DataSetMappings_Create": {
"$ref": "./examples/DataSetMappings_Create.json"
+ },
+ "DataSetMappings_SqlDW_Create": {
+ "$ref": "./examples/DataSetMappings_SqlDW_Create.json"
+ },
+ "DataSetMappings_SqlDB_Create": {
+ "$ref": "./examples/DataSetMappings_SqlDB_Create.json"
+ },
+ "DataSetMappings_AdlsGen2File_Create": {
+ "$ref": "./examples/DataSetMappings_AdlsGen2File_Create.json"
}
}
},
@@ -3250,7 +3265,9 @@
"AdlsGen2Folder",
"AdlsGen2File",
"AdlsGen1Folder",
- "AdlsGen1File"
+ "AdlsGen1File",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
"x-ms-enum": {
@@ -3299,7 +3316,9 @@
"BlobFolder",
"AdlsGen2FileSystem",
"AdlsGen2Folder",
- "AdlsGen2File"
+ "AdlsGen2File",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
"x-ms-enum": {
@@ -3806,7 +3825,9 @@
"AdlsGen2Folder",
"AdlsGen2File",
"AdlsGen1Folder",
- "AdlsGen1File"
+ "AdlsGen1File",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
"readOnly": true,
@@ -3849,6 +3870,18 @@
"type": "string",
"readOnly": true
},
+ "rowsCopied": {
+ "format": "int64",
+ "description": "The number of files copied into the sink dataset.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "rowsRead": {
+ "format": "int64",
+ "description": "The number of rows read from the source dataset.",
+ "type": "integer",
+ "readOnly": true
+ },
"sizeRead": {
"format": "int64",
"description": "The size of the data read from the source dataset in bytes.",
@@ -4142,7 +4175,9 @@
"AdlsGen2Folder",
"AdlsGen2File",
"AdlsGen1Folder",
- "AdlsGen1File"
+ "AdlsGen1File",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
"readOnly": true,
@@ -4592,7 +4627,7 @@
"type": "string"
},
"dataSetId": {
- "description": "Unique DataSet id.",
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
@@ -4650,7 +4685,7 @@
"type": "string"
},
"dataSetId": {
- "description": "Unique DataSet id.",
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
@@ -4707,7 +4742,7 @@
"type": "string"
},
"dataSetId": {
- "description": "Unique DataSet id.",
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
@@ -4757,7 +4792,7 @@
"type": "object",
"properties": {
"dataSetId": {
- "description": "Unique DataSet id.",
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
@@ -4815,7 +4850,7 @@
"type": "object",
"properties": {
"dataSetId": {
- "description": "Unique DataSet id.",
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
@@ -4872,7 +4907,7 @@
"type": "object",
"properties": {
"dataSetId": {
- "description": "Unique DataSet id.",
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
@@ -4929,7 +4964,7 @@
"type": "string"
},
"dataSetId": {
- "description": "Unique DataSet id.",
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
@@ -4983,7 +5018,7 @@
"type": "string"
},
"dataSetId": {
- "description": "Unique DataSet id.",
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
@@ -5005,6 +5040,86 @@
}
}
},
+ "SqlDWTableDataSet": {
+ "description": "A SQL DW table dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlDWTableProperties",
+ "description": "SQL DW table dataset properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "SqlDWTable"
+ },
+ "SqlDWTableProperties": {
+ "description": "Properties of the SQL DW table data set.",
+ "type": "object",
+ "properties": {
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataWarehouseName": {
+ "description": "DataWarehouse name of the source data set",
+ "type": "string"
+ },
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
+ "type": "string"
+ },
+ "tableName": {
+ "description": "SQL DW table name.",
+ "type": "string"
+ }
+ }
+ },
+ "SqlDBTableDataSet": {
+ "description": "A SQL DB table dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlDBTableProperties",
+ "description": "SQL DB table dataset properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "SqlDBTable"
+ },
+ "SqlDBTableProperties": {
+ "description": "Properties of the SQL DB table data set.",
+ "type": "object",
+ "properties": {
+ "databaseName": {
+ "description": "Database name of the source data set",
+ "type": "string"
+ },
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
+ "type": "string"
+ },
+ "tableName": {
+ "description": "SQL DB table name.",
+ "type": "string"
+ }
+ }
+ },
"BlobDataSetMapping": {
"description": "A Blob dataset mapping.",
"required": [
@@ -5060,6 +5175,18 @@
"description": "File path within the source data set",
"type": "string"
},
+ "outputType": {
+ "description": "File output type",
+ "enum": [
+ "Csv",
+ "Parquet"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "outputType",
+ "modelAsString": true
+ }
+ },
"resourceGroup": {
"description": "Resource group of storage account.",
"type": "string"
@@ -5262,6 +5389,18 @@
"description": "File system to which the file belongs.",
"type": "string"
},
+ "outputType": {
+ "description": "Type of output file",
+ "enum": [
+ "Csv",
+ "Parquet"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "outputType",
+ "modelAsString": true
+ }
+ },
"resourceGroup": {
"description": "Resource group of storage account.",
"type": "string"
@@ -5409,6 +5548,124 @@
}
}
},
+ "SqlDWTableDataSetMapping": {
+ "description": "A SQL DW Table dataset mapping.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlDWTableDataSetMappingProperties",
+ "description": "Sql DW dataset mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "SqlDWTable"
+ },
+ "SqlDWTableDataSetMappingProperties": {
+ "description": "Properties of the SQL DW table data set mapping.",
+ "required": [
+ "dataWarehouseName",
+ "tableName",
+ "sqlServerResourceId"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSetId": {
+ "description": "Gets the id of source dataset.",
+ "type": "string"
+ },
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the dataset mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
+ },
+ "dataWarehouseName": {
+ "description": "DataWarehouse name of the source data set",
+ "type": "string"
+ },
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
+ "type": "string"
+ },
+ "tableName": {
+ "description": "SQL DW table name.",
+ "type": "string"
+ }
+ }
+ },
+ "SqlDBTableDataSetMapping": {
+ "description": "A SQL DB Table dataset mapping.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlDBTableDataSetMappingProperties",
+ "description": "Sql DB dataset mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "SqlDBTable"
+ },
+ "SqlDBTableDataSetMappingProperties": {
+ "description": "Properties of the SQL DB table data set mapping.",
+ "required": [
+ "databaseName",
+ "tableName",
+ "sqlServerResourceId"
+ ],
+ "type": "object",
+ "properties": {
+ "databaseName": {
+ "description": "DatabaseName name of the sink data set",
+ "type": "string"
+ },
+ "dataSetId": {
+ "description": "Gets the id of source dataset.",
+ "type": "string"
+ },
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the dataset mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
+ },
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
+ "type": "string"
+ },
+ "tableName": {
+ "description": "SQL DB table name.",
+ "type": "string"
+ }
+ }
+ },
"ScheduledSourceSynchronizationSetting": {
"description": "A type of synchronization setting based on schedule",
"type": "object",
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_AdlsGen2File_Create.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_AdlsGen2File_Create.json
new file mode 100644
index 000000000000..e0dda92a81aa
--- /dev/null
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_AdlsGen2File_Create.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
+ "resourceGroupName": "SampleResourceGroup",
+ "accountName": "Account1",
+ "shareSubscriptionName": "ShareSubscription1",
+ "dataSetMappingName": "DatasetMapping1",
+ "api-version": "2018-11-01-preview",
+ "dataSetMapping": {
+ "kind": "AdlsGen2File",
+ "properties": {
+ "storageAccountName": "storage2",
+ "filePath": "file21",
+ "fileSystem": "fileSystem",
+ "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
+ "resourceGroup": "SampleResourceGroup",
+ "outputType": "Csv"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 13 Sep 2017 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "AdlsGen2File",
+ "properties": {
+ "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
+ "storageAccountName": "storage2",
+ "filePath": "file21",
+ "fileSystem": "fileSystem",
+ "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
+ "resourceGroup": "SampleResourceGroup",
+ "outputType": "Csv"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shareSubscriptions/ShareSubscription1/dataSetMappings/DatasetMapping1",
+ "name": "DatasetMapping1",
+ "type": "Microsoft.DataShare/DataSetMapping"
+ }
+ },
+ "201": {
+ "headers": {
+ "Date": "Wed, 13 Sep 2017 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "AdlsGen2File",
+ "properties": {
+ "storageAccountName": "storage2",
+ "filePath": "file21",
+ "fileSystem": "fileSystem",
+ "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
+ "resourceGroup": "SampleResourceGroup",
+ "outputType": "Csv"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shareSubscriptions/ShareSubscription1/dataSetMappings/DatasetMapping1",
+ "name": "DatasetMapping1",
+ "type": "Microsoft.DataShare/DataSetMapping"
+ }
+ }
+ }
+}
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_SqlDB_Create.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_SqlDB_Create.json
new file mode 100644
index 000000000000..ab622f7c7c1f
--- /dev/null
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_SqlDB_Create.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
+ "resourceGroupName": "SampleResourceGroup",
+ "accountName": "Account1",
+ "shareSubscriptionName": "ShareSubscription1",
+ "dataSetMappingName": "DatasetMapping1",
+ "api-version": "2018-11-01-preview",
+ "dataSetMapping": {
+ "kind": "SqlDBTable",
+ "properties": {
+ "sqlServerResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1",
+ "databaseName": "Database1",
+ "tableName": "Table1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 13 Sep 2017 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "SqlDBTable",
+ "properties": {
+ "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
+ "sqlServerResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1",
+ "databaseName": "Database1",
+ "tableName": "Table1"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shareSubscriptions/ShareSubscription1/dataSetMappings/DatasetMapping1",
+ "name": "DatasetMapping1",
+ "type": "Microsoft.DataShare/DataSetMapping"
+ }
+ },
+ "201": {
+ "headers": {
+ "Date": "Wed, 13 Sep 2017 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "SqlDBTable",
+ "properties": {
+ "sqlServerResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1",
+ "databaseName": "Database1",
+ "tableName": "Table1"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shareSubscriptions/ShareSubscription1/dataSetMappings/DatasetMapping1",
+ "name": "DatasetMapping1",
+ "type": "Microsoft.DataShare/DataSetMapping"
+ }
+ }
+ }
+}
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_SqlDW_Create.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_SqlDW_Create.json
new file mode 100644
index 000000000000..53febb414601
--- /dev/null
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_SqlDW_Create.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
+ "resourceGroupName": "SampleResourceGroup",
+ "accountName": "Account1",
+ "shareSubscriptionName": "ShareSubscription1",
+ "dataSetMappingName": "DatasetMapping1",
+ "api-version": "2018-11-01-preview",
+ "dataSetMapping": {
+ "kind": "SqlDWTable",
+ "properties": {
+ "sqlServerResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1",
+ "dataWarehouseName": "DataWarehouse1",
+ "tableName": "Table1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 13 Sep 2017 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "SqlDWTable",
+ "properties": {
+ "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
+ "sqlServerResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1",
+ "dataWarehouseName": "DataWarehouse1",
+ "tableName": "Table1"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shareSubscriptions/ShareSubscription1/dataSetMappings/DatasetMapping1",
+ "name": "DatasetMapping1",
+ "type": "Microsoft.DataShare/DataSetMapping"
+ }
+ },
+ "201": {
+ "headers": {
+ "Date": "Wed, 13 Sep 2017 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "SqlDWTable",
+ "properties": {
+ "sqlServerResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1",
+ "dataWarehouseName": "DataWarehouse1",
+ "tableName": "Table1"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shareSubscriptions/ShareSubscription1/dataSetMappings/DatasetMapping1",
+ "name": "DatasetMapping1",
+ "type": "Microsoft.DataShare/DataSetMapping"
+ }
+ }
+ }
+}
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_SqlDBTable_Create.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_SqlDBTable_Create.json
new file mode 100644
index 000000000000..a01248d5ae12
--- /dev/null
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_SqlDBTable_Create.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
+ "resourceGroupName": "SampleResourceGroup",
+ "accountName": "Account1",
+ "shareName": "Share1",
+ "dataSetName": "Dataset1",
+ "api-version": "2018-11-01-preview",
+ "dataSet": {
+ "kind": "SqlDBTable",
+ "properties": {
+ "sqlServerResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1",
+ "databaseName": "SqlDB1",
+ "tableName": "Table1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 13 Sep 2017 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "SqlDBTable",
+ "properties": {
+ "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
+ "sqlServerResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1",
+ "databaseName": "SqlDB1",
+ "tableName": "Table1"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/datasets/Dataset1",
+ "name": null,
+ "type": "Microsoft.DataShare/DataSets"
+ }
+ },
+ "201": {
+ "headers": {
+ "Date": "Wed, 13 Sep 2017 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "SqlDBTable",
+ "properties": {
+ "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
+ "sqlServerResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1",
+ "databaseName": "SqlDB1",
+ "tableName": "Table1"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/datasets/Dataset1",
+ "name": "Dataset1",
+ "type": "Microsoft.DataShare/DataSet"
+ }
+ }
+ }
+}
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_SqlDWTable_Create.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_SqlDWTable_Create.json
new file mode 100644
index 000000000000..3560759e22f7
--- /dev/null
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_SqlDWTable_Create.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
+ "resourceGroupName": "SampleResourceGroup",
+ "accountName": "Account1",
+ "shareName": "Share1",
+ "dataSetName": "Dataset1",
+ "api-version": "2018-11-01-preview",
+ "dataSet": {
+ "kind": "SqlDWTable",
+ "properties": {
+ "sqlServerResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1",
+ "dataWarehouseName": "DataWarehouse1",
+ "tableName": "Table1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 13 Sep 2017 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "SqlDWTable",
+ "properties": {
+ "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
+ "sqlServerResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1",
+ "dataWarehouseName": "DataWarehouse1",
+ "tableName": "Table1"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/datasets/Dataset1",
+ "name": null,
+ "type": "Microsoft.DataShare/DataSets"
+ }
+ },
+ "201": {
+ "headers": {
+ "Date": "Wed, 13 Sep 2017 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "SqlDWTable",
+ "properties": {
+ "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
+ "sqlServerResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1",
+ "dataWarehouseName": "DataWarehouse1",
+ "tableName": "Table1"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/datasets/Dataset1",
+ "name": "Dataset1",
+ "type": "Microsoft.DataShare/DataSet"
+ }
+ }
+ }
+}
diff --git a/specification/datashare/resource-manager/readme.md b/specification/datashare/resource-manager/readme.md
index 5943db1b4950..ca584ab208dd 100644
--- a/specification/datashare/resource-manager/readme.md
+++ b/specification/datashare/resource-manager/readme.md
@@ -82,19 +82,19 @@ python:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
payload-flattening-threshold: 2
- namespace: azure.mgmt.DataShare
- package-name: azure-mgmt-DataShare
+ namespace: azure.mgmt.datashare
+ package-name: azure-mgmt-datashare
clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
python:
no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt-DataShare/azure/mgmt/DataShare
+ output-folder: $(python-sdks-folder)/datashare/azure-mgmt-datashare/azure/mgmt/datashare
```
``` yaml $(python) && $(python-mode) == 'create'
python:
basic-setup-py: true
- output-folder: $(python-sdks-folder)/azure-mgmt-DataShare
+ output-folder: $(python-sdks-folder)/datashare/azure-mgmt-datashare
```
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
deleted file mode 100644
index 8fd0787b8947..000000000000
--- a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/edgegateway.json
+++ /dev/null
@@ -1,5130 +0,0 @@
-{
- "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 up to 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"
- ]
- }
- ]
-}
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
deleted file mode 100644
index b039cfa005b4..000000000000
--- a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthSchedulePut.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "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": {}
- }
-}
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
deleted file mode 100644
index ba8ca4c9fd30..000000000000
--- a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePut.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "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"
- }
- }
- }
-}
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
deleted file mode 100644
index bdbb6747b11c..000000000000
--- a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderPut.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "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": {}
- }
-}
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
deleted file mode 100644
index 0e5c6e435f4d..000000000000
--- a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RolePut.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "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": {}
- }
-}
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
deleted file mode 100644
index 6189f1131b4d..000000000000
--- a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACPut.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "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": {}
- }
-}
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
deleted file mode 100644
index 2ea930bd2c2a..000000000000
--- a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SecuritySettingsUpdatePost.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "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": {},
- "204": {}
- }
-}
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
deleted file mode 100644
index 09856ca5abe4..000000000000
--- a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SharePut.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "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": {}
- }
-}
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
deleted file mode 100644
index c6e550e6e404..000000000000
--- a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerPut.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "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": {}
- }
-}
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
deleted file mode 100644
index 41af3b1156bf..000000000000
--- a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UpdateSummaryPost.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "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"
- }
- }
- }
-}
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
deleted file mode 100644
index 0d80882deef3..000000000000
--- a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserPut.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "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": {}
- }
-}
diff --git a/specification/edgegateway/resource-manager/readme.go.md b/specification/edgegateway/resource-manager/readme.go.md
deleted file mode 100644
index 4498df3171ab..000000000000
--- a/specification/edgegateway/resource-manager/readme.go.md
+++ /dev/null
@@ -1,26 +0,0 @@
-## 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
deleted file mode 100644
index 0112771ddc2f..000000000000
--- a/specification/edgegateway/resource-manager/readme.md
+++ /dev/null
@@ -1,172 +0,0 @@
-# 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-net
- - 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/Microsoft.Azure.Management.EdgeGateway/src/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)/edgegateway/azure-mgmt-edgegateway/azure/mgmt/edgegateway
-```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/edgegateway/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
-```
-
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.DataBoxEdge/stable/2019-03-01/edgegateway.json
-
-```
-
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
-
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
-
diff --git a/specification/edgegateway/resource-manager/readme.ruby.md b/specification/edgegateway/resource-manager/readme.ruby.md
deleted file mode 100644
index f5c203b2ea31..000000000000
--- a/specification/edgegateway/resource-manager/readme.ruby.md
+++ /dev/null
@@ -1,26 +0,0 @@
-## 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
deleted file mode 100644
index 4efe2562d442..000000000000
--- a/specification/edgegateway/resource-manager/readme.typescript.md
+++ /dev/null
@@ -1,14 +0,0 @@
-## 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)/sdk/edgegateway/arm-edgegateway"
- generate-metadata: true
-```
diff --git a/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json
new file mode 100644
index 000000000000..b49ea347e927
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json
@@ -0,0 +1,317 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-01-01",
+ "title": "Schema of Azure Key Vault events published to Azure Event Grid",
+ "description": "Describes the schema of the Azure Key Vault events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent."
+ },
+ "paths": {},
+ "definitions": {
+ "KeyVaultCertificateNewVersionCreatedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an CertificateNewVersionCreated event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the object that triggered this event.",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "Key vault name of the object that triggered this event.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "The type of the object that triggered this event",
+ "type": "string"
+ },
+ "objectName": {
+ "description": "The name of the object that triggered this event",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the object that triggered this event",
+ "type": "string"
+ },
+ "nbf": {
+ "description": "Not before date of the object that triggered this event",
+ "type": "number"
+ },
+ "exp": {
+ "description": "The expiration date of the object that triggered this event",
+ "type": "number"
+ }
+ }
+ },
+ "KeyVaultCertificateNearExpiryEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an CertificateNearExpiry event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the object that triggered this event.",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "Key vault name of the object that triggered this event.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "The type of the object that triggered this event",
+ "type": "string"
+ },
+ "objectName": {
+ "description": "The name of the object that triggered this event",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the object that triggered this event",
+ "type": "string"
+ },
+ "nbf": {
+ "description": "Not before date of the object that triggered this event",
+ "type": "number"
+ },
+ "exp": {
+ "description": "The expiration date of the object that triggered this event",
+ "type": "number"
+ }
+ }
+ },
+ "KeyVaultCertificateExpiredEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an CertificateExpired event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the object that triggered this event.",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "Key vault name of the object that triggered this event.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "The type of the object that triggered this event",
+ "type": "string"
+ },
+ "objectName": {
+ "description": "The name of the object that triggered this event",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the object that triggered this event",
+ "type": "string"
+ },
+ "nbf": {
+ "description": "Not before date of the object that triggered this event",
+ "type": "number"
+ },
+ "exp": {
+ "description": "The expiration date of the object that triggered this event",
+ "type": "number"
+ }
+ }
+ },
+ "KeyVaultKeyNewVersionCreatedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an KeyNewVersionCreated event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the object that triggered this event.",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "Key vault name of the object that triggered this event.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "The type of the object that triggered this event",
+ "type": "string"
+ },
+ "objectName": {
+ "description": "The name of the object that triggered this event",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the object that triggered this event",
+ "type": "string"
+ },
+ "nbf": {
+ "description": "Not before date of the object that triggered this event",
+ "type": "number"
+ },
+ "exp": {
+ "description": "The expiration date of the object that triggered this event",
+ "type": "number"
+ }
+ }
+ },
+ "KeyVaultKeyNearExpiryEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an KeyNearExpiry event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the object that triggered this event.",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "Key vault name of the object that triggered this event.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "The type of the object that triggered this event",
+ "type": "string"
+ },
+ "objectName": {
+ "description": "The name of the object that triggered this event",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the object that triggered this event",
+ "type": "string"
+ },
+ "nbf": {
+ "description": "Not before date of the object that triggered this event",
+ "type": "number"
+ },
+ "exp": {
+ "description": "The expiration date of the object that triggered this event",
+ "type": "number"
+ }
+ }
+ },
+ "KeyVaultKeyExpiredEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an KeyExpired event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the object that triggered this event.",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "Key vault name of the object that triggered this event.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "The type of the object that triggered this event",
+ "type": "string"
+ },
+ "objectName": {
+ "description": "The name of the object that triggered this event",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the object that triggered this event",
+ "type": "string"
+ },
+ "nbf": {
+ "description": "Not before date of the object that triggered this event",
+ "type": "number"
+ },
+ "exp": {
+ "description": "The expiration date of the object that triggered this event",
+ "type": "number"
+ }
+ }
+ },
+ "KeyVaultSecretNewVersionCreatedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an SecretNewVersionCreated event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the object that triggered this event.",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "Key vault name of the object that triggered this event.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "The type of the object that triggered this event",
+ "type": "string"
+ },
+ "objectName": {
+ "description": "The name of the object that triggered this event",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the object that triggered this event",
+ "type": "string"
+ },
+ "nbf": {
+ "description": "Not before date of the object that triggered this event",
+ "type": "number"
+ },
+ "exp": {
+ "description": "The expiration date of the object that triggered this event",
+ "type": "number"
+ }
+ }
+ },
+ "KeyVaultSecretNearExpiryEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an SecretNearExpiry event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the object that triggered this event.",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "Key vault name of the object that triggered this event.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "The type of the object that triggered this event",
+ "type": "string"
+ },
+ "objectName": {
+ "description": "The name of the object that triggered this event",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the object that triggered this event",
+ "type": "string"
+ },
+ "nbf": {
+ "description": "Not before date of the object that triggered this event",
+ "type": "number"
+ },
+ "exp": {
+ "description": "The expiration date of the object that triggered this event",
+ "type": "number"
+ }
+ }
+ },
+ "KeyVaultSecretExpiredEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an SecretExpired event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the object that triggered this event.",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "Key vault name of the object that triggered this event.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "The type of the object that triggered this event",
+ "type": "string"
+ },
+ "objectName": {
+ "description": "The name of the object that triggered this event",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the object that triggered this event",
+ "type": "string"
+ },
+ "nbf": {
+ "description": "Not before date of the object that triggered this event",
+ "type": "number"
+ },
+ "exp": {
+ "description": "The expiration date of the object that triggered this event",
+ "type": "number"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/data-plane/readme.md b/specification/eventgrid/data-plane/readme.md
index 7eab6e07b842..b530b170746f 100644
--- a/specification/eventgrid/data-plane/readme.md
+++ b/specification/eventgrid/data-plane/readme.md
@@ -55,6 +55,7 @@ input-file:
- Microsoft.Maps/stable/2018-01-01/Maps.json
- Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json
- Microsoft.SignalRService/stable/2018-01-01/SignalRService.json
+- Microsoft.KeyVault/stable/2018-01-01/KeyVault.json
```
---
@@ -133,6 +134,7 @@ input-file:
- $(this-folder)/Microsoft.Maps/stable/2018-01-01/Maps.json
- $(this-folder)/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json
- $(this-folder)/Microsoft.SignalRService/stable/2018-01-01/SignalRService.json
+ - $(this-folder)/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json
```
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json
index 3f952139e6f2..cef1828ec89b 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json
@@ -1543,6 +1543,10 @@
"type": "string",
"description": "Endpoint you can use to perform Service Bus operations."
},
+ "clusterArmId": {
+ "type": "string",
+ "description": "Cluster ARM ID of the Namespace."
+ },
"metricId": {
"readOnly": true,
"type": "string",
@@ -1566,6 +1570,14 @@
"zoneRedundant": {
"type": "boolean",
"description": "Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "Properties of BYOK Identity description"
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Properties of BYOK Encryption description"
}
},
"description": "Namespace properties supplied for create namespace operation."
@@ -1791,6 +1803,67 @@
}
],
"description": "Description of topic resource."
+ },
+ "Identity": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "ObjectId from the KeyVault"
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "TenantId from the KeyVault"
+ },
+ "type": {
+ "type": "string",
+ "description": "Enumerates the possible value Identity type, which currently supports only 'SystemAssigned'",
+ "default": "SystemAssigned",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Properties to configure Identity for Bring your Own Keys"
+ },
+ "Encryption": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "Properties of KeyVault"
+ },
+ "keySource": {
+ "type": "string",
+ "description": "Enumerates the possible value of keySource for Encryption",
+ "default": "Microsoft.KeyVault",
+ "enum": [
+ "Microsoft.KeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "keySource",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Properties to configure Encryption"
+ },
+ "KeyVaultProperties": {
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "Name of the Key from KeyVault"
+ },
+ "keyVaultUri": {
+ "type": "string",
+ "description": "Uri of KeyVault"
+ }
+ },
+ "description": "Properties to configure keyVault Properties"
}
},
"parameters": {
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorBackendPoolCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorBackendPoolCreate.json
deleted file mode 100644
index d2d82a8e2c84..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorBackendPoolCreate.json
+++ /dev/null
@@ -1,165 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "backendPoolName": "backendPool1",
- "backendPoolParameters": {
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorBackendPoolDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorBackendPoolDelete.json
deleted file mode 100644
index ced2c1f2fbb3..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorBackendPoolDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "backendPoolName": "backendPool1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorBackendPoolGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorBackendPoolGet.json
deleted file mode 100644
index 91513ea6d51e..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorBackendPoolGet.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "backendPoolName": "backendPool1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorBackendPoolList.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorBackendPoolList.json
deleted file mode 100644
index e82b2c6d3ccd..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorBackendPoolList.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorCreate.json
index 52fd15f6d072..cff43d0781c4 100644
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorCreate.json
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorCreate.json
@@ -5,7 +5,6 @@
"resourceGroupName": "rg1",
"frontDoorName": "frontDoor1",
"frontDoorParameters": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1",
"location": "westus",
"tags": {
"tag1": "value1",
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorFrontendEndpointCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorFrontendEndpointCreate.json
deleted file mode 100644
index a626eb36e28b..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorFrontendEndpointCreate.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "frontendEndpointName": "frontDoorEndpoint1",
- "frontendEndpointParameters": {
- "name": "frontendEndpoint1",
- "properties": {
- "hostName": "www.contoso.com",
- "sessionAffinityEnabledState": "Enabled",
- "sessionAffinityTtlSeconds": 60,
- "webApplicationFirewallPolicyLink": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
- "name": "frontendEndpoint1",
- "properties": {
- "hostName": "www.contoso.com",
- "sessionAffinityEnabledState": "Enabled",
- "sessionAffinityTtlSeconds": 60,
- "webApplicationFirewallPolicyLink": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
- "name": "frontendEndpoint1",
- "properties": {
- "hostName": "www.contoso.com",
- "sessionAffinityEnabledState": "Enabled",
- "sessionAffinityTtlSeconds": 60,
- "webApplicationFirewallPolicyLink": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
- }
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
- "name": "frontendEndpoint1",
- "properties": {
- "hostName": "www.contoso.com",
- "sessionAffinityEnabledState": "Enabled",
- "sessionAffinityTtlSeconds": 60,
- "webApplicationFirewallPolicyLink": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorFrontendEndpointDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorFrontendEndpointDelete.json
deleted file mode 100644
index 0d53808bd7b9..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorFrontendEndpointDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "frontendEndpointName": "frontendEndpoint1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorHealthProbeSettingsCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorHealthProbeSettingsCreate.json
deleted file mode 100644
index 5e19e0e56c84..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorHealthProbeSettingsCreate.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "healthProbeSettingsName": "healthProbeSettings1",
- "healthProbeSettingsParameters": {
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorHealthProbeSettingsDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorHealthProbeSettingsDelete.json
deleted file mode 100644
index dd3a8387302c..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorHealthProbeSettingsDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "healthProbeSettingsName": "healthProbeSettings1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorHealthProbeSettingsGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorHealthProbeSettingsGet.json
deleted file mode 100644
index 0565d45fbd96..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorHealthProbeSettingsGet.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "healthProbeSettingsName": "healthProbeSettings1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorHealthProbeSettingsList.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorHealthProbeSettingsList.json
deleted file mode 100644
index a53ae2ee6a08..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorHealthProbeSettingsList.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorLoadBalancingSettingsCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorLoadBalancingSettingsCreate.json
deleted file mode 100644
index 0672dc3e089f..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorLoadBalancingSettingsCreate.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "loadBalancingSettingsName": "loadBalancingSettings1",
- "loadBalancingSettingsParameters": {
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorLoadBalancingSettingsDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorLoadBalancingSettingsDelete.json
deleted file mode 100644
index dc4eaf438387..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorLoadBalancingSettingsDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "loadBalancingSettingsName": "loadBalancingSettings1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorLoadBalancingSettingsGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorLoadBalancingSettingsGet.json
deleted file mode 100644
index fa5beb6c0550..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorLoadBalancingSettingsGet.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "loadBalancingSettingsName": "loadBalancingSettings1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorLoadBalancingSettingsList.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorLoadBalancingSettingsList.json
deleted file mode 100644
index 66132f79a9ef..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorLoadBalancingSettingsList.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorRoutingRuleCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorRoutingRuleCreate.json
deleted file mode 100644
index f4be0e8b838f..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorRoutingRuleCreate.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "routingRuleName": "routingRule1",
- "routingRuleParameters": {
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- },
- "enabledState": "Enabled"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- },
- "enabledState": "Enabled"
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- },
- "enabledState": "Enabled"
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- },
- "enabledState": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorRoutingRuleDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorRoutingRuleDelete.json
deleted file mode 100644
index a41a70ba3edc..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorRoutingRuleDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "routingRuleName": "routingRule1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorRoutingRuleGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorRoutingRuleGet.json
deleted file mode 100644
index 7aa03573c3e7..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorRoutingRuleGet.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "routingRuleName": "routingRule1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- },
- "enabledState": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorRoutingRuleList.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorRoutingRuleList.json
deleted file mode 100644
index e7d8654ed957..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/examples/FrontdoorRoutingRuleList.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-08-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- },
- "enabledState": "Enabled"
- }
- }
- ]
- }
- }
- }
-}
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 24fce6268e84..b45ed541ec46 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
@@ -347,802 +347,6 @@
"x-ms-long-running-operation": true
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Lists all of the Routing Rules within a Front Door.",
- "operationId": "RoutingRules_ListByFrontDoor",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/RoutingRuleListResult"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List Routing Rules in a Front Door": {
- "$ref": "./examples/FrontdoorRoutingRuleList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Gets a Routing Rule with the specified Rule name within the specified Front Door.",
- "operationId": "RoutingRules_Get",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/routingRuleNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get Routing Rule": {
- "$ref": "./examples/FrontdoorRoutingRuleGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new Routing Rule with the specified Rule name within the specified Front Door.",
- "operationId": "RoutingRules_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/routingRuleNameParameter"
- },
- {
- "description": "Routing Rule properties needed to create a new Front Door.",
- "in": "body",
- "name": "routingRuleParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new RoutingRule has been created.",
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- "202": {
- "description": "Accepted and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific Routing Rule": {
- "$ref": "./examples/FrontdoorRoutingRuleCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing Routing Rule with the specified parameters.",
- "operationId": "RoutingRules_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/routingRuleNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the Routing Rule was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete Routing Rule": {
- "$ref": "./examples/FrontdoorRoutingRuleDelete.json"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Lists all of the HealthProbeSettings within a Front Door.",
- "operationId": "HealthProbeSettings_ListByFrontDoor",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsListResult"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List HealthProbeSettings in a Front Door": {
- "$ref": "./examples/FrontdoorHealthProbeSettingsList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Gets a HealthProbeSettings with the specified Rule name within the specified Front Door.",
- "operationId": "HealthProbeSettings_Get",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/healthProbeSettingsNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get HealthProbeSettings": {
- "$ref": "./examples/FrontdoorHealthProbeSettingsGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new HealthProbeSettings with the specified Rule name within the specified Front Door.",
- "operationId": "HealthProbeSettings_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/healthProbeSettingsNameParameter"
- },
- {
- "description": "HealthProbeSettings properties needed to create a new Front Door.",
- "in": "body",
- "name": "healthProbeSettingsParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new HealthProbeSettings has been created.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific HealthProbeSettings": {
- "$ref": "./examples/FrontdoorHealthProbeSettingsCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing HealthProbeSettings with the specified parameters.",
- "operationId": "HealthProbeSettings_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/healthProbeSettingsNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the HealthProbeSettings was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete HealthProbeSettings": {
- "$ref": "./examples/FrontdoorHealthProbeSettingsDelete.json"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Lists all of the LoadBalancingSettings within a Front Door.",
- "operationId": "LoadBalancingSettings_ListByFrontDoor",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsListResult"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List LoadBalancingSettings in a Front Door": {
- "$ref": "./examples/FrontdoorLoadBalancingSettingsList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Gets a LoadBalancingSettings with the specified Rule name within the specified Front Door.",
- "operationId": "LoadBalancingSettings_Get",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/loadBalancingSettingsNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get LoadBalancingSettings": {
- "$ref": "./examples/FrontdoorLoadBalancingSettingsGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new LoadBalancingSettings with the specified Rule name within the specified Front Door.",
- "operationId": "LoadBalancingSettings_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/loadBalancingSettingsNameParameter"
- },
- {
- "description": "LoadBalancingSettings properties needed to create a new Front Door.",
- "in": "body",
- "name": "loadBalancingSettingsParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new LoadBalancingSettings has been created.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific LoadBalancingSettings": {
- "$ref": "./examples/FrontdoorLoadBalancingSettingsCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing LoadBalancingSettings with the specified parameters.",
- "operationId": "LoadBalancingSettings_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/loadBalancingSettingsNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the LoadBalancingSettings was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete LoadBalancingSettings": {
- "$ref": "./examples/FrontdoorLoadBalancingSettingsDelete.json"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Lists all of the Backend Pools within a Front Door.",
- "operationId": "BackendPools_ListByFrontDoor",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/BackendPoolListResult"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List Backend Pools in a Front Door": {
- "$ref": "./examples/FrontdoorBackendPoolList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Gets a Backend Pool with the specified Pool name within the specified Front Door.",
- "operationId": "BackendPools_Get",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/backendPoolNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get Backend Pool": {
- "$ref": "./examples/FrontdoorBackendPoolGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new Backend Pool with the specified Pool name within the specified Front Door.",
- "operationId": "BackendPools_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/backendPoolNameParameter"
- },
- {
- "description": "Backend Pool properties needed to create a new Pool.",
- "in": "body",
- "name": "backendPoolParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new BackendPool has been created.",
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific Backend Pool": {
- "$ref": "./examples/FrontdoorBackendPoolCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing Backend Pool with the specified parameters.",
- "operationId": "BackendPools_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/backendPoolNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the Backend Pool was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete Backend Pool": {
- "$ref": "./examples/FrontdoorBackendPoolDelete.json"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints": {
"get": {
"tags": [
@@ -1231,115 +435,6 @@
"$ref": "./examples/FrontdoorFrontendEndpointGet.json"
}
}
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new frontend endpoint with the specified host name within the specified Front Door.",
- "operationId": "FrontendEndpoints_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/frontendEndpointNameParameter"
- },
- {
- "description": "Frontend endpoint properties needed to create a new endpoint.",
- "in": "body",
- "name": "frontendEndpointParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FrontendEndpoint"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/FrontendEndpoint"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new frontend endpoint has been created.",
- "schema": {
- "$ref": "#/definitions/FrontendEndpoint"
- }
- },
- "202": {
- "description": "Accepted and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/FrontendEndpoint"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific Frontend Endpoint": {
- "$ref": "./examples/FrontdoorFrontendEndpointCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing frontend endpoint with the specified parameters.",
- "operationId": "FrontendEndpoints_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/frontendEndpointNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the Backend Pool was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete Backend Pool": {
- "$ref": "./examples/FrontdoorFrontendEndpointDelete.json"
- }
- },
- "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/purge": {
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-03-01/examples/WafListManagedRuleSets.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-03-01/examples/WafListManagedRuleSets.json
index 60d72d77413e..81204161f8e5 100644
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-03-01/examples/WafListManagedRuleSets.json
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-03-01/examples/WafListManagedRuleSets.json
@@ -14,7 +14,7 @@
"properties": {
"provisioningState": "Succeeded",
"ruleSetType": "DefaultRuleSet",
- "ruleSetVersion": "preview-1.0",
+ "ruleSetVersion": "1.0",
"ruleGroups": [
{
"ruleGroupName": "Group1",
@@ -22,11 +22,15 @@
"rules": [
{
"ruleId": "GROUP1-0001",
- "description": "Generic managed web application firewall rule."
+ "description": "Generic managed web application firewall rule.",
+ "defaultState": "Enabled",
+ "defaultAction": "Block"
},
{
"ruleId": "GROUP1-0002",
- "description": "Generic managed web application firewall rule."
+ "description": "Generic managed web application firewall rule.",
+ "defaultState": "Disabled",
+ "defaultAction": "Block"
}
]
},
@@ -36,7 +40,9 @@
"rules": [
{
"ruleId": "GROUP2-0001",
- "description": "Generic managed web application firewall rule."
+ "description": "Generic managed web application firewall rule.",
+ "defaultState": "Enabled",
+ "defaultAction": "Allow"
}
]
}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-03-01/webapplicationfirewall.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-03-01/webapplicationfirewall.json
index a49a01a2f97a..e40f2d2a4c0a 100644
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-03-01/webapplicationfirewall.json
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-03-01/webapplicationfirewall.json
@@ -619,15 +619,7 @@
},
"enabledState": {
"description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.",
- "type": "string",
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "x-ms-enum": {
- "name": "ManagedRuleEnabledState",
- "modelAsString": true
- }
+ "$ref": "#/definitions/ManagedRuleEnabledState"
},
"action": {
"description": "Describes the override action to be applied when rule matches.",
@@ -726,6 +718,16 @@
"readOnly": true,
"type": "string"
},
+ "defaultState": {
+ "description": "Describes the default state for the managed rule.",
+ "readOnly": true,
+ "$ref": "#/definitions/ManagedRuleEnabledState"
+ },
+ "defaultAction": {
+ "description": "Describes the default action to be applied when the managed rule matches.",
+ "readOnly": true,
+ "$ref": "#/definitions/ActionType"
+ },
"description": {
"description": "Describes the functionality of the managed rule.",
"readOnly": true,
@@ -747,6 +749,18 @@
"modelAsString": true
}
},
+ "ManagedRuleEnabledState": {
+ "description": "Describes if the managed rule is in enabled or disabled state.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedRuleEnabledState",
+ "modelAsString": true
+ }
+ },
"ErrorResponse": {
"description": "Error response indicates Front Door service is not able to process the incoming request. The reason is provided in the error message.",
"type": "object",
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorBackendPoolCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorBackendPoolCreate.json
deleted file mode 100644
index 93303270995f..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorBackendPoolCreate.json
+++ /dev/null
@@ -1,165 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "backendPoolName": "backendPool1",
- "backendPoolParameters": {
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorBackendPoolDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorBackendPoolDelete.json
deleted file mode 100644
index 79d530103d3e..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorBackendPoolDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "backendPoolName": "backendPool1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorBackendPoolGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorBackendPoolGet.json
deleted file mode 100644
index 5e97dd1dc0fa..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorBackendPoolGet.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "backendPoolName": "backendPool1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorBackendPoolList.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorBackendPoolList.json
deleted file mode 100644
index 4c4f8c7f9198..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorBackendPoolList.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorCreate.json
index 673f222fabaa..34e1732ff291 100644
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorCreate.json
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorCreate.json
@@ -5,7 +5,6 @@
"resourceGroupName": "rg1",
"frontDoorName": "frontDoor1",
"frontDoorParameters": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1",
"location": "westus",
"tags": {
"tag1": "value1",
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorFrontendEndpointCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorFrontendEndpointCreate.json
deleted file mode 100644
index 6158e9e561c3..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorFrontendEndpointCreate.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "frontendEndpointName": "frontDoorEndpoint1",
- "frontendEndpointParameters": {
- "name": "frontendEndpoint1",
- "properties": {
- "hostName": "www.contoso.com",
- "sessionAffinityEnabledState": "Enabled",
- "sessionAffinityTtlSeconds": 60,
- "webApplicationFirewallPolicyLink": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
- "name": "frontendEndpoint1",
- "properties": {
- "hostName": "www.contoso.com",
- "sessionAffinityEnabledState": "Enabled",
- "sessionAffinityTtlSeconds": 60,
- "webApplicationFirewallPolicyLink": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
- "name": "frontendEndpoint1",
- "properties": {
- "hostName": "www.contoso.com",
- "sessionAffinityEnabledState": "Enabled",
- "sessionAffinityTtlSeconds": 60,
- "webApplicationFirewallPolicyLink": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
- }
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
- "name": "frontendEndpoint1",
- "properties": {
- "hostName": "www.contoso.com",
- "sessionAffinityEnabledState": "Enabled",
- "sessionAffinityTtlSeconds": 60,
- "webApplicationFirewallPolicyLink": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorFrontendEndpointDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorFrontendEndpointDelete.json
deleted file mode 100644
index 5ddc5cbc1912..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorFrontendEndpointDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "frontendEndpointName": "frontendEndpoint1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorHealthProbeSettingsCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorHealthProbeSettingsCreate.json
deleted file mode 100644
index 2083b3089821..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorHealthProbeSettingsCreate.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "healthProbeSettingsName": "healthProbeSettings1",
- "healthProbeSettingsParameters": {
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorHealthProbeSettingsDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorHealthProbeSettingsDelete.json
deleted file mode 100644
index a9069fed69b2..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorHealthProbeSettingsDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "healthProbeSettingsName": "healthProbeSettings1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorHealthProbeSettingsGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorHealthProbeSettingsGet.json
deleted file mode 100644
index 3a0665b88f7e..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorHealthProbeSettingsGet.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "healthProbeSettingsName": "healthProbeSettings1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorHealthProbeSettingsList.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorHealthProbeSettingsList.json
deleted file mode 100644
index 0c9ba2834c14..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorHealthProbeSettingsList.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorLoadBalancingSettingsCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorLoadBalancingSettingsCreate.json
deleted file mode 100644
index d68b33a23c65..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorLoadBalancingSettingsCreate.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "loadBalancingSettingsName": "loadBalancingSettings1",
- "loadBalancingSettingsParameters": {
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorLoadBalancingSettingsDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorLoadBalancingSettingsDelete.json
deleted file mode 100644
index 4fdd5d17f3e1..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorLoadBalancingSettingsDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "loadBalancingSettingsName": "loadBalancingSettings1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorLoadBalancingSettingsGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorLoadBalancingSettingsGet.json
deleted file mode 100644
index 2b52503356d0..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorLoadBalancingSettingsGet.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "loadBalancingSettingsName": "loadBalancingSettings1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorLoadBalancingSettingsList.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorLoadBalancingSettingsList.json
deleted file mode 100644
index b92e9899765f..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorLoadBalancingSettingsList.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRedirectRoutingRuleCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRedirectRoutingRuleCreate.json
deleted file mode 100644
index d5658076cfcb..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRedirectRoutingRuleCreate.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "routingRuleName": "redirectRoutingRule1",
- "routingRuleParameters": {
- "name": "redirectRoutingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Https"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
- "redirectType": "Moved",
- "redirectProtocol": "HttpsOnly",
- "customHost": "www.bing.com",
- "customPath": "/api",
- "customFragment": "fragment",
- "customQueryString": "a=b"
- },
- "enabledState": "Enabled"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/redirectRoutingRule1",
- "name": "redirectRoutingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Https"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
- "redirectType": "Moved",
- "redirectProtocol": "HttpsOnly",
- "customHost": "www.bing.com",
- "customPath": "/api",
- "customFragment": "fragment",
- "customQueryString": "a=b"
- },
- "enabledState": "Enabled"
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/redirectRoutingRule1",
- "name": "redirectRoutingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Https"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
- "redirectType": "Moved",
- "redirectProtocol": "HttpsOnly",
- "customHost": "www.bing.com",
- "customPath": "/api",
- "customFragment": "fragment",
- "customQueryString": "a=b"
- },
- "enabledState": "Enabled"
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/redirectRoutingRule1",
- "name": "redirectRoutingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Https"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
- "redirectType": "Moved",
- "redirectProtocol": "HttpsOnly",
- "customHost": "www.bing.com",
- "customPath": "/api",
- "customFragment": "fragment",
- "customQueryString": "a=b"
- },
- "enabledState": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRedirectRoutingRuleGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRedirectRoutingRuleGet.json
deleted file mode 100644
index 9c9f860fad08..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRedirectRoutingRuleGet.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "routingRuleName": "redirectRoutingRule1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/redirectRoutingRule1",
- "name": "redirectRoutingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Https"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
- "redirectType": "Moved",
- "redirectProtocol": "HttpsOnly",
- "customHost": "www.bing.com",
- "customPath": "/api",
- "customFragment": "fragment",
- "customQueryString": "a=b"
- },
- "enabledState": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRoutingRuleCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRoutingRuleCreate.json
deleted file mode 100644
index 341b65586fe5..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRoutingRuleCreate.json
+++ /dev/null
@@ -1,130 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "routingRuleName": "routingRule1",
- "routingRuleParameters": {
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- }
- },
- "enabledState": "Enabled"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- }
- },
- "enabledState": "Enabled"
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- }
- },
- "enabledState": "Enabled"
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- }
- },
- "enabledState": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRoutingRuleDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRoutingRuleDelete.json
deleted file mode 100644
index c5a162a7c3a9..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRoutingRuleDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "routingRuleName": "routingRule1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRoutingRuleGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRoutingRuleGet.json
deleted file mode 100644
index 4fa744467fe3..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRoutingRuleGet.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "routingRuleName": "routingRule1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- }
- },
- "enabledState": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRoutingRuleList.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRoutingRuleList.json
deleted file mode 100644
index 89c08d8cb486..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/examples/FrontdoorRoutingRuleList.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-04-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- }
- },
- "enabledState": "Enabled"
- }
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/redirectRoutingRule1",
- "name": "redirectRoutingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Https"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
- "redirectType": "Moved",
- "redirectProtocol": "HttpsOnly",
- "customHost": "www.bing.com",
- "customPath": "/api",
- "customFragment": "fragment",
- "customQueryString": "a=b"
- },
- "enabledState": "Enabled"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/frontdoor.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/frontdoor.json
index d9ad9116ee54..aa545c1b58bc 100644
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/frontdoor.json
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-04-01/frontdoor.json
@@ -347,808 +347,6 @@
"x-ms-long-running-operation": true
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Lists all of the Routing Rules within a Front Door.",
- "operationId": "RoutingRules_ListByFrontDoor",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/RoutingRuleListResult"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List Routing Rules in a Front Door": {
- "$ref": "./examples/FrontdoorRoutingRuleList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Gets a Routing Rule with the specified Rule name within the specified Front Door.",
- "operationId": "RoutingRules_Get",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/routingRuleNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get Forwarding Routing Rule": {
- "$ref": "./examples/FrontdoorRoutingRuleGet.json"
- },
- "Get Redirect Routing Rule": {
- "$ref": "./examples/FrontdoorRedirectRoutingRuleGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new Routing Rule with the specified Rule name within the specified Front Door.",
- "operationId": "RoutingRules_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/routingRuleNameParameter"
- },
- {
- "description": "Routing Rule properties needed to create a new Front Door.",
- "in": "body",
- "name": "routingRuleParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new RoutingRule has been created.",
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- "202": {
- "description": "Accepted and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific Forwarding Routing Rule": {
- "$ref": "./examples/FrontdoorRoutingRuleCreate.json"
- },
- "Create or update specific Redirect Routing Rule": {
- "$ref": "./examples/FrontdoorRedirectRoutingRuleCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing Routing Rule with the specified parameters.",
- "operationId": "RoutingRules_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/routingRuleNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the Routing Rule was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete Routing Rule": {
- "$ref": "./examples/FrontdoorRoutingRuleDelete.json"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Lists all of the HealthProbeSettings within a Front Door.",
- "operationId": "HealthProbeSettings_ListByFrontDoor",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsListResult"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List HealthProbeSettings in a Front Door": {
- "$ref": "./examples/FrontdoorHealthProbeSettingsList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Gets a HealthProbeSettings with the specified Rule name within the specified Front Door.",
- "operationId": "HealthProbeSettings_Get",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/healthProbeSettingsNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get HealthProbeSettings": {
- "$ref": "./examples/FrontdoorHealthProbeSettingsGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new HealthProbeSettings with the specified Rule name within the specified Front Door.",
- "operationId": "HealthProbeSettings_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/healthProbeSettingsNameParameter"
- },
- {
- "description": "HealthProbeSettings properties needed to create a new Front Door.",
- "in": "body",
- "name": "healthProbeSettingsParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new HealthProbeSettings has been created.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific HealthProbeSettings": {
- "$ref": "./examples/FrontdoorHealthProbeSettingsCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing HealthProbeSettings with the specified parameters.",
- "operationId": "HealthProbeSettings_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/healthProbeSettingsNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the HealthProbeSettings was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete HealthProbeSettings": {
- "$ref": "./examples/FrontdoorHealthProbeSettingsDelete.json"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Lists all of the LoadBalancingSettings within a Front Door.",
- "operationId": "LoadBalancingSettings_ListByFrontDoor",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsListResult"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List LoadBalancingSettings in a Front Door": {
- "$ref": "./examples/FrontdoorLoadBalancingSettingsList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Gets a LoadBalancingSettings with the specified Rule name within the specified Front Door.",
- "operationId": "LoadBalancingSettings_Get",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/loadBalancingSettingsNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get LoadBalancingSettings": {
- "$ref": "./examples/FrontdoorLoadBalancingSettingsGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new LoadBalancingSettings with the specified Rule name within the specified Front Door.",
- "operationId": "LoadBalancingSettings_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/loadBalancingSettingsNameParameter"
- },
- {
- "description": "LoadBalancingSettings properties needed to create a new Front Door.",
- "in": "body",
- "name": "loadBalancingSettingsParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new LoadBalancingSettings has been created.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific LoadBalancingSettings": {
- "$ref": "./examples/FrontdoorLoadBalancingSettingsCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing LoadBalancingSettings with the specified parameters.",
- "operationId": "LoadBalancingSettings_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/loadBalancingSettingsNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the LoadBalancingSettings was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete LoadBalancingSettings": {
- "$ref": "./examples/FrontdoorLoadBalancingSettingsDelete.json"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Lists all of the Backend Pools within a Front Door.",
- "operationId": "BackendPools_ListByFrontDoor",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/BackendPoolListResult"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List Backend Pools in a Front Door": {
- "$ref": "./examples/FrontdoorBackendPoolList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Gets a Backend Pool with the specified Pool name within the specified Front Door.",
- "operationId": "BackendPools_Get",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/backendPoolNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get Backend Pool": {
- "$ref": "./examples/FrontdoorBackendPoolGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new Backend Pool with the specified Pool name within the specified Front Door.",
- "operationId": "BackendPools_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/backendPoolNameParameter"
- },
- {
- "description": "Backend Pool properties needed to create a new Pool.",
- "in": "body",
- "name": "backendPoolParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new BackendPool has been created.",
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific Backend Pool": {
- "$ref": "./examples/FrontdoorBackendPoolCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing Backend Pool with the specified parameters.",
- "operationId": "BackendPools_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/backendPoolNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the Backend Pool was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete Backend Pool": {
- "$ref": "./examples/FrontdoorBackendPoolDelete.json"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints": {
"get": {
"tags": [
@@ -1237,115 +435,6 @@
"$ref": "./examples/FrontdoorFrontendEndpointGet.json"
}
}
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new frontend endpoint with the specified host name within the specified Front Door.",
- "operationId": "FrontendEndpoints_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/frontendEndpointNameParameter"
- },
- {
- "description": "Frontend endpoint properties needed to create a new endpoint.",
- "in": "body",
- "name": "frontendEndpointParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FrontendEndpoint"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/FrontendEndpoint"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new frontend endpoint has been created.",
- "schema": {
- "$ref": "#/definitions/FrontendEndpoint"
- }
- },
- "202": {
- "description": "Accepted and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/FrontendEndpoint"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific Frontend Endpoint": {
- "$ref": "./examples/FrontdoorFrontendEndpointCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing frontend endpoint with the specified parameters.",
- "operationId": "FrontendEndpoints_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/frontendEndpointNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the Backend Pool was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete Backend Pool": {
- "$ref": "./examples/FrontdoorFrontendEndpointDelete.json"
- }
- },
- "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/purge": {
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorBackendPoolCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorBackendPoolCreate.json
deleted file mode 100644
index 173d7a44b340..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorBackendPoolCreate.json
+++ /dev/null
@@ -1,165 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "backendPoolName": "backendPool1",
- "backendPoolParameters": {
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorBackendPoolDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorBackendPoolDelete.json
deleted file mode 100644
index 90cff1080966..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorBackendPoolDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "backendPoolName": "backendPool1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorBackendPoolGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorBackendPoolGet.json
deleted file mode 100644
index 27302d8e8160..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorBackendPoolGet.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "backendPoolName": "backendPool1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorBackendPoolList.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorBackendPoolList.json
deleted file mode 100644
index cdf8b2d57b7e..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorBackendPoolList.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
- "name": "backendPool1",
- "properties": {
- "backends": [
- {
- "address": "w3.contoso.com",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 2
- },
- {
- "address": "contoso.com.website-us-west-2.othercloud.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 2,
- "priority": 1
- },
- {
- "address": "contoso1.azurewebsites.net",
- "httpPort": 80,
- "httpsPort": 443,
- "enabledState": "Enabled",
- "weight": 1,
- "priority": 1
- }
- ],
- "loadBalancingSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
- },
- "healthProbeSettings": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorFrontendEndpointCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorFrontendEndpointCreate.json
deleted file mode 100644
index 9d6c548a8d5f..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorFrontendEndpointCreate.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "frontendEndpointName": "frontDoorEndpoint1",
- "frontendEndpointParameters": {
- "name": "frontendEndpoint1",
- "properties": {
- "hostName": "www.contoso.com",
- "sessionAffinityEnabledState": "Enabled",
- "sessionAffinityTtlSeconds": 60,
- "webApplicationFirewallPolicyLink": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
- "name": "frontendEndpoint1",
- "properties": {
- "hostName": "www.contoso.com",
- "sessionAffinityEnabledState": "Enabled",
- "sessionAffinityTtlSeconds": 60,
- "webApplicationFirewallPolicyLink": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
- "name": "frontendEndpoint1",
- "properties": {
- "hostName": "www.contoso.com",
- "sessionAffinityEnabledState": "Enabled",
- "sessionAffinityTtlSeconds": 60,
- "webApplicationFirewallPolicyLink": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
- }
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
- "name": "frontendEndpoint1",
- "properties": {
- "hostName": "www.contoso.com",
- "sessionAffinityEnabledState": "Enabled",
- "sessionAffinityTtlSeconds": 60,
- "webApplicationFirewallPolicyLink": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorFrontendEndpointDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorFrontendEndpointDelete.json
deleted file mode 100644
index 49981f5191da..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorFrontendEndpointDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "frontendEndpointName": "frontendEndpoint1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorHealthProbeSettingsCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorHealthProbeSettingsCreate.json
deleted file mode 100644
index 7ce9145d834a..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorHealthProbeSettingsCreate.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "healthProbeSettingsName": "healthProbeSettings1",
- "healthProbeSettingsParameters": {
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120,
- "enabledState": "Enabled"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120,
- "enabledState": "Enabled"
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120,
- "enabledState": "Enabled"
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120,
- "enabledState": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorHealthProbeSettingsDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorHealthProbeSettingsDelete.json
deleted file mode 100644
index 8e0660c6269a..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorHealthProbeSettingsDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "healthProbeSettingsName": "healthProbeSettings1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorHealthProbeSettingsGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorHealthProbeSettingsGet.json
deleted file mode 100644
index 05ec6f5747cd..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorHealthProbeSettingsGet.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "healthProbeSettingsName": "healthProbeSettings1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120,
- "enabledState": "Enabled",
- "healthProbeMethod": "HEAD"
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorHealthProbeSettingsList.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorHealthProbeSettingsList.json
deleted file mode 100644
index fc21bfbdff29..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorHealthProbeSettingsList.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1",
- "name": "healthProbeSettings1",
- "properties": {
- "path": "/",
- "protocol": "Http",
- "intervalInSeconds": 120,
- "enabledState": "Enabled",
- "healthProbeMethod": "HEAD"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorLoadBalancingSettingsCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorLoadBalancingSettingsCreate.json
deleted file mode 100644
index d06b3e12d04d..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorLoadBalancingSettingsCreate.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "loadBalancingSettingsName": "loadBalancingSettings1",
- "loadBalancingSettingsParameters": {
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorLoadBalancingSettingsDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorLoadBalancingSettingsDelete.json
deleted file mode 100644
index a28375d1d443..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorLoadBalancingSettingsDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "loadBalancingSettingsName": "loadBalancingSettings1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorLoadBalancingSettingsGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorLoadBalancingSettingsGet.json
deleted file mode 100644
index d6584f79194f..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorLoadBalancingSettingsGet.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "loadBalancingSettingsName": "loadBalancingSettings1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorLoadBalancingSettingsList.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorLoadBalancingSettingsList.json
deleted file mode 100644
index 3fca126ab439..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorLoadBalancingSettingsList.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadbalancingSettings1",
- "name": "loadBalancingSettings1",
- "properties": {
- "sampleSize": 4,
- "successfulSamplesRequired": 2
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRedirectRoutingRuleCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRedirectRoutingRuleCreate.json
deleted file mode 100644
index fa146c71e1cf..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRedirectRoutingRuleCreate.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "routingRuleName": "redirectRoutingRule1",
- "routingRuleParameters": {
- "name": "redirectRoutingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Https"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
- "redirectType": "Moved",
- "redirectProtocol": "HttpsOnly",
- "customHost": "www.bing.com",
- "customPath": "/api",
- "customFragment": "fragment",
- "customQueryString": "a=b"
- },
- "enabledState": "Enabled"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/redirectRoutingRule1",
- "name": "redirectRoutingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Https"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
- "redirectType": "Moved",
- "redirectProtocol": "HttpsOnly",
- "customHost": "www.bing.com",
- "customPath": "/api",
- "customFragment": "fragment",
- "customQueryString": "a=b"
- },
- "enabledState": "Enabled"
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/redirectRoutingRule1",
- "name": "redirectRoutingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Https"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
- "redirectType": "Moved",
- "redirectProtocol": "HttpsOnly",
- "customHost": "www.bing.com",
- "customPath": "/api",
- "customFragment": "fragment",
- "customQueryString": "a=b"
- },
- "enabledState": "Enabled"
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/redirectRoutingRule1",
- "name": "redirectRoutingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Https"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
- "redirectType": "Moved",
- "redirectProtocol": "HttpsOnly",
- "customHost": "www.bing.com",
- "customPath": "/api",
- "customFragment": "fragment",
- "customQueryString": "a=b"
- },
- "enabledState": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRedirectRoutingRuleGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRedirectRoutingRuleGet.json
deleted file mode 100644
index e7acb420d61f..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRedirectRoutingRuleGet.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "routingRuleName": "redirectRoutingRule1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/redirectRoutingRule1",
- "name": "redirectRoutingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Https"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
- "redirectType": "Moved",
- "redirectProtocol": "HttpsOnly",
- "customHost": "www.bing.com",
- "customPath": "/api",
- "customFragment": "fragment",
- "customQueryString": "a=b"
- },
- "enabledState": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRoutingRuleCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRoutingRuleCreate.json
deleted file mode 100644
index 02e739ea6562..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRoutingRuleCreate.json
+++ /dev/null
@@ -1,130 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "routingRuleName": "routingRule1",
- "routingRuleParameters": {
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- }
- },
- "enabledState": "Enabled"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- }
- },
- "enabledState": "Enabled"
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- }
- },
- "enabledState": "Enabled"
- }
- }
- },
- "202": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- }
- },
- "enabledState": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRoutingRuleDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRoutingRuleDelete.json
deleted file mode 100644
index 11e04942505d..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRoutingRuleDelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "routingRuleName": "routingRule1"
- },
- "responses": {
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRoutingRuleGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRoutingRuleGet.json
deleted file mode 100644
index 8947311421b1..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRoutingRuleGet.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1",
- "routingRuleName": "routingRule1"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- }
- },
- "enabledState": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRoutingRuleList.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRoutingRuleList.json
deleted file mode 100644
index 50cf21f7dd3c..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/examples/FrontdoorRoutingRuleList.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "frontDoorName": "frontDoor1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
- "name": "routingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Http"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
- "customForwardingPath": "",
- "forwardingProtocol": "MatchRequest",
- "backendPool": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
- }
- },
- "enabledState": "Enabled"
- }
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/redirectRoutingRule1",
- "name": "redirectRoutingRule1",
- "properties": {
- "frontendEndpoints": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
- }
- ],
- "acceptedProtocols": [
- "Https"
- ],
- "patternsToMatch": [
- "/*"
- ],
- "routeConfiguration": {
- "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
- "redirectType": "Moved",
- "redirectProtocol": "HttpsOnly",
- "customHost": "www.bing.com",
- "customPath": "/api",
- "customFragment": "fragment",
- "customQueryString": "a=b"
- },
- "enabledState": "Enabled"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/frontdoor.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/frontdoor.json
index f41aad8fd5bc..ba373420d0cd 100644
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/frontdoor.json
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/frontdoor.json
@@ -347,808 +347,6 @@
"x-ms-long-running-operation": true
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Lists all of the Routing Rules within a Front Door.",
- "operationId": "RoutingRules_ListByFrontDoor",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/RoutingRuleListResult"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List Routing Rules in a Front Door": {
- "$ref": "./examples/FrontdoorRoutingRuleList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Gets a Routing Rule with the specified Rule name within the specified Front Door.",
- "operationId": "RoutingRules_Get",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/routingRuleNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get Forwarding Routing Rule": {
- "$ref": "./examples/FrontdoorRoutingRuleGet.json"
- },
- "Get Redirect Routing Rule": {
- "$ref": "./examples/FrontdoorRedirectRoutingRuleGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new Routing Rule with the specified Rule name within the specified Front Door.",
- "operationId": "RoutingRules_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/routingRuleNameParameter"
- },
- {
- "description": "Routing Rule properties needed to create a new Front Door.",
- "in": "body",
- "name": "routingRuleParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new RoutingRule has been created.",
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- "202": {
- "description": "Accepted and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/RoutingRule"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific Forwarding Routing Rule": {
- "$ref": "./examples/FrontdoorRoutingRuleCreate.json"
- },
- "Create or update specific Redirect Routing Rule": {
- "$ref": "./examples/FrontdoorRedirectRoutingRuleCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing Routing Rule with the specified parameters.",
- "operationId": "RoutingRules_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/routingRuleNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the Routing Rule was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete Routing Rule": {
- "$ref": "./examples/FrontdoorRoutingRuleDelete.json"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Lists all of the HealthProbeSettings within a Front Door.",
- "operationId": "HealthProbeSettings_ListByFrontDoor",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsListResult"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List HealthProbeSettings in a Front Door": {
- "$ref": "./examples/FrontdoorHealthProbeSettingsList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Gets a HealthProbeSettings with the specified Rule name within the specified Front Door.",
- "operationId": "HealthProbeSettings_Get",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/healthProbeSettingsNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get HealthProbeSettings": {
- "$ref": "./examples/FrontdoorHealthProbeSettingsGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new HealthProbeSettings with the specified Rule name within the specified Front Door.",
- "operationId": "HealthProbeSettings_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/healthProbeSettingsNameParameter"
- },
- {
- "description": "HealthProbeSettings properties needed to create a new Front Door.",
- "in": "body",
- "name": "healthProbeSettingsParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new HealthProbeSettings has been created.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/HealthProbeSettingsModel"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific HealthProbeSettings": {
- "$ref": "./examples/FrontdoorHealthProbeSettingsCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing HealthProbeSettings with the specified parameters.",
- "operationId": "HealthProbeSettings_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/healthProbeSettingsNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the HealthProbeSettings was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete HealthProbeSettings": {
- "$ref": "./examples/FrontdoorHealthProbeSettingsDelete.json"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Lists all of the LoadBalancingSettings within a Front Door.",
- "operationId": "LoadBalancingSettings_ListByFrontDoor",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsListResult"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List LoadBalancingSettings in a Front Door": {
- "$ref": "./examples/FrontdoorLoadBalancingSettingsList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Gets a LoadBalancingSettings with the specified Rule name within the specified Front Door.",
- "operationId": "LoadBalancingSettings_Get",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/loadBalancingSettingsNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get LoadBalancingSettings": {
- "$ref": "./examples/FrontdoorLoadBalancingSettingsGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new LoadBalancingSettings with the specified Rule name within the specified Front Door.",
- "operationId": "LoadBalancingSettings_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/loadBalancingSettingsNameParameter"
- },
- {
- "description": "LoadBalancingSettings properties needed to create a new Front Door.",
- "in": "body",
- "name": "loadBalancingSettingsParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new LoadBalancingSettings has been created.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/LoadBalancingSettingsModel"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific LoadBalancingSettings": {
- "$ref": "./examples/FrontdoorLoadBalancingSettingsCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing LoadBalancingSettings with the specified parameters.",
- "operationId": "LoadBalancingSettings_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/loadBalancingSettingsNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the LoadBalancingSettings was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete LoadBalancingSettings": {
- "$ref": "./examples/FrontdoorLoadBalancingSettingsDelete.json"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Lists all of the Backend Pools within a Front Door.",
- "operationId": "BackendPools_ListByFrontDoor",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/BackendPoolListResult"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List Backend Pools in a Front Door": {
- "$ref": "./examples/FrontdoorBackendPoolList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}": {
- "get": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Gets a Backend Pool with the specified Pool name within the specified Front Door.",
- "operationId": "BackendPools_Get",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/backendPoolNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get Backend Pool": {
- "$ref": "./examples/FrontdoorBackendPoolGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new Backend Pool with the specified Pool name within the specified Front Door.",
- "operationId": "BackendPools_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/backendPoolNameParameter"
- },
- {
- "description": "Backend Pool properties needed to create a new Pool.",
- "in": "body",
- "name": "backendPoolParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new BackendPool has been created.",
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/BackendPool"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific Backend Pool": {
- "$ref": "./examples/FrontdoorBackendPoolCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing Backend Pool with the specified parameters.",
- "operationId": "BackendPools_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/backendPoolNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the Backend Pool was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete Backend Pool": {
- "$ref": "./examples/FrontdoorBackendPoolDelete.json"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints": {
"get": {
"tags": [
@@ -1237,115 +435,6 @@
"$ref": "./examples/FrontdoorFrontendEndpointGet.json"
}
}
- },
- "put": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Creates a new frontend endpoint with the specified host name within the specified Front Door.",
- "operationId": "FrontendEndpoints_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/frontendEndpointNameParameter"
- },
- {
- "description": "Frontend endpoint properties needed to create a new endpoint.",
- "in": "body",
- "name": "frontendEndpointParameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FrontendEndpoint"
- }
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/FrontendEndpoint"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new frontend endpoint has been created.",
- "schema": {
- "$ref": "#/definitions/FrontendEndpoint"
- }
- },
- "202": {
- "description": "Accepted and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/FrontendEndpoint"
- }
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update specific Frontend Endpoint": {
- "$ref": "./examples/FrontdoorFrontendEndpointCreate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "FrontDoors"
- ],
- "description": "Deletes an existing frontend endpoint with the specified parameters.",
- "operationId": "FrontendEndpoints_Delete",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/frontDoorNameParameter"
- },
- {
- "$ref": "#/parameters/frontendEndpointNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the Backend Pool was not found."
- },
- "default": {
- "description": "Front Door error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete Backend Pool": {
- "$ref": "./examples/FrontdoorFrontendEndpointDelete.json"
- }
- },
- "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/purge": {
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafListManagedRuleSets.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafListManagedRuleSets.json
new file mode 100644
index 000000000000..7871f2cd7bb4
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafListManagedRuleSets.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "DefaultRuleSet_1.0",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/FrontDoorWebApplicationFirewallManagedRuleSets",
+ "type": "Microsoft.Network/frontdoorwebapplicationfirewallmanagedrulesets",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "1.0",
+ "ruleGroups": [
+ {
+ "ruleGroupName": "SQLI",
+ "description": "SQL injection",
+ "rules": [
+ {
+ "ruleId": "942100",
+ "description": "SQL Injection Attack Detected via libinjection",
+ "defaultState": "Enabled",
+ "defaultAction": "Block"
+ },
+ {
+ "ruleId": "942110",
+ "description": "SQL Injection Attack: Common Injection Testing Detected",
+ "defaultState": "Enabled",
+ "defaultAction": "Block"
+ }
+ ]
+ },
+ {
+ "ruleGroupName": "XSS",
+ "description": "Cross-site scripting",
+ "rules": [
+ {
+ "ruleId": "941100",
+ "description": "XSS Attack Detected via libinjection",
+ "defaultState": "Enabled",
+ "defaultAction": "Block"
+ },
+ {
+ "ruleId": "941101",
+ "description": "XSS Attack Detected via libinjection",
+ "defaultState": "Enabled",
+ "defaultAction": "Block"
+ },
+ {
+ "ruleId": "941110",
+ "description": "XSS Filter - Category 1: Script Tag Vector",
+ "defaultState": "Enabled",
+ "defaultAction": "Block"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafListPolicies.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafListPolicies.json
new file mode 100644
index 000000000000..48d6e962ddb1
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafListPolicies.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention",
+ "redirectUrl": "http://www.bing.com",
+ "customBlockResponseStatusCode": 499,
+ "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "ruleType": "RateLimitRule",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "enabledState": "Enabled",
+ "ruleType": "MatchRule",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 0,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "matchValue": [
+ "windows"
+ ],
+ "transforms": [
+ "Lowercase"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "1.0",
+ "exclusions": [
+ {
+ "matchVariable": "RequestHeaderNames",
+ "selectorMatchOperator": "Equals",
+ "selector": "User-Agent"
+ }
+ ],
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "SQLI",
+ "rules": [
+ {
+ "ruleId": "942100",
+ "enabledState": "Enabled",
+ "action": "Redirect"
+ },
+ {
+ "ruleId": "942110",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "frontendEndpointLinks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontdoors/fd1/frontendendpoints/fd1-azurefd-net"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafPolicyCreateOrUpdate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafPolicyCreateOrUpdate.json
new file mode 100644
index 000000000000..d1b536c178ce
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafPolicyCreateOrUpdate.json
@@ -0,0 +1,492 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "Policy1",
+ "parameters": {
+ "properties": {
+ "policySettings": {
+ "redirectUrl": "http://www.bing.com",
+ "customBlockResponseStatusCode": 499,
+ "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "ruleType": "RateLimitRule",
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "operator": "IPMatch",
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ]
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "operator": "GeoMatch",
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "operator": "Contains",
+ "selector": "UserAgent",
+ "matchValue": [
+ "windows"
+ ],
+ "transforms": [
+ "Lowercase"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "1.0",
+ "exclusions": [
+ {
+ "matchVariable": "RequestHeaderNames",
+ "selectorMatchOperator": "Equals",
+ "selector": "User-Agent"
+ }
+ ],
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "SQLI",
+ "exclusions": [
+ {
+ "matchVariable": "RequestCookieNames",
+ "selectorMatchOperator": "StartsWith",
+ "selector": "token"
+ }
+ ],
+ "rules": [
+ {
+ "ruleId": "942100",
+ "enabledState": "Enabled",
+ "action": "Redirect",
+ "exclusions": [
+ {
+ "matchVariable": "QueryStringArgNames",
+ "selectorMatchOperator": "Equals",
+ "selector": "query"
+ }
+ ]
+ },
+ {
+ "ruleId": "942110",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention",
+ "redirectUrl": "http://www.bing.com",
+ "customBlockResponseStatusCode": 499,
+ "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "ruleType": "RateLimitRule",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "enabledState": "Enabled",
+ "ruleType": "MatchRule",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 0,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "matchValue": [
+ "windows"
+ ],
+ "transforms": [
+ "Lowercase"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "1.0",
+ "exclusions": [
+ {
+ "matchVariable": "RequestHeaderNames",
+ "selectorMatchOperator": "Equals",
+ "selector": "User-Agent"
+ }
+ ],
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "SQLI",
+ "exclusions": [
+ {
+ "matchVariable": "RequestCookieNames",
+ "selectorMatchOperator": "StartsWith",
+ "selector": "token"
+ }
+ ],
+ "rules": [
+ {
+ "ruleId": "942100",
+ "enabledState": "Enabled",
+ "action": "Redirect",
+ "exclusions": [
+ {
+ "matchVariable": "QueryStringArgNames",
+ "selectorMatchOperator": "Equals",
+ "selector": "query"
+ }
+ ]
+ },
+ {
+ "ruleId": "942110",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "frontendEndpointLinks": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention",
+ "redirectUrl": "http://www.bing.com",
+ "customBlockResponseStatusCode": 499,
+ "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "ruleType": "RateLimitRule",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "enabledState": "Enabled",
+ "ruleType": "MatchRule",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 0,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "matchValue": [
+ "windows"
+ ],
+ "transforms": [
+ "Lowercase"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "1.0",
+ "exclusions": [
+ {
+ "matchVariable": "RequestHeaderNames",
+ "selectorMatchOperator": "Equals",
+ "selector": "User-Agent"
+ }
+ ],
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "SQLI",
+ "exclusions": [
+ {
+ "matchVariable": "RequestCookieNames",
+ "selectorMatchOperator": "StartsWith",
+ "selector": "token"
+ }
+ ],
+ "rules": [
+ {
+ "ruleId": "942100",
+ "enabledState": "Enabled",
+ "action": "Redirect",
+ "exclusions": [
+ {
+ "matchVariable": "QueryStringArgNames",
+ "selectorMatchOperator": "Equals",
+ "selector": "query"
+ }
+ ]
+ },
+ {
+ "ruleId": "942110",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "frontendEndpointLinks": []
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention",
+ "redirectUrl": "http://www.bing.com",
+ "customBlockResponseStatusCode": 499,
+ "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "ruleType": "RateLimitRule",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "enabledState": "Enabled",
+ "ruleType": "MatchRule",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 0,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "matchValue": [
+ "windows"
+ ],
+ "transforms": [
+ "Lowercase"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "1.0",
+ "exclusions": [
+ {
+ "matchVariable": "RequestHeaderNames",
+ "selectorMatchOperator": "Equals",
+ "selector": "User-Agent"
+ }
+ ],
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "SQLI",
+ "exclusions": [
+ {
+ "matchVariable": "RequestCookieNames",
+ "selectorMatchOperator": "StartsWith",
+ "selector": "token"
+ }
+ ],
+ "rules": [
+ {
+ "ruleId": "942100",
+ "enabledState": "Enabled",
+ "action": "Redirect",
+ "exclusions": [
+ {
+ "matchVariable": "QueryStringArgNames",
+ "selectorMatchOperator": "Equals",
+ "selector": "query"
+ }
+ ]
+ },
+ {
+ "ruleId": "942110",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "frontendEndpointLinks": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafPolicyDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafPolicyDelete.json
new file mode 100644
index 000000000000..86dbd988646e
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "Policy1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafPolicyGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafPolicyGet.json
new file mode 100644
index 000000000000..f403b95bbb85
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/examples/WafPolicyGet.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "Policy1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention",
+ "redirectUrl": "http://www.bing.com",
+ "customBlockResponseStatusCode": 499,
+ "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "ruleType": "RateLimitRule",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "enabledState": "Enabled",
+ "ruleType": "MatchRule",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 0,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "matchValue": [
+ "windows"
+ ],
+ "transforms": [
+ "Lowercase"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "1.0",
+ "exclusions": [
+ {
+ "matchVariable": "RequestHeaderNames",
+ "selectorMatchOperator": "Equals",
+ "selector": "User-Agent"
+ }
+ ],
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "SQLI",
+ "rules": [
+ {
+ "ruleId": "942100",
+ "enabledState": "Enabled",
+ "action": "Redirect"
+ },
+ {
+ "ruleId": "942110",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "frontendEndpointLinks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontdoors/fd1/frontendendpoints/fd1-azurefd-net"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/network.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/network.json
new file mode 100644
index 000000000000..d0e8a66a4df8
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/network.json
@@ -0,0 +1,301 @@
+{
+ "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": "2019-10-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",
+ "description": "Error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ }
+ },
+ "description": "Common error details representation."
+ },
+ "Error": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ },
+ "description": "Error details."
+ },
+ "innerError": {
+ "type": "string",
+ "description": "Inner error message."
+ }
+ },
+ "description": "Common error representation."
+ },
+ "AzureAsyncOperationResult": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Status of the Azure async operation.",
+ "enum": [
+ "InProgress",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Details of the error occurred during specified asynchronous operation."
+ }
+ },
+ "description": "The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status code for the successful request. If the asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure."
+ },
+ "Resource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Common resource representation.",
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID."
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "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."
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "Access": {
+ "type": "string",
+ "description": "Access to be allowed or denied.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "Access",
+ "modelAsString": true
+ }
+ },
+ "AuthenticationMethod": {
+ "type": "string",
+ "description": "VPN client authentication method.",
+ "enum": [
+ "EAPTLS",
+ "EAPMSCHAPv2"
+ ],
+ "x-ms-enum": {
+ "name": "AuthenticationMethod",
+ "modelAsString": true
+ }
+ },
+ "IPAllocationMethod": {
+ "type": "string",
+ "description": "IP address allocation method.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "IPVersion": {
+ "type": "string",
+ "description": "IP address version.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version."
+ },
+ "ApiVersionVmssParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json
new file mode 100644
index 000000000000..dafd0a1d5780
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json
@@ -0,0 +1,878 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-10-01",
+ "title": "WebApplicationFirewallManagement",
+ "description": "APIs to manage web application firewall rules."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies": {
+ "get": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Lists all of the protection policies within a resource group.",
+ "operationId": "Policies_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicyList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Policies in a Resource Group": {
+ "$ref": "./examples/WafListPolicies.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Retrieve protection policy with specified name within a resource group.",
+ "operationId": "Policies_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Policy": {
+ "$ref": "./examples/WafPolicyGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Create or update policy with specified rule set name within a resource group.",
+ "operationId": "Policies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "Policy to be created.",
+ "in": "body",
+ "name": "parameters",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new protection policy has been created.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ }
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Creates specific policy": {
+ "$ref": "./examples/WafPolicyCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Deletes Policy",
+ "operationId": "Policies_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the policy was not found."
+ }
+ },
+ "x-ms-examples": {
+ "Delete protection policy": {
+ "$ref": "./examples/WafPolicyDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallManagedRuleSets": {
+ "get": {
+ "tags": [
+ "WebApplicationFirewallManagedRuleSets"
+ ],
+ "description": "Lists all available managed rule sets.",
+ "operationId": "ManagedRuleSets_List",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of all available web application firewall managed rule sets.",
+ "schema": {
+ "$ref": "#/definitions/ManagedRuleSetDefinitionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Policies in a Resource Group": {
+ "$ref": "./examples/WafListManagedRuleSets.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "WebApplicationFirewallPolicy": {
+ "description": "Defines web application firewall policy.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties of the web application firewall policy.",
+ "$ref": "#/definitions/WebApplicationFirewallPolicyProperties"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "WebApplicationFirewallPolicyProperties": {
+ "description": "Defines web application firewall policy properties.",
+ "properties": {
+ "policySettings": {
+ "description": "Describes settings for the policy.",
+ "$ref": "#/definitions/PolicySettings"
+ },
+ "customRules": {
+ "description": "Describes custom rules inside the policy.",
+ "$ref": "#/definitions/CustomRuleList"
+ },
+ "managedRules": {
+ "description": "Describes managed rules inside the policy.",
+ "$ref": "#/definitions/ManagedRuleSetList"
+ },
+ "frontendEndpointLinks": {
+ "description": "Describes Frontend Endpoints associated with this Web Application Firewall policy.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/FrontendEndpointLink"
+ }
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Provisioning state of the policy."
+ },
+ "resourceState": {
+ "title": "Resource status of the policy.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Enabling",
+ "Enabled",
+ "Disabling",
+ "Disabled",
+ "Deleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyResourceState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "WebApplicationFirewallPolicyList": {
+ "description": "Defines a list of WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ },
+ "description": "List of WebApplicationFirewallPolicies within a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any."
+ }
+ }
+ },
+ "PolicySettings": {
+ "description": "Defines top-level WebApplicationFirewallPolicy configuration settings.",
+ "properties": {
+ "enabledState": {
+ "description": "Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyEnabledState",
+ "modelAsString": true
+ }
+ },
+ "mode": {
+ "description": "Describes if it is in detection mode or prevention mode at policy level.",
+ "type": "string",
+ "enum": [
+ "Prevention",
+ "Detection"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyMode",
+ "modelAsString": true
+ }
+ },
+ "redirectUrl": {
+ "description": "If action type is redirect, this field represents redirect URL for the client.",
+ "type": "string"
+ },
+ "customBlockResponseStatusCode": {
+ "description": "If the action type is block, customer can override the response status code.",
+ "type": "integer"
+ },
+ "customBlockResponseBody": {
+ "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.",
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$"
+ }
+ }
+ },
+ "CustomRuleList": {
+ "description": "Defines contents of custom rules",
+ "properties": {
+ "rules": {
+ "description": "List of rules",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomRule"
+ }
+ }
+ }
+ },
+ "CustomRule": {
+ "description": "Defines contents of a web application rule",
+ "required": [
+ "priority",
+ "ruleType",
+ "matchConditions",
+ "action"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Describes the name of the rule.",
+ "maxLength": 128
+ },
+ "priority": {
+ "description": "Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.",
+ "type": "integer"
+ },
+ "enabledState": {
+ "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "CustomRuleEnabledState",
+ "modelAsString": true
+ }
+ },
+ "ruleType": {
+ "description": "Describes type of rule.",
+ "type": "string",
+ "enum": [
+ "MatchRule",
+ "RateLimitRule"
+ ],
+ "x-ms-enum": {
+ "name": "RuleType",
+ "modelAsString": true
+ }
+ },
+ "rateLimitDurationInMinutes": {
+ "description": "Time window for resetting the rate limit count. Default is 1 minute.",
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 5
+ },
+ "rateLimitThreshold": {
+ "description": "Number of allowed requests per client within the time window.",
+ "type": "integer",
+ "minimum": 0
+ },
+ "matchConditions": {
+ "description": "List of match conditions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MatchCondition"
+ }
+ },
+ "action": {
+ "description": "Describes what action to be applied when rule matches.",
+ "$ref": "#/definitions/ActionType"
+ }
+ }
+ },
+ "TransformType": {
+ "description": "Describes what transforms applied before matching.",
+ "type": "string",
+ "enum": [
+ "Lowercase",
+ "Uppercase",
+ "Trim",
+ "UrlDecode",
+ "UrlEncode",
+ "RemoveNulls"
+ ],
+ "x-ms-enum": {
+ "name": "TransformType",
+ "modelAsString": true
+ }
+ },
+ "MatchCondition": {
+ "description": "Define a match condition.",
+ "required": [
+ "matchVariable",
+ "operator",
+ "matchValue"
+ ],
+ "properties": {
+ "matchVariable": {
+ "description": "Request variable to compare with.",
+ "type": "string",
+ "enum": [
+ "RemoteAddr",
+ "RequestMethod",
+ "QueryString",
+ "PostArgs",
+ "RequestUri",
+ "RequestHeader",
+ "RequestBody",
+ "Cookies",
+ "SocketAddr"
+ ],
+ "x-ms-enum": {
+ "name": "MatchVariable",
+ "modelAsString": true
+ }
+ },
+ "selector": {
+ "description": "Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is null.",
+ "type": "string"
+ },
+ "operator": {
+ "description": "Comparison type to use for matching with the variable value.",
+ "type": "string",
+ "enum": [
+ "Any",
+ "IPMatch",
+ "GeoMatch",
+ "Equal",
+ "Contains",
+ "LessThan",
+ "GreaterThan",
+ "LessThanOrEqual",
+ "GreaterThanOrEqual",
+ "BeginsWith",
+ "EndsWith",
+ "RegEx"
+ ],
+ "x-ms-enum": {
+ "name": "Operator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if the result of this condition should be negated.",
+ "type": "boolean"
+ },
+ "matchValue": {
+ "description": "List of possible match values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TransformType"
+ }
+ }
+ }
+ },
+ "ManagedRuleSetList": {
+ "description": "Defines the list of managed rule sets for the policy.",
+ "properties": {
+ "managedRuleSets": {
+ "description": "List of rule sets.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleSet"
+ }
+ }
+ }
+ },
+ "ManagedRuleSet": {
+ "type": "object",
+ "description": "Defines a managed rule set.",
+ "required": [
+ "ruleSetType",
+ "ruleSetVersion"
+ ],
+ "properties": {
+ "ruleSetType": {
+ "description": "Defines the rule set type to use.",
+ "type": "string"
+ },
+ "ruleSetVersion": {
+ "description": "Defines the version of the rule set to use.",
+ "type": "string"
+ },
+ "exclusions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleExclusion"
+ },
+ "description": "Describes the exclusions that are applied to all rules in the set."
+ },
+ "ruleGroupOverrides": {
+ "description": "Defines the rule group overrides to apply to the rule set.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleGroupOverride"
+ }
+ }
+ }
+ },
+ "ManagedRuleGroupOverride": {
+ "description": "Defines a managed rule group override setting.",
+ "required": [
+ "ruleGroupName"
+ ],
+ "properties": {
+ "ruleGroupName": {
+ "description": "Describes the managed rule group to override.",
+ "type": "string"
+ },
+ "exclusions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleExclusion"
+ },
+ "description": "Describes the exclusions that are applied to all rules in the group."
+ },
+ "rules": {
+ "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleOverride"
+ }
+ }
+ }
+ },
+ "ManagedRuleOverride": {
+ "description": "Defines a managed rule group override setting.",
+ "required": [
+ "ruleId"
+ ],
+ "properties": {
+ "ruleId": {
+ "description": "Identifier for the managed rule.",
+ "type": "string"
+ },
+ "enabledState": {
+ "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.",
+ "$ref": "#/definitions/ManagedRuleEnabledState"
+ },
+ "action": {
+ "description": "Describes the override action to be applied when rule matches.",
+ "$ref": "#/definitions/ActionType"
+ },
+ "exclusions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleExclusion"
+ },
+ "description": "Describes the exclusions that are applied to this specific rule."
+ }
+ }
+ },
+ "ManagedRuleSetDefinitionList": {
+ "description": "List of managed rule set definitions available for use in a policy.",
+ "properties": {
+ "value": {
+ "description": "List of managed rule set definitions.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleSetDefinition"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to retrieve next set of managed rule set definitions."
+ }
+ }
+ },
+ "ManagedRuleSetDefinition": {
+ "description": "Describes the a managed rule set definition.",
+ "properties": {
+ "properties": {
+ "description": "Properties for a managed rule set definition.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ManagedRuleSetDefinitionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ManagedRuleSetDefinitionProperties": {
+ "description": "Properties for a managed rule set definition.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Provisioning state of the managed rule set."
+ },
+ "ruleSetType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of the managed rule set."
+ },
+ "ruleSetVersion": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Version of the managed rule set type."
+ },
+ "ruleGroups": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ManagedRuleGroupDefinition"
+ },
+ "description": "Rule groups of the managed rule set."
+ }
+ }
+ },
+ "ManagedRuleGroupDefinition": {
+ "description": "Describes a managed rule group.",
+ "properties": {
+ "ruleGroupName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the managed rule group."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Description of the managed rule group."
+ },
+ "rules": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ManagedRuleDefinition"
+ },
+ "description": "List of rules within the managed rule group."
+ }
+ }
+ },
+ "ManagedRuleDefinition": {
+ "description": "Describes a managed rule definition.",
+ "properties": {
+ "ruleId": {
+ "description": "Identifier for the managed rule.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "defaultState": {
+ "description": "Describes the default state for the managed rule.",
+ "readOnly": true,
+ "$ref": "#/definitions/ManagedRuleEnabledState"
+ },
+ "defaultAction": {
+ "description": "Describes the default action to be applied when the managed rule matches.",
+ "readOnly": true,
+ "$ref": "#/definitions/ActionType"
+ },
+ "description": {
+ "description": "Describes the functionality of the managed rule.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ManagedRuleExclusion": {
+ "required": [
+ "matchVariable",
+ "selectorMatchOperator",
+ "selector"
+ ],
+ "description": "Exclude variables from managed rule evaluation.",
+ "properties": {
+ "matchVariable": {
+ "type": "string",
+ "enum": [
+ "RequestHeaderNames",
+ "RequestCookieNames",
+ "QueryStringArgNames",
+ "RequestBodyPostArgNames"
+ ],
+ "description": "The variable type to be excluded.",
+ "x-ms-enum": {
+ "name": "ManagedRuleExclusionMatchVariable",
+ "modelAsString": true
+ }
+ },
+ "selectorMatchOperator": {
+ "type": "string",
+ "enum": [
+ "Equals",
+ "Contains",
+ "StartsWith",
+ "EndsWith",
+ "EqualsAny"
+ ],
+ "description": "Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to.",
+ "x-ms-enum": {
+ "name": "ManagedRuleExclusionSelectorMatchOperator",
+ "modelAsString": true
+ }
+ },
+ "selector": {
+ "type": "string",
+ "description": "Selector value for which elements in the collection this exclusion applies to."
+ }
+ }
+ },
+ "ActionType": {
+ "description": "Defines the action to take on rule match.",
+ "type": "string",
+ "enum": [
+ "Allow",
+ "Block",
+ "Log",
+ "Redirect"
+ ],
+ "x-ms-enum": {
+ "name": "ActionType",
+ "modelAsString": true
+ }
+ },
+ "ManagedRuleEnabledState": {
+ "description": "Describes if the managed rule is in enabled or disabled state.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedRuleEnabledState",
+ "modelAsString": true
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates Front Door service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "FrontendEndpointLink": {
+ "description": "Defines the Resource ID for a Frontend Endpoint.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "PolicyNameParameter": {
+ "name": "policyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 128,
+ "x-ms-parameter-location": "method",
+ "description": "The name of the Web Application Firewall Policy."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method",
+ "description": "Name of the Resource group within the Azure subscription."
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentCreateExperiment.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentCreateExperiment.json
new file mode 100644
index 000000000000..bdb98be3186c
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentCreateExperiment.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "profileName": "Profile1",
+ "experimentName": "Experiment1",
+ "parameters": {
+ "properties": {
+ "description": "this is my first experiment!",
+ "endpointA": {
+ "name": "endpoint A",
+ "endpoint": "endpointA.net"
+ },
+ "endpointB": {
+ "name": "endpoint B",
+ "endpoint": "endpointB.net"
+ },
+ "enabledState": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Experiment1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1/Experiments/Experiment1",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "description": "this is my first experiment!",
+ "endpointA": {
+ "name": "endpoint A",
+ "endpoint": "endpointA.net"
+ },
+ "endpointB": {
+ "name": "endpoint B",
+ "endpoint": "endpointB.net"
+ },
+ "enabledState": "Enabled",
+ "resourceState": "Creating",
+ "status": "ongoing",
+ "scriptFileUri": "www.myScript.com"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "Experiment1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1/Experiments/Experiment1",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "description": "this is my first experiment!",
+ "endpointA": {
+ "name": "endpoint A",
+ "endpoint": "endpointA.net"
+ },
+ "endpointB": {
+ "name": "endpoint B",
+ "endpoint": "endpointB.net"
+ },
+ "enabledState": "Enabled",
+ "resourceState": "Creating",
+ "status": "ongoing",
+ "scriptFileUri": "www.myScript.com"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "Experiment1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1/Experiments/Experiment1",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "description": "this is my first experiment!",
+ "endpointA": {
+ "name": "endpoint A",
+ "endpoint": "endpointA.net"
+ },
+ "endpointB": {
+ "name": "endpoint B",
+ "endpoint": "endpointB.net"
+ },
+ "enabledState": "Enabled",
+ "resourceState": "Creating",
+ "status": "ongoing",
+ "scriptFileUri": "www.myScript.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentCreateProfile.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentCreateProfile.json
new file mode 100644
index 000000000000..5495654d2196
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentCreateProfile.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "profileName": "Profile1",
+ "parameters": {
+ "properties": {
+ "enabledState": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1",
+ "name": "Profile1",
+ "type": "Microsoft.Network/NetworkExperimentprofiles",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "enabledState": "Enabled",
+ "resourceState": "Creating"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1",
+ "name": "Profile1",
+ "type": "Microsoft.Network/NetworkExperimentprofiles",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "enabledState": "Enabled",
+ "resourceState": "Creating"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1",
+ "name": "Profile1",
+ "type": "Microsoft.Network/NetworkExperimentprofiles",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "enabledState": "Enabled",
+ "resourceState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentDeleteExperiment.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentDeleteExperiment.json
new file mode 100644
index 000000000000..6d257ecfff7a
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentDeleteExperiment.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "profileName": "Profile1",
+ "experimentName": "Experiment1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentDeleteProfile.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentDeleteProfile.json
new file mode 100644
index 000000000000..c8e2d74f1966
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentDeleteProfile.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "profileName": "Profile1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetExperiment.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetExperiment.json
new file mode 100644
index 000000000000..f51a235267ab
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetExperiment.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "profileName": "Profile1",
+ "experimentName": "Experiment1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1/Experiments/Experiment1",
+ "name": "Experiment1",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "description": "this is my first experiment!",
+ "endpointA": {
+ "name": "endpoint A",
+ "endpoint": "endpointA.net"
+ },
+ "endpointB": {
+ "name": "endpoint B",
+ "endpoint": "endpointB.net"
+ },
+ "enabledState": "Enabled",
+ "resourceState": "Creating",
+ "status": "ongoing",
+ "scriptFileUri": "www.myScript.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetLatencyScorecard.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetLatencyScorecard.json
new file mode 100644
index 000000000000..ac1a5bfb63ec
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetLatencyScorecard.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "profileName": "Profile1",
+ "experimentName": "Experiment1",
+ "aggregationInterval": "Daily"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1/Experiments/Experiment1/LatencyScorecard",
+ "name": "DailyLatencyScorecard",
+ "properties": {
+ "description": "This scorecard is the latency scorecard, aggregated over a day",
+ "endpointA": "https://endpointA.com",
+ "endpointB": "https://endpoingB.com",
+ "startDateTimeUTC": "2019-07-21T17:32:28Z",
+ "endDateTimeUTC": "2019-09-21T17:32:28Z",
+ "country": "USA"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetPreconfiguredEndpoints.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetPreconfiguredEndpoints.json
new file mode 100644
index 000000000000..6bab201f616a
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetPreconfiguredEndpoints.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "profileName": "Profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Endpoint 1",
+ "properties": {
+ "endpoint": "endpoint1.net",
+ "description": "this is the endpoint 1 preconfigured endpoint.",
+ "endpointType": "AFD",
+ "backend": "WESTUS"
+ }
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetProfile.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetProfile.json
new file mode 100644
index 000000000000..d5801a4ad600
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetProfile.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "profileName": "Profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1",
+ "name": "Profile1",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "enabledState": "Enabled",
+ "resourceState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetTimeseries.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetTimeseries.json
new file mode 100644
index 000000000000..b1d2a57695b5
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentGetTimeseries.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "profileName": "Profile1",
+ "experimentName": "Experiment1",
+ "startDateTimeUTC": "2019-07-21T17:32:28Z",
+ "endDateTimeUTC": "2019-09-21T17:32:28Z",
+ "aggregationInterval": "Hourly",
+ "timeseriesType": "MeasurementCounts"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1/Experiments/Experiment1/Timeseries",
+ "properties": {
+ "endpoint": "https://endpointA.com",
+ "startDateTimeUTC": "2019-07-29",
+ "endDateTimeUTC": "2019-08-02",
+ "aggregationInterval": "Hourly",
+ "timeseriesType": "MeasurementCounts",
+ "country": "United States",
+ "timeseriesData": [
+ {
+ "dateTimeUTC": "2019-07-22T17:32:28Z",
+ "value": 79
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentListExperiments.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentListExperiments.json
new file mode 100644
index 000000000000..b4dacf586a42
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentListExperiments.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "profileName": "Profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Experiment1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1/Experiments",
+ "properties": {
+ "description": "this is my first experiment!",
+ "endpointA": {
+ "name": "endpoint A",
+ "endpoint": "endpointA.net"
+ },
+ "endpointB": {
+ "name": "endpoint B",
+ "endpoint": "endpointB.net"
+ },
+ "enabledState": "Enabled",
+ "resourceState": "Creating",
+ "status": "ongoing",
+ "scriptFileUri": "www.myScript.com"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentListProfiles.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentListProfiles.json
new file mode 100644
index 000000000000..f2768497fed4
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentListProfiles.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/",
+ "name": "Profile1",
+ "type": "Microsoft.Network/NetworkExperimentprofiles",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "enabledState": "Enabled",
+ "resourceState": "Creating"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentUpdateExperiment.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentUpdateExperiment.json
new file mode 100644
index 000000000000..b9881459633f
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentUpdateExperiment.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "profileName": "Profile1",
+ "experimentName": "Experiment1",
+ "parameters": {
+ "properties": {
+ "description": "string",
+ "enabledState": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1/Experiments/Experiment1",
+ "name": "Experiment1",
+ "type": "Microsoft.Network/NetworkExperimentprofiles",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "description": "this is my first experiment!",
+ "endpointA": {
+ "name": "endpoint A",
+ "endpoint": "endpointA.net"
+ },
+ "endpointB": {
+ "name": "endpoint B",
+ "endpoint": "endpointB.net"
+ },
+ "enabledState": "Enabled",
+ "resourceState": "Creating",
+ "status": "ongoing",
+ "scriptFileUri": "www.myScript.com"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1/Experiments/Experiment1",
+ "name": "Experiment1",
+ "type": "Microsoft.Network/NetworkExperimentprofiles",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "description": "this is my first experiment!",
+ "endpointA": {
+ "name": "endpoint A",
+ "endpoint": "endpointA.net"
+ },
+ "endpointB": {
+ "name": "endpoint B",
+ "endpoint": "endpointB.net"
+ },
+ "enabledState": "Enabled",
+ "resourceState": "Creating",
+ "status": "ongoing",
+ "scriptFileUri": "www.myScript.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentUpdateProfile.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentUpdateProfile.json
new file mode 100644
index 000000000000..d67997f4d385
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkExperimentUpdateProfile.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "profileName": "Profile1",
+ "parameters": {
+ "properties": {
+ "enabledState": "Enabled"
+ },
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1",
+ "name": "Profile1",
+ "type": "Microsoft.Network/NetworkExperimentprofiles",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "enabledState": "Enabled",
+ "resourceState": "Creating"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkExperimentProfiles/Profile1",
+ "name": "Profile1",
+ "type": "Microsoft.Network/NetworkExperimentprofiles",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "enabledState": "Enabled",
+ "resourceState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/network.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/network.json
new file mode 100644
index 000000000000..fae4970303db
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/network.json
@@ -0,0 +1,167 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "NetworkManagementClient",
+ "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.",
+ "version": "2018-02-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {},
+ "definitions": {
+ "ErrorDetails": {
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
+ "Error": {
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ },
+ "innerError": {
+ "type": "string"
+ }
+ }
+ },
+ "AzureAsyncOperationResult": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Status of the Azure async operation. Possible values are: 'InProgress', 'Succeeded', and 'Failed'.",
+ "enum": [
+ "InProgress",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "description": "The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status code for the successful request. If the asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure."
+ },
+ "Resource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Common resource representation.",
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID."
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version."
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/networkexperiment.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/networkexperiment.json
new file mode 100644
index 000000000000..3f1c268d8262
--- /dev/null
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/networkexperiment.json
@@ -0,0 +1,1443 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "description": "These are the Network Experiment APIs.\n",
+ "version": "2019-11-01",
+ "title": "NetworkExperiments"
+ },
+ "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"
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "NetworkExperimentProfiles",
+ "description": "The configuration of Network Experiment profiles"
+ },
+ {
+ "name": "Experiments",
+ "description": "The configuration of the Network Experiment experiments"
+ },
+ {
+ "name": "PreconfiguredEndpoints",
+ "description": "The preconfigured endpoints and details"
+ },
+ {
+ "name": "Reports",
+ "description": "The analysis and results of the experiments"
+ }
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/NetworkExperimentProfiles": {
+ "get": {
+ "tags": [
+ "NetworkExperimentProfiles"
+ ],
+ "summary": "Gets a list of Network Experiment Profiles under a subscription",
+ "operationId": "NetworkExperimentProfiles_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/ProfileList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List NetworkExperiment Profiles in a Resource Group": {
+ "$ref": "./examples/NetworkExperimentListProfiles.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles": {
+ "get": {
+ "tags": [
+ "NetworkExperimentProfiles"
+ ],
+ "summary": "Gets a list of Network Experiment Profiles within a resource group under a subscription",
+ "operationId": "NetworkExperimentProfiles_ListByResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/ProfileList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List NetworkExperiment Profiles in a Resource Group": {
+ "$ref": "./examples/NetworkExperimentListProfiles.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}": {
+ "get": {
+ "tags": [
+ "NetworkExperimentProfiles"
+ ],
+ "summary": "Gets an NetworkExperiment Profile by ProfileName",
+ "operationId": "NetworkExperimentProfiles_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets an NetworkExperiment Profile by Profile Id": {
+ "$ref": "./examples/NetworkExperimentGetProfile.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NetworkExperimentProfiles"
+ ],
+ "summary": "Creates an NetworkExperiment Profile",
+ "operationId": "NetworkExperimentProfiles_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "parameters",
+ "description": "An Network Experiment Profile",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new protection policy has been created.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates an NetworkExperiment Profile in a Resource Group": {
+ "$ref": "./examples/NetworkExperimentCreateProfile.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "NetworkExperimentProfiles"
+ ],
+ "description": "Updates an NetworkExperimentProfiles",
+ "summary": "Updates an NetworkExperimentProfiles by NetworkExperimentProfile name",
+ "operationId": "NetworkExperimentProfiles_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "parameters",
+ "description": "The Profile Update Model",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProfileUpdateModel"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. successful operation",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates an Experiment": {
+ "$ref": "./examples/NetworkExperimentUpdateProfile.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NetworkExperimentProfiles"
+ ],
+ "summary": "Deletes an NetworkExperiment Profile by ProfileName",
+ "operationId": "NetworkExperimentProfiles_Delete",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the profile was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Deletes an NetworkExperiment Profile by ProfileName": {
+ "$ref": "./examples/NetworkExperimentDeleteProfile.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/PreconfiguredEndpoints": {
+ "get": {
+ "tags": [
+ "PreconfiguredEndpoints"
+ ],
+ "summary": "Gets a list of Preconfigured Endpoints",
+ "operationId": "PreconfiguredEndpoints_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/PreconfiguredEndpointList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a list of Preconfigured Endpoints": {
+ "$ref": "./examples/NetworkExperimentGetPreconfiguredEndpoints.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments": {
+ "get": {
+ "tags": [
+ "Experiments"
+ ],
+ "summary": "Gets a list of Experiments",
+ "operationId": "Experiments_ListByProfile",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/ExperimentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets a list of Experiments": {
+ "$ref": "./examples/NetworkExperimentListExperiments.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}": {
+ "get": {
+ "tags": [
+ "Experiments"
+ ],
+ "summary": "Gets an Experiment by ExperimentName",
+ "operationId": "Experiments_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExperimentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/Experiment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets an Experiment by ExperimentName": {
+ "$ref": "./examples/NetworkExperimentGetExperiment.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Experiments"
+ ],
+ "summary": "Creates or updates an Experiment",
+ "operationId": "Experiments_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExperimentNameParameter"
+ },
+ {
+ "description": "The Experiment resource",
+ "in": "body",
+ "name": "parameters",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Experiment"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Experiment"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new experiment has been created.",
+ "schema": {
+ "$ref": "#/definitions/Experiment"
+ }
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Experiment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates an Experiment": {
+ "$ref": "./examples/NetworkExperimentCreateExperiment.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Experiments"
+ ],
+ "description": "Updates an Experiment",
+ "summary": "Updates an Experiment by Experiment id",
+ "operationId": "Experiments_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExperimentNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "parameters",
+ "description": "The Experiment Update Model",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExperimentUpdateModel"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. successful operation",
+ "schema": {
+ "$ref": "#/definitions/Experiment"
+ }
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Experiment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates an Experiment": {
+ "$ref": "./examples/NetworkExperimentUpdateExperiment.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Experiments"
+ ],
+ "summary": "Deletes an Experiment",
+ "operationId": "Experiments_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExperimentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the policy was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes an Experiment": {
+ "$ref": "./examples/NetworkExperimentDeleteExperiment.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/LatencyScorecard": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "summary": "Gets a Latency Scorecard for a given Experiment",
+ "operationId": "Reports_GetLatencyScorecards",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExperimentNameParameter"
+ },
+ {
+ "in": "query",
+ "name": "endDateTimeUTC",
+ "type": "string",
+ "description": "The end DateTime of the Latency Scorecard in UTC",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "description": "The country associated with the Latency Scorecard. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "aggregationInterval",
+ "type": "string",
+ "description": "The aggregation interval of the Latency Scorecard",
+ "enum": [
+ "Daily",
+ "Weekly",
+ "Monthly"
+ ],
+ "x-ms-enum": {
+ "name": "latencyScorecardAggregationInterval",
+ "modelAsString": true
+ },
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/LatencyScorecard"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a Latency Scorecard for a given Experiment": {
+ "$ref": "./examples/NetworkExperimentGetLatencyScorecard.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/Timeseries": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "summary": "Gets a Timeseries for a given Experiment",
+ "operationId": "Reports_GetTimeseries",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExperimentNameParameter"
+ },
+ {
+ "in": "query",
+ "name": "startDateTimeUTC",
+ "type": "string",
+ "format": "date-time",
+ "description": "The start DateTime of the Timeseries in UTC",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "endDateTimeUTC",
+ "type": "string",
+ "format": "date-time",
+ "description": "The end DateTime of the Timeseries in UTC",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "aggregationInterval",
+ "type": "string",
+ "description": "The aggregation interval of the Timeseries",
+ "enum": [
+ "Hourly",
+ "Daily"
+ ],
+ "x-ms-enum": {
+ "name": "timeseriesAggregationInterval",
+ "modelAsString": true
+ },
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "timeseriesType",
+ "type": "string",
+ "description": "The type of Timeseries",
+ "enum": [
+ "MeasurementCounts",
+ "LatencyP50",
+ "LatencyP75",
+ "LatencyP95"
+ ],
+ "x-ms-enum": {
+ "name": "timeseriesType",
+ "modelAsString": true
+ },
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "endpoint",
+ "type": "string",
+ "description": "The specific endpoint",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "description": "The country associated with the Timeseries. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/Timeseries"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a Timeseries for a given Experiment": {
+ "$ref": "./examples/NetworkExperimentGetTimeseries.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ProfileProperties": {
+ "description": "Defines the properties of an experiment",
+ "type": "object",
+ "properties": {
+ "resourceState": {
+ "description": "Resource status.",
+ "$ref": "#/definitions/NetworkExperimentResourceState"
+ },
+ "enabledState": {
+ "type": "string",
+ "description": "The state of the Experiment",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "state",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ProfileList": {
+ "description": "Defines a list of Profiles. It contains a list of Profile objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Profile"
+ },
+ "description": "List of Profiles within a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of Profile objects if there are any."
+ }
+ }
+ },
+ "Profile": {
+ "description": "Defines an Network Experiment Profile and lists of Experiments",
+ "properties": {
+ "name": {
+ "description": "The name of the Profile",
+ "type": "string"
+ },
+ "properties": {
+ "description": "The properties of a Profile",
+ "$ref": "#/definitions/ProfileProperties",
+ "x-ms-client-flatten": true
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "Endpoint": {
+ "description": "Defines the endpoint properties",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the endpoint",
+ "type": "string"
+ },
+ "endpoint": {
+ "description": "The endpoint URL",
+ "type": "string"
+ }
+ }
+ },
+ "ProfileUpdateProperties": {
+ "description": "Defines the properties of an experiment",
+ "type": "object",
+ "properties": {
+ "enabledState": {
+ "type": "string",
+ "description": "The enabled state of the Profile",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "state",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ProfileUpdateModel": {
+ "description": "Defines modifiable attributes of a Profile",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "The properties of a Profile",
+ "$ref": "#/definitions/ProfileUpdateProperties",
+ "x-ms-client-flatten": true
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ }
+ },
+ "ExperimentUpdateProperties": {
+ "description": "Defines the properties of an experiment",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the intent or details of the Experiment",
+ "type": "string"
+ },
+ "enabledState": {
+ "type": "string",
+ "description": "The state of the Experiment",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "state",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ExperimentUpdateModel": {
+ "description": "Defines modifiable attributes of an Experiment",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ },
+ "properties": {
+ "description": "The properties of a Profile",
+ "$ref": "#/definitions/ExperimentUpdateProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ExperimentProperties": {
+ "description": "Defines the properties of an experiment",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the details or intents of the Experiment",
+ "type": "string"
+ },
+ "endpointA": {
+ "description": "The endpoint A of an experiment",
+ "$ref": "#/definitions/Endpoint"
+ },
+ "endpointB": {
+ "description": "The endpoint B of an experiment",
+ "$ref": "#/definitions/Endpoint"
+ },
+ "enabledState": {
+ "type": "string",
+ "description": "The state of the Experiment",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "state",
+ "modelAsString": true
+ }
+ },
+ "resourceState": {
+ "description": "Resource status.",
+ "$ref": "#/definitions/NetworkExperimentResourceState"
+ },
+ "status": {
+ "description": "The description of Experiment status from the server side",
+ "type": "string",
+ "readOnly": true
+ },
+ "scriptFileUri": {
+ "description": "The uri to the Script used in the Experiment",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ExperimentList": {
+ "description": "Defines a list of Experiments. It contains a list of Experiment objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Experiment"
+ },
+ "description": "List of Experiments within a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of Experiment objects if there are any."
+ }
+ }
+ },
+ "Experiment": {
+ "description": "Defines the properties of an Experiment",
+ "properties": {
+ "name": {
+ "description": "The name of the Experiment",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "The properties of an Experiment",
+ "$ref": "#/definitions/ExperimentProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "LatencyScorecard": {
+ "description": "Defines the LatencyScorecard",
+ "properties": {
+ "properties": {
+ "description": "The properties of a latency scorecard",
+ "$ref": "#/definitions/LatencyScorecardProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "NetworkExperimentResourceState": {
+ "description": "Defines the server side resource status",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Enabling",
+ "Enabled",
+ "Disabling",
+ "Disabled",
+ "Deleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkExperimentResourceState",
+ "modelAsString": true
+ }
+ },
+ "LatencyScorecardProperties": {
+ "description": "Defines a the properties of a Latency Scorecard",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The unique identifier of the Latency Scorecard",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the Latency Scorecard",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The description of the Latency Scorecard",
+ "type": "string",
+ "readOnly": true
+ },
+ "endpointA": {
+ "description": "The A endpoint in the scorecard",
+ "type": "string",
+ "readOnly": true
+ },
+ "endpointB": {
+ "description": "The B endpoint in the scorecard",
+ "type": "string",
+ "readOnly": true
+ },
+ "startDateTimeUTC": {
+ "description": "The start time of the Latency Scorecard in UTC",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "endDateTimeUTC": {
+ "description": "The end time of the Latency Scorecard in UTC",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "country": {
+ "description": "The country associated with the Latency Scorecard. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html",
+ "type": "string",
+ "readOnly": true
+ },
+ "latencyMetrics": {
+ "description": "The latency metrics of the Latency Scorecard",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LatencyMetric"
+ }
+ }
+ }
+ },
+ "LatencyMetric": {
+ "description": "Defines the properties of a latency metric used in the latency scorecard",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the Latency Metric",
+ "type": "string",
+ "readOnly": true
+ },
+ "endDateTimeUTC": {
+ "description": "The end time of the Latency Scorecard in UTC",
+ "type": "string",
+ "readOnly": true
+ },
+ "aValue": {
+ "description": "The metric value of the A endpoint",
+ "type": "number",
+ "readOnly": true
+ },
+ "bValue": {
+ "description": "The metric value of the B endpoint",
+ "type": "number",
+ "readOnly": true
+ },
+ "delta": {
+ "description": "The difference in value between endpoint A and B",
+ "type": "number",
+ "readOnly": true
+ },
+ "deltaPercent": {
+ "description": "The percent difference between endpoint A and B",
+ "type": "number",
+ "readOnly": true
+ },
+ "aCLower95CI": {
+ "description": "The lower end of the 95% confidence interval for endpoint A",
+ "type": "number",
+ "readOnly": true
+ },
+ "aHUpper95CI": {
+ "description": "The upper end of the 95% confidence interval for endpoint A",
+ "type": "number",
+ "readOnly": true
+ },
+ "bCLower95CI": {
+ "description": "The lower end of the 95% confidence interval for endpoint B",
+ "type": "number",
+ "readOnly": true
+ },
+ "bUpper95CI": {
+ "description": "The upper end of the 95% confidence interval for endpoint B",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "Timeseries": {
+ "description": "Defines the Timeseries",
+ "properties": {
+ "properties": {
+ "description": "The properties of a Timeseries",
+ "$ref": "#/definitions/TimeseriesProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "TimeseriesProperties": {
+ "description": "Defines the properties of a timeseries",
+ "type": "object",
+ "properties": {
+ "endpoint": {
+ "type": "string",
+ "description": "The endpoint associated with the Timeseries data point"
+ },
+ "startDateTimeUTC": {
+ "type": "string",
+ "description": "The start DateTime of the Timeseries in UTC"
+ },
+ "endDateTimeUTC": {
+ "type": "string",
+ "description": "The end DateTime of the Timeseries in UTC"
+ },
+ "aggregationInterval": {
+ "type": "string",
+ "description": "The aggregation interval of the Timeseries",
+ "enum": [
+ "Hourly",
+ "Daily"
+ ],
+ "x-ms-enum": {
+ "name": "aggregationInterval",
+ "modelAsString": true
+ }
+ },
+ "timeseriesType": {
+ "type": "string",
+ "description": "The type of Timeseries",
+ "enum": [
+ "MeasurementCounts",
+ "LatencyP50",
+ "LatencyP75",
+ "LatencyP95"
+ ],
+ "x-ms-enum": {
+ "name": "timeseriesType",
+ "modelAsString": true
+ }
+ },
+ "country": {
+ "type": "string",
+ "description": "The country associated with the Timeseries. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html"
+ },
+ "timeseriesData": {
+ "description": "The set of data points for the timeseries",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeseriesDataPoint"
+ }
+ }
+ }
+ },
+ "TimeseriesDataPoint": {
+ "description": "Defines a timeseries datapoint used in a timeseries",
+ "type": "object",
+ "properties": {
+ "dateTimeUTC": {
+ "description": "The DateTime of the Timeseries data point in UTC",
+ "type": "string"
+ },
+ "value": {
+ "description": "The Value of the Timeseries data point",
+ "type": "number"
+ }
+ }
+ },
+ "PreconfiguredEndpointList": {
+ "description": "Defines a list of preconfigured endpoints.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PreconfiguredEndpoint"
+ },
+ "description": "List of PreconfiguredEndpoints supported by NetworkExperiment."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of PreconfiguredEndpoints if there are any."
+ }
+ }
+ },
+ "PreconfiguredEndpoint": {
+ "description": "Defines the properties of a preconfigured endpoint",
+ "properties": {
+ "name": {
+ "description": "The name of the endpoint",
+ "type": "string"
+ },
+ "properties": {
+ "description": "The properties of a preconfiguredEndpoint",
+ "$ref": "#/definitions/PreconfiguredEndpointProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "PreconfiguredEndpointProperties": {
+ "description": "Defines the properties of a preconfigured endpoint",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the endpoint",
+ "type": "string"
+ },
+ "endpoint": {
+ "description": "The endpoint that is preconfigured",
+ "type": "string"
+ },
+ "endpointType": {
+ "description": "The type of endpoint",
+ "type": "string",
+ "enum": [
+ "AFD",
+ "AzureRegion",
+ "CDN",
+ "ATM"
+ ],
+ "x-ms-enum": {
+ "name": "endpointType",
+ "modelAsString": true
+ }
+ },
+ "backend": {
+ "description": "The preconfigured endpoint backend",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates Front Door service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method",
+ "description": "Name of the Resource group within the Azure subscription."
+ },
+ "ProfileNameParameter": {
+ "name": "profileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$",
+ "x-ms-parameter-location": "method",
+ "description": "The Profile identifier associated with the Tenant and Partner"
+ },
+ "ExperimentNameParameter": {
+ "name": "experimentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$",
+ "x-ms-parameter-location": "method",
+ "description": "The Experiment identifier associated with the Experiment"
+ }
+ }
+}
diff --git a/specification/frontdoor/resource-manager/readme.cli.md b/specification/frontdoor/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..a0c957b466f6
--- /dev/null
+++ b/specification/frontdoor/resource-manager/readme.cli.md
@@ -0,0 +1,22 @@
+## CLI
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+cli:
+ cli-name: networkexperiment
+ namespace: azure.mgmt.frontdoor
+ package-name: azure-mgmt-frontdoor
+ debug: false
+ cmd-override:
+ "^.*frontdoor.*$": "-"
+ "^.*[/]networkexperimentprofiles([/][^/]*)?$": "networkexperiment profiles"
+ "^.*[/]networkexperimentprofiles[/].*[/]preconfiguredendpoints[/].*$": "networkexperiment profile preconfiguredendpoint"
+ "^.*[/]networkexperimentprofiles[/].*[/]experiments[/]([/][^/]*)?$": "networkexperiment profile experiment"
+ "^.*[/]networkexperimentprofiles[/].*[/]experiments[/].*[/]latencyscorecard$": "networkexperiment profile experiment latencyscorecard"
+ "^.*[/]networkexperimentprofiles[/].*[/]experiments[/].*[/]timeseries$": "networkexperiment profile experiment timeseries"
+ adjustments:
+ "/sku": "Sku*/"
+ test-setup:
+ - name: Create or Update a service with all parameters
+```
diff --git a/specification/frontdoor/resource-manager/readme.go.md b/specification/frontdoor/resource-manager/readme.go.md
index 920ec28581f1..504a56169d65 100644
--- a/specification/frontdoor/resource-manager/readme.go.md
+++ b/specification/frontdoor/resource-manager/readme.go.md
@@ -24,7 +24,7 @@ These settings apply only when `--tag=package-2019-05 --go` is specified on the
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-2019-05' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-05-01/$(namespace)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-05-01/$(namespace)
```
### Tag: package-2019-04 and go
@@ -33,7 +33,7 @@ These settings apply only when `--tag=package-2019-04 --go` is specified on the
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-2019-04' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-04-01/$(namespace)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-04-01/$(namespace)
```
### Tag: package-2018-08-preview and go
diff --git a/specification/frontdoor/resource-manager/readme.md b/specification/frontdoor/resource-manager/readme.md
index cdce964779b7..6c153cef5bf3 100644
--- a/specification/frontdoor/resource-manager/readme.md
+++ b/specification/frontdoor/resource-manager/readme.md
@@ -28,7 +28,40 @@ These are the global settings for the FrontDoor API.
title: FrontDoorManagementClient
description: FrontDoor Client
openapi-type: arm
-tag: package-2019-05
+tag: package-2019-11
+```
+
+### Tag: package-2019-11
+
+These settings apply only when `--tag=package-2019-11` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-11'
+input-file:
+- Microsoft.Network/stable/2019-11-01/network.json
+- Microsoft.Network/stable/2019-11-01/networkexperiment.json
+- Microsoft.Network/stable/2019-05-01/frontdoor.json
+- Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json
+directive:
+ - where:
+ - $.paths
+ suppress:
+ - OperationsAPIImplementation
+```
+
+### Tag: package-2019-10
+
+These settings apply only when `--tag=package-2019-10` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-10'
+input-file:
+- Microsoft.Network/stable/2019-05-01/frontdoor.json
+- Microsoft.Network/stable/2019-05-01/network.json
+- Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json
+directive:
+ - where:
+ - $.paths
+ suppress:
+ - OperationsAPIImplementation
```
### Tag: package-2019-05
@@ -133,6 +166,10 @@ csharp:
See configuration in [readme.go.md](./readme.go.md)
+## CLI
+
+See configuration in [readme.cli.md](./readme.cli.md)
+
## Java
These settings apply only when `--java` is specified on the command line.
@@ -178,7 +215,10 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Network/stable/2019-11-01/network.json
+ - $(this-folder)/Microsoft.Network/stable/2019-11-01/networkexperiment.json
- $(this-folder)/Microsoft.Network/stable/2019-05-01/frontdoor.json
+ - $(this-folder)/Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json
- $(this-folder)/Microsoft.Network/stable/2019-05-01/network.json
- $(this-folder)/Microsoft.Network/stable/2019-03-01/webapplicationfirewall.json
- $(this-folder)/Microsoft.Network/stable/2019-04-01/frontdoor.json
diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceCreate.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceCreate.json
index 525a5eacaff5..1666fd6636b6 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceCreate.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceCreate.json
@@ -21,7 +21,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
@@ -70,7 +70,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
@@ -118,7 +118,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceGet.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceGet.json
index 34a87cee468d..4357adb437d4 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceGet.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceGet.json
@@ -29,7 +29,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceList.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceList.json
index b489bcc1779d..3c85327e70e2 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceList.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceList.json
@@ -29,7 +29,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceListByResourceGroup.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceListByResourceGroup.json
index 06396f3dc97f..05d7ba2d83e9 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceListByResourceGroup.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceListByResourceGroup.json
@@ -30,7 +30,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServicePatch.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServicePatch.json
index 54c299513b12..7e655a7d09be 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServicePatch.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServicePatch.json
@@ -38,7 +38,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceCreate.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceCreate.json
index 4645ef06e0ac..6db9627e3570 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceCreate.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceCreate.json
@@ -21,7 +21,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
@@ -70,7 +70,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
@@ -118,7 +118,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceCreateMinimum.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceCreateMinimum.json
index f7cdcacd09d6..c71986e8318a 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceCreateMinimum.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceCreateMinimum.json
@@ -37,7 +37,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": false
},
@@ -71,7 +71,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": false
},
diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceGet.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceGet.json
index 887f172b72d7..751e529c4332 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceGet.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceGet.json
@@ -29,7 +29,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceList.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceList.json
index c0bd8d213ec5..79b8d20dd559 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceList.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceList.json
@@ -29,7 +29,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceListByResourceGroup.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceListByResourceGroup.json
index 746c27cb480d..22fd6b0b2d68 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceListByResourceGroup.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServiceListByResourceGroup.json
@@ -30,7 +30,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServicePatch.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServicePatch.json
index 00117dc15baa..9462f071de1b 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServicePatch.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/examples/ServicePatch.json
@@ -38,7 +38,7 @@
"offerThroughput": 1000
},
"authenticationConfiguration": {
- "authority": "https://login.microsoftonline.com/common",
+ "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc",
"audience": "https://azurehealthcareapis.com",
"smartProxyEnabled": true
},
diff --git a/specification/healthcareapis/resource-manager/readme.cli.md b/specification/healthcareapis/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..4bbfb78b4186
--- /dev/null
+++ b/specification/healthcareapis/resource-manager/readme.cli.md
@@ -0,0 +1,19 @@
+## CLI
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+cli:
+ cli-name: healthcareapis
+ namespace: azure.mgmt.healthcareapis
+ package-name: azure-mgmt-healthcareapis
+ debug: true
+ adjustments:
+ "/sku": "Sku*/"
+ "/properties/authenticationconfiguration": "Authentication*/"
+ "/properties/corsconfiguration": "Cors*/"
+ "/properties/cosmosdbconfiguration": "CosmosDb*/"
+ "/properties/accesspolicies": "AccessPolicies*/"
+ test-setup:
+ - name: Create or Update a service with all parameters
+```
diff --git a/specification/healthcareapis/resource-manager/readme.md b/specification/healthcareapis/resource-manager/readme.md
index 3d55d0a60aec..d74b1f0b2a0a 100644
--- a/specification/healthcareapis/resource-manager/readme.md
+++ b/specification/healthcareapis/resource-manager/readme.md
@@ -84,6 +84,10 @@ csharp:
See configuration in [readme.python.md](./readme.python.md)
+## CLI
+
+See configuration in [readme.cli.md](./readme.cli.md)
+
## Go
See configuration in [readme.go.md](./readme.go.md)
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-01/examples/GetGalleryApplication.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-01/examples/GetGalleryApplication.json
deleted file mode 100644
index c024f176b44a..000000000000
--- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-01/examples/GetGalleryApplication.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-06-01",
- "Metadata": "true",
- "incarnationId": "b845c18d-b249-4c7a-a4c3-ffdd51757ccd"
- },
- "responses": {
- "200": {
- "body": "{application binary package}"
- }
- }
-}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-01/examples/ListGalleryApplications.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-01/examples/ListGalleryApplications.json
deleted file mode 100644
index ba6b9ddc0240..000000000000
--- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-01/examples/ListGalleryApplications.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-06-01",
- "Metadata": "true"
- },
- "responses": {
- "200": {
- "body": {
- "applications": [
- {
- "tags": "0",
- "enableHealthCheck": true,
- "packageFile": {
- "contentType": "zip",
- "fileName": "myapp.zip",
- "id": "/subscriptions/12345678-65F4-4A5A-839F-E7CFB49F1541/resourceGroups/rgName/providers/Microsoft.Compute/galleries/msit-certified/applications/application/versions/1.0",
- "incarnationId": "b845c18d-b249-4c7a-a4c3-ffdd51757ccd"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-01/imds.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-01/imds.json
index e92d7dc35f7a..2de00bf5c92e 100644
--- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-01/imds.json
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-01/imds.json
@@ -35,79 +35,6 @@
}
},
"paths": {
- "/applications": {
- "get": {
- "operationId": "GalleryApplications_List",
- "description": "Get list of the gallery applications.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/MetadataParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/GalleryApplications"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get list of the gallery applications": {
- "$ref": "./examples/ListGalleryApplications.json"
- }
- }
- }
- },
- "/applications/app": {
- "get": {
- "operationId": "GalleryApplication_Get",
- "description": "Get application package.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/MetadataParameter"
- },
- {
- "name": "incarnationId",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Incarnation Id of the gallery application"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ApplicationResponse"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get gallery application package": {
- "$ref": "./examples/GetGalleryApplication.json"
- }
- }
- }
- },
"/instance": {
"get": {
"operationId": "Instances_GetMetadata",
@@ -740,61 +667,6 @@
"type": "string",
"description": "This is a binary string containing the application."
},
- "GalleryApplications": {
- "type": "object",
- "description": "This is the response from the GalleryApplications_List operation.",
- "properties": {
- "applications": {
- "type": "array",
- "description": "List of gallery applications",
- "items": {
- "type": "object",
- "description": "This contains information about the gallery application.",
- "$ref": "#/definitions/GalleryApplication"
- }
- }
- }
- },
- "GalleryApplication": {
- "type": "object",
- "description": "This contains information about the gallery application.",
- "properties": {
- "tags": {
- "type": "string",
- "description": "Optional attribute to passthrough value for more generic context"
- },
- "enableHealthCheck": {
- "type": "boolean",
- "description": "It indicates if this application reports health status"
- },
- "packageFile": {
- "$ref": "#/definitions/PackageFile",
- "description": "Package properties of the gallery application"
- }
- }
- },
- "PackageFile": {
- "type": "object",
- "description": "Package properties of the gallery application.",
- "properties": {
- "id": {
- "type": "string",
- "description": "Resource id of the gallery application"
- },
- "incarnationId": {
- "type": "string",
- "description": "Unique identifier for this particular application instance"
- },
- "fileName": {
- "type": "string",
- "description": "Application package file name"
- },
- "contentType": {
- "type": "string",
- "description": "Application package type"
- }
- }
- },
"Instance": {
"type": "object",
"description": "This is the response from the Instance_GetMetadata operation.",
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/examples/GetAttestedData.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/examples/GetAttestedData.json
new file mode 100644
index 000000000000..6104b960b65b
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/examples/GetAttestedData.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-06-04",
+ "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"
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/examples/GetIdentityInfo.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/examples/GetIdentityInfo.json
new file mode 100644
index 000000000000..969b7435f972
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/examples/GetIdentityInfo.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-06-04",
+ "Metadata": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tenantId": "abd8daee-d393-4239-9377-883adda3d40f"
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/examples/GetIdentityToken.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/examples/GetIdentityToken.json
new file mode 100644
index 000000000000..1743b6d244dc
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/examples/GetIdentityToken.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-06-04",
+ "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"
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/examples/GetInstanceMetadata.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/examples/GetInstanceMetadata.json
new file mode 100644
index 000000000000..82b34732772b
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/examples/GetInstanceMetadata.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-06-04",
+ "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",
+ "resourceId": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/virtualMachines/examplevmname",
+ "sku": "Windows-Server-2012-R2-Datacenter",
+ "storageProfile": {
+ "dataDisks": [
+ {
+ "caching": "None",
+ "createOption": "Empty",
+ "diskSizeGB": "1024",
+ "image": {
+ "uri": ""
+ },
+ "lun": "0",
+ "managedDisk": {
+ "id": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/disks/exampledatadiskname",
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "exampledatadiskname",
+ "vhd": {
+ "uri": ""
+ },
+ "writeAcceleratorEnabled": "false"
+ }
+ ],
+ "imageReference": {
+ "id": "",
+ "offer": "UbuntuServer",
+ "publisher": "Canonical",
+ "sku": "16.04.0-LTS",
+ "version": "latest"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "diskSizeGB": "30",
+ "encryptionSettings": {
+ "enabled": "false"
+ },
+ "image": {
+ "uri": ""
+ },
+ "managedDisk": {
+ "id": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/disks/exampleosdiskname",
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "exampleosdiskname",
+ "osType": "Linux",
+ "vhd": {
+ "uri": ""
+ },
+ "writeAcceleratorEnabled": "false"
+ }
+ },
+ "subscriptionId": "8d10da13-8125-4ba9-a717-bf7490507b3d",
+ "tags": "baz:bash;foo:bar",
+ "tagsList": [
+ {
+ "name": "baz",
+ "value": "bash"
+ },
+ {
+ "name": "foo",
+ "value": "bar"
+ }
+ ],
+ "version": "15.05.22",
+ "vmId": "02aab8a4-74ef-476e-8182-f6d2ba4166a6",
+ "vmScaleSetName": "crpteste9vflji9",
+ "vmSize": "Standard_A3",
+ "zone": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/imds.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/imds.json
new file mode 100644
index 000000000000..4c6346a33146
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-06-04/imds.json
@@ -0,0 +1,828 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "InstanceMetadataClient",
+ "description": "The Azure Instance Metadata Client",
+ "version": "2019-06-04"
+ },
+ "host": "169.254.169.254",
+ "basePath": "/metadata",
+ "schemes": [
+ "http",
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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."
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "This is the fully qualified ID for the VM."
+ },
+ "sku": {
+ "type": "string",
+ "description": "This is the specific SKU for the VM image."
+ },
+ "storageProfile": {
+ "type": "object",
+ "description": "This contains the data about the storage disks associated with the VM.",
+ "$ref": "#/definitions/StorageProfile"
+ },
+ "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."
+ },
+ "tagsList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagsProperties"
+ },
+ "description": "This is the list of tags for your VM formatted as a JSON array for easier programmatic parsing."
+ },
+ "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."
+ }
+ }
+ },
+ "TagsProperties": {
+ "type": "object",
+ "description": "This contains the properties of the tags in a tagsList.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "This is the name of the tag. It is equivalent to the key in the key-value pair format."
+ },
+ "value": {
+ "type": "string",
+ "description": "This is the value of the tag. It is, as expected, equivalent to the value in the key-value pair format."
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "StorageProfile": {
+ "type": "object",
+ "description": "This contains the data about the storage disks associated with the VM.",
+ "properties": {
+ "imageReference": {
+ "type": "object",
+ "$ref": "#/definitions/ImageReference",
+ "description": "Image information"
+ },
+ "osDisk": {
+ "type": "object",
+ "$ref": "#/definitions/OsDisk",
+ "description": "OS disk information"
+ },
+ "dataDisks": {
+ "type": "array",
+ "description": "Data disk information",
+ "items": {
+ "type": "object",
+ "description": "This contains information about the data disk.",
+ "$ref": "#/definitions/DataDisk"
+ }
+ }
+ }
+ },
+ "ImageReference": {
+ "type": "object",
+ "description": "This contains information about the OS image.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "This is the resource ID."
+ },
+ "offer": {
+ "type": "string",
+ "description": "This is the offer of the platform or marketplace image."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "This is the image publisher."
+ },
+ "sku": {
+ "type": "string",
+ "description": "This is the image SKU."
+ },
+ "version": {
+ "type": "string",
+ "description": "This is the version of the platform or marketplace image."
+ }
+ }
+ },
+ "OsDisk": {
+ "type": "object",
+ "description": "This contains information about the OS disk used by the VM.",
+ "properties": {
+ "caching": {
+ "type": "string",
+ "description": "This is the caching requirements."
+ },
+ "createOption": {
+ "type": "string",
+ "description": "This is information about how the VM was created."
+ },
+ "diskSizeGB": {
+ "type": "string",
+ "description": "This is the size of the disk in GB."
+ },
+ "encryptionSettings": {
+ "type": "object",
+ "description": "This is the encryption settings for the disk.",
+ "$ref": "#/definitions/EncryptionSettings"
+ },
+ "image": {
+ "type": "object",
+ "description": "This is the source user image virtual hard disk.",
+ "$ref": "#/definitions/DiskImage"
+ },
+ "managedDisk": {
+ "type": "object",
+ "description": "This is managed disk parameters.",
+ "$ref": "#/definitions/ManagedDisk"
+ },
+ "name": {
+ "type": "string",
+ "description": "This is the disk name."
+ },
+ "osType": {
+ "type": "string",
+ "description": "This is the type of OS included in the disk."
+ },
+ "vhd": {
+ "type": "object",
+ "description": "This is the virtual hard disk.",
+ "$ref": "#/definitions/VirtualHardDisk"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "string",
+ "description": "This specifies whether or not writeAccelerator is enabled on the disk."
+ }
+ }
+ },
+ "DataDisk": {
+ "type": "object",
+ "description": "This contains information about the data disk.",
+ "properties": {
+ "caching": {
+ "type": "string",
+ "description": "This is the caching requirements."
+ },
+ "createOption": {
+ "type": "string",
+ "description": "This is information about how the VM was created."
+ },
+ "diskSizeGB": {
+ "type": "string",
+ "description": "This is the size of the disk in GB."
+ },
+ "image": {
+ "type": "object",
+ "description": "This is the source user image virtual hard disk.",
+ "$ref": "#/definitions/DiskImage"
+ },
+ "lun": {
+ "type": "string",
+ "description": "This is the logical unit number of the disk."
+ },
+ "managedDisk": {
+ "type": "object",
+ "description": "This is managed disk parameters.",
+ "$ref": "#/definitions/ManagedDisk"
+ },
+ "name": {
+ "type": "string",
+ "description": "This is the disk name."
+ },
+ "vhd": {
+ "type": "object",
+ "description": "This is the virtual hard disk.",
+ "$ref": "#/definitions/VirtualHardDisk"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "string",
+ "description": "This specifies whether or not writeAccelerator is enabled on the disk."
+ }
+ }
+ },
+ "EncryptionSettings": {
+ "type": "object",
+ "description": "This is the encryption settings for the disk.",
+ "properties": {
+ "enabled": {
+ "type": "string",
+ "description": "This specifies whether or not disk encryption is enabled on the VM."
+ }
+ }
+ },
+ "DiskImage": {
+ "type": "object",
+ "description": "This is the source user image virtual hard disk.",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "This is the uri of the virtual hard disk."
+ }
+ }
+ },
+ "ManagedDisk": {
+ "type": "object",
+ "description": "This is managed disk parameters.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "This is the resource ID."
+ },
+ "storageAccountType": {
+ "type": "string",
+ "description": "This is the storage account type for the managed disk."
+ }
+ }
+ },
+ "VirtualHardDisk": {
+ "type": "object",
+ "description": "This is the virtual hard disk.",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "This is the uri of the virtual hard disk."
+ }
+ }
+ },
+ "ApplicationResponse": {
+ "type": "string",
+ "description": "This is a binary string containing the application."
+ },
+ "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 (in seconds)."
+ },
+ "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"
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/examples/GetGalleryApplication.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/examples/GetGalleryApplication.json
deleted file mode 100644
index a998ac8becce..000000000000
--- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/examples/GetGalleryApplication.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-08-01",
- "Metadata": "true",
- "incarnationId": "b845c18d-b249-4c7a-a4c3-ffdd51757ccd"
- },
- "responses": {
- "200": {
- "body": "{application binary package}"
- }
- }
-}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/examples/GetInstanceMetadata.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/examples/GetInstanceMetadata.json
index f28eb0df5cb4..3ecab30b6b5e 100644
--- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/examples/GetInstanceMetadata.json
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/examples/GetInstanceMetadata.json
@@ -89,6 +89,16 @@
},
"subscriptionId": "8d10da13-8125-4ba9-a717-bf7490507b3d",
"tags": "baz:bash;foo:bar",
+ "tagsList": [
+ {
+ "name": "baz",
+ "value": "bash"
+ },
+ {
+ "name": "foo",
+ "value": "bar"
+ }
+ ],
"version": "15.05.22",
"vmId": "02aab8a4-74ef-476e-8182-f6d2ba4166a6",
"vmScaleSetName": "crpteste9vflji9",
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/examples/ListGalleryApplications.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/examples/ListGalleryApplications.json
deleted file mode 100644
index f288b6c1e3a8..000000000000
--- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/examples/ListGalleryApplications.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-08-01",
- "Metadata": "true"
- },
- "responses": {
- "200": {
- "body": {
- "applications": [
- {
- "tags": "0",
- "enableHealthCheck": true,
- "packageFile": {
- "contentType": "zip",
- "fileName": "myapp.zip",
- "id": "/subscriptions/12345678-65F4-4A5A-839F-E7CFB49F1541/resourceGroups/rgName/providers/Microsoft.Compute/galleries/msit-certified/applications/application/versions/1.0",
- "incarnationId": "b845c18d-b249-4c7a-a4c3-ffdd51757ccd"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/imds.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/imds.json
index 38725e99bda6..8c7d2c869619 100644
--- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/imds.json
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-01/imds.json
@@ -18,79 +18,6 @@
"application/json"
],
"paths": {
- "/applications": {
- "get": {
- "operationId": "GalleryApplications_List",
- "description": "Get list of the gallery applications.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/MetadataParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/GalleryApplications"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get list of the gallery applications": {
- "$ref": "./examples/ListGalleryApplications.json"
- }
- }
- }
- },
- "/applications/app": {
- "get": {
- "operationId": "GalleryApplication_Get",
- "description": "Get application package.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/MetadataParameter"
- },
- {
- "name": "incarnationId",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Incarnation Id of the gallery application"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ApplicationResponse"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get gallery application package": {
- "$ref": "./examples/GetGalleryApplication.json"
- }
- }
- }
- },
"/instance": {
"get": {
"operationId": "Instances_GetMetadata",
@@ -373,6 +300,13 @@
"type": "string",
"description": "This is the list of tags for your VM."
},
+ "tagsList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagsProperties"
+ },
+ "description": "This is the list of tags for your VM formatted as a JSON array for easier programmatic parsing."
+ },
"version": {
"type": "string",
"description": "This is the version of the VM image."
@@ -491,6 +425,20 @@
}
}
},
+ "TagsProperties": {
+ "type": "object",
+ "description": "This contains the properties of the tags in a tagsList.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "This is the name of the tag. It is equivalent to the key in the key-value pair format."
+ },
+ "value": {
+ "type": "string",
+ "description": "This is the value of the tag. It is, as expected, equivalent to the value in the key-value pair format."
+ }
+ }
+ },
"Ipv4Properties": {
"type": "object",
"description": "This contains the IPv4 properties.",
@@ -586,7 +534,7 @@
"properties": {
"caching": {
"type": "string",
- "description": "This is the the caching requirements."
+ "description": "This is the caching requirements."
},
"createOption": {
"type": "string",
@@ -641,7 +589,7 @@
"properties": {
"caching": {
"type": "string",
- "description": "This is the the caching requirements."
+ "description": "This is the caching requirements."
},
"createOption": {
"type": "string",
@@ -738,61 +686,6 @@
"type": "string",
"description": "This is a binary string containing the application."
},
- "GalleryApplications": {
- "type": "object",
- "description": "This is the response from the GalleryApplications_List operation.",
- "properties": {
- "applications": {
- "type": "array",
- "description": "List of gallery applications",
- "items": {
- "type": "object",
- "description": "This contains information about the gallery application.",
- "$ref": "#/definitions/GalleryApplication"
- }
- }
- }
- },
- "GalleryApplication": {
- "type": "object",
- "description": "This contains information about the gallery application.",
- "properties": {
- "tags": {
- "type": "string",
- "description": "Optional attribute to passthrough value for more generic context"
- },
- "enableHealthCheck": {
- "type": "boolean",
- "description": "It indicates if this application reports health status"
- },
- "packageFile": {
- "$ref": "#/definitions/PackageFile",
- "description": "Package properties of the gallery application"
- }
- }
- },
- "PackageFile": {
- "type": "object",
- "description": "Package properties of the gallery application.",
- "properties": {
- "id": {
- "type": "string",
- "description": "Resource id of the gallery application"
- },
- "incarnationId": {
- "type": "string",
- "description": "Unique identifier for this particular application instance"
- },
- "fileName": {
- "type": "string",
- "description": "Application package file name"
- },
- "contentType": {
- "type": "string",
- "description": "Application package type"
- }
- }
- },
"Instance": {
"type": "object",
"description": "This is the response from the Instance_GetMetadata operation.",
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-15/examples/GetGalleryApplication.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-15/examples/GetGalleryApplication.json
deleted file mode 100644
index 59bd92b36f0f..000000000000
--- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-15/examples/GetGalleryApplication.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-08-15",
- "Metadata": "true",
- "incarnationId": "b845c18d-b249-4c7a-a4c3-ffdd51757ccd"
- },
- "responses": {
- "200": {
- "body": "{application binary package}"
- }
- }
-}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-15/examples/ListGalleryApplications.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-15/examples/ListGalleryApplications.json
deleted file mode 100644
index 7b12a01de0e1..000000000000
--- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-15/examples/ListGalleryApplications.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-08-15",
- "Metadata": "true"
- },
- "responses": {
- "200": {
- "body": {
- "applications": [
- {
- "tags": "0",
- "enableHealthCheck": true,
- "packageFile": {
- "contentType": "zip",
- "fileName": "myapp.zip",
- "id": "/subscriptions/12345678-65F4-4A5A-839F-E7CFB49F1541/resourceGroups/rgName/providers/Microsoft.Compute/galleries/msit-certified/applications/application/versions/1.0",
- "incarnationId": "b845c18d-b249-4c7a-a4c3-ffdd51757ccd"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-15/imds.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-15/imds.json
index 8df8b193f85d..f9b52b2c41c4 100644
--- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-15/imds.json
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2019-08-15/imds.json
@@ -24,79 +24,6 @@
}
},
"paths": {
- "/applications": {
- "get": {
- "operationId": "GalleryApplications_List",
- "description": "Get list of the gallery applications.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/MetadataParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/GalleryApplications"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get list of the gallery applications": {
- "$ref": "./examples/ListGalleryApplications.json"
- }
- }
- }
- },
- "/applications/app": {
- "get": {
- "operationId": "GalleryApplication_Get",
- "description": "Get application package.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/MetadataParameter"
- },
- {
- "name": "incarnationId",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Incarnation Id of the gallery application"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ApplicationResponse"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get gallery application package": {
- "$ref": "./examples/GetGalleryApplication.json"
- }
- }
- }
- },
"/instance": {
"get": {
"operationId": "Instances_GetMetadata",
@@ -756,61 +683,6 @@
"type": "string",
"description": "This is a binary string containing the application."
},
- "GalleryApplications": {
- "type": "object",
- "description": "This is the response from the GalleryApplications_List operation.",
- "properties": {
- "applications": {
- "type": "array",
- "description": "List of gallery applications",
- "items": {
- "type": "object",
- "description": "This contains information about the gallery application.",
- "$ref": "#/definitions/GalleryApplication"
- }
- }
- }
- },
- "GalleryApplication": {
- "type": "object",
- "description": "This contains information about the gallery application.",
- "properties": {
- "tags": {
- "type": "string",
- "description": "Optional attribute to passthrough value for more generic context"
- },
- "enableHealthCheck": {
- "type": "boolean",
- "description": "It indicates if this application reports health status"
- },
- "packageFile": {
- "$ref": "#/definitions/PackageFile",
- "description": "Package properties of the gallery application"
- }
- }
- },
- "PackageFile": {
- "type": "object",
- "description": "Package properties of the gallery application.",
- "properties": {
- "id": {
- "type": "string",
- "description": "Resource id of the gallery application"
- },
- "incarnationId": {
- "type": "string",
- "description": "Unique identifier for this particular application instance"
- },
- "fileName": {
- "type": "string",
- "description": "Application package file name"
- },
- "contentType": {
- "type": "string",
- "description": "Application package type"
- }
- }
- },
"Instance": {
"type": "object",
"description": "This is the response from the Instance_GetMetadata operation.",
diff --git a/specification/imds/data-plane/readme.md b/specification/imds/data-plane/readme.md
index 81050382a73b..0c7f9e359b50 100644
--- a/specification/imds/data-plane/readme.md
+++ b/specification/imds/data-plane/readme.md
@@ -71,6 +71,15 @@ input-file:
- Microsoft.InstanceMetadataService/stable/2019-06-01/imds.json
```
+### Tag: package-2019-06-04
+
+These settings apply only when `--tag=package-2019-06-04` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-06-04'
+input-file:
+- Microsoft.InstanceMetadataService/stable/2019-06-04/imds.json
+```
+
### Tag: package-2019-08-01
These settings apply only when `--tag=package-2019-08-01` is specified on the command line.
@@ -90,115 +99,142 @@ input-file:
```
## 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
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-02-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
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-03-11/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
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-04-30/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
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-06-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
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-08-01/imds.json
-
- - suppress: HttpsSupportedScheme
- reason: IMDS does not require HTTPS to query it
-
- - suppress: SecurityDefinitionsStructure
- reason: IMDS does not support any authentication
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-08-15/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
-```
+ ``` 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
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-02-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
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-03-11/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
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-04-30/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
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-06-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
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-06-04/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
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-08-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
+
+ - suppress: HttpsSupportedScheme
+ reason: IMDS does not require HTTPS to query it
+
+ - suppress: SecurityDefinitionsStructure
+ reason: IMDS does not support any authentication
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-08-15/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
@@ -241,6 +277,7 @@ input-file:
- $(this-folder)/Microsoft.InstanceMetadataService/stable/2019-03-11/imds.json
- $(this-folder)/Microsoft.InstanceMetadataService/stable/2019-04-30/imds.json
- $(this-folder)/Microsoft.InstanceMetadataService/stable/2019-06-01/imds.json
+ - $(this-folder)/Microsoft.InstanceMetadataService/stable/2019-06-04/imds.json
- $(this-folder)/Microsoft.InstanceMetadataService/stable/2019-08-01/imds.json
- $(this-folder)/Microsoft.InstanceMetadataService/stable/2019-08-15/imds.json
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/IotHub_ManualFailover.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/IotHub_ManualFailover.json
new file mode 100644
index 000000000000..ed474cfde17b
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/IotHub_ManualFailover.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "failoverInput": {
+ "failoverRegion": "testHub"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/checkNameAvailability.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/checkNameAvailability.json
new file mode 100644
index 000000000000..d0d499febee2
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/checkNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "operationInputs": {
+ "name": "test-request"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "Invalid",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_certificatescreateorupdate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_certificatescreateorupdate.json
new file mode 100644
index 000000000000..236099b95b9f
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_certificatescreateorupdate.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "iothub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "certificateDescription": {
+ "certificate": "############################################"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_certificatesdelete.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_certificatesdelete.json
new file mode 100644
index 000000000000..c3e2ac35584c
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_certificatesdelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceName": "myhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_certverify.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_certverify.json
new file mode 100644
index 000000000000..24dd21a36dde
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_certverify.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk=",
+ "certificateVerificationBody": {
+ "certificate": "#####################################"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": true,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpTQ="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_createOrUpdate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_createOrUpdate.json
new file mode 100644
index 000000000000..4bfe5bc0ea7e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_createOrUpdate.json
@@ -0,0 +1,226 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "iotHubDescription": {
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "ipFilterRules": [],
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ },
+ "enrichments": []
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "capacity": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ },
+ "enrichments": []
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ },
+ "enrichments": []
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_createconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_createconsumergroup.json
new file mode 100644
index 000000000000..7ee0df729600
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_createconsumergroup.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "test",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_delete.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_delete.json
new file mode 100644
index 000000000000..034c30188140
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_delete.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ },
+ "enrichments": []
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "204": {},
+ "202": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ },
+ "enrichments": []
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "404": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_deleteconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_deleteconsumergroup.json
new file mode 100644
index 000000000000..1e400b9d42e0
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_deleteconsumergroup.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_exportdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_exportdevices.json
new file mode 100644
index 000000000000..ee995769855c
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_exportdevices.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "exportDevicesParameters": {
+ "exportBlobContainerUri": "testBlob",
+ "excludeKeys": true
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_generateverificationcode.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_generateverificationcode.json
new file mode 100644
index 000000000000..614b42c8b158
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_generateverificationcode.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cert",
+ "properties": {
+ "verificationCode": "##################################",
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "##############################",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_get.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_get.json
new file mode 100644
index 000000000000..265d57157df6
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_get.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ },
+ "enrichments": []
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "deviceStreams": {
+ "streamingEndpoints": [
+ "https://streams.azure-devices-int.net:9443"
+ ]
+ },
+ "locations": [
+ {
+ "location": "West US",
+ "role": "primary"
+ },
+ {
+ "location": "East US",
+ "role": "secondary"
+ }
+ ]
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getcertificate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getcertificate.json
new file mode 100644
index 000000000000..6cd5bc2aeb1e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getcertificate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceName": "testhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getconsumergroup.json
new file mode 100644
index 000000000000..7ee0df729600
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getconsumergroup.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "test",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getjob.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getjob.json
new file mode 100644
index 000000000000..9f0a4a307044
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getjob.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "jobId": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getkey.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getkey.json
new file mode 100644
index 000000000000..8189888c56f8
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getkey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "keyName": "iothubowner"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "keyName": "iothubowner",
+ "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=",
+ "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=",
+ "rights": "RegistryWrite, ServiceConnect, DeviceConnect"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getskus.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getskus.json
new file mode 100644
index 000000000000..2b09b5c130db
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_getskus.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 200,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S3",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 10,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_importdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_importdevices.json
new file mode 100644
index 000000000000..9306e3f33850
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_importdevices.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "importDevicesParameters": {
+ "inputBlobContainerUri": "testBlob",
+ "outputBlobContainerUri": "testBlob"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listbyrg.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listbyrg.json
new file mode 100644
index 000000000000..296d1ff6fa7d
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listbyrg.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ },
+ "enrichments": []
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listbysubscription.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listbysubscription.json
new file mode 100644
index 000000000000..2255750d038d
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listbysubscription.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ },
+ "enrichments": []
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listcertificates.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listcertificates.json
new file mode 100644
index 000000000000..f957905e1f7b
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listcertificates.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "resourceName": "testhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listehgroups.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listehgroups.json
new file mode 100644
index 000000000000..9de7cdc792db
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listehgroups.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "$Default",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listjobs.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listjobs.json
new file mode 100644
index 000000000000..b403ae4af2e0
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listjobs.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listkeys.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listkeys.json
new file mode 100644
index 000000000000..d3aeba925342
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_listkeys.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "keyName": "iothubowner",
+ "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=",
+ "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=",
+ "rights": "RegistryWrite, ServiceConnect, DeviceConnect"
+ },
+ {
+ "keyName": "service",
+ "primaryKey": "DinqxWW+s814W2Pc3dLxleelksqSYGy8Jfymt8J7a4c=",
+ "secondaryKey": "5G8KgJ9Wx2T0f6HRIn25TgYcFmJnBSivawNaHssiP9Y=",
+ "rights": "ServiceConnect"
+ },
+ {
+ "keyName": "device",
+ "primaryKey": "o/9gPc0oD8LY/r2lRurgl9U/sKFcL2c/tmFLKAiz+e0=",
+ "secondaryKey": "YOeBMHnYP95vH+ykR8OeapnhS6W8raMsXOdNFwqg4lg=",
+ "rights": "DeviceConnect"
+ },
+ {
+ "keyName": "registryRead",
+ "primaryKey": "h2d4mPxy6jPCWX6mO+katV9QPNJivzt4aFq0iGVc1A8=",
+ "secondaryKey": "3TdcalZNTB7BZHl88LGsG1Z5T6+ElEODunrs1vylwGg=",
+ "rights": "RegistryRead"
+ },
+ {
+ "keyName": "registryReadWrite",
+ "primaryKey": "tyNRcaI38fXL+gQTjCmrVZGTP4YFF7uACk7pppWLWzY=",
+ "secondaryKey": "6P6DXOp0W3HO5/IotzcPS1kx7PHiOdesaND07Im5cYI=",
+ "rights": "RegistryWrite"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_operations.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_operations.json
new file mode 100644
index 000000000000..af4d1eac49e8
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_operations.json
@@ -0,0 +1,328 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Devices/register/action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Register Resource Provider",
+ "description": "Register the subscription for the IotHub resource provider and enables the creation of IotHub resources"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting",
+ "description": "Gets the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service metric definitions",
+ "description": "Gets the available metrics for the IotHub service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service log definitions",
+ "description": "Gets the available log definitions for the IotHub Service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/operations/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get All ResourceProvider Operations",
+ "description": "Get All ResourceProvider Operations"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Check If IotHub name is available",
+ "description": "Check If IotHub name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/usages/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Subscription Usages",
+ "description": "Get subscription usage details for this provider."
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub(s)",
+ "description": "Gets the IotHub resource(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create or update IotHub Resource",
+ "description": "Create or update IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete IotHub Resource",
+ "description": "Delete IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubStats/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Statistics",
+ "description": "Get IotHub Statistics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get valid IotHub Skus",
+ "description": "Get valid IotHub Skus"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get all IotHub Keys",
+ "description": "Get all IotHub Keys"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Key for the given name",
+ "description": "Get IotHub Key for the given name"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create EventHub Consumer Group",
+ "description": "Create EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get EventHub Consumer Group(s)",
+ "description": "Get EventHub Consumer Group(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete EventHub Consumer Group",
+ "description": "Delete EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/exportDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Export Devices",
+ "description": "Export Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/importDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Import Devices",
+ "description": "Import Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/jobs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get the Job(s) on IotHub",
+ "description": "Get Job(s) details submitted on given IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Quota Metrics",
+ "description": "Get Quota Metrics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test All",
+ "description": "Test a message against all existing Routes"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test Route",
+ "description": "Test a message against a provided test Route"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Endpoint Health",
+ "description": "Gets the health of all routing Endpoints for an IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting",
+ "description": "Gets the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service metric definitions",
+ "description": "Gets the available metrics for the DPS service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service log definitions",
+ "description": "Gets the available log definitions for the DPS Service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServives",
+ "operation": "Check If Provisioning Service name is available",
+ "description": "Check If Provisioning Service name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Get Provisioning Service resource",
+ "description": "Get Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Create Provisioning Service resource",
+ "description": "Create Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource",
+ "description": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource",
+ "description": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "get security related metadata",
+ "description": "get security related metadata"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_patch.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_patch.json
new file mode 100644
index 000000000000..c3d6782f9430
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_patch.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "resourceName": "myHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "location": "East US",
+ "type": "Microsoft.Devices/IotHubs",
+ "IotHubTags": {
+ "tags": {
+ "foo": "bar"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {
+ "foo": "bar"
+ },
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ },
+ "enrichments": []
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_quotametrics.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_quotametrics.json
new file mode 100644
index 000000000000..55a67bf76cac
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_quotametrics.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "TotalMessages",
+ "currentValue": 0,
+ "maxValue": 400000
+ },
+ {
+ "name": "TotalDeviceCount",
+ "currentValue": 0,
+ "maxValue": 500000
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_routingendpointhealth.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_routingendpointhealth.json
new file mode 100644
index 000000000000..2a241288bf29
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_routingendpointhealth.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "endpointId": "id1",
+ "healthStatus": "healthy"
+ },
+ {
+ "endpointId": "id2",
+ "healthStatus": "unknown"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_stats.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_stats.json
new file mode 100644
index 000000000000..1a7bcb918e7e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_stats.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-04-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "totalDeviceCount": 0,
+ "enabledDeviceCount": 0,
+ "disabledDeviceCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_testallroutes.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_testallroutes.json
new file mode 100644
index 000000000000..fe6b6a124464
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_testallroutes.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "input": {
+ "routingSource": "DeviceMessages",
+ "message": {
+ "body": "Body of message",
+ "appProperties": "App Properties",
+ "systemProperties": "System Properties"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "routes": [
+ {
+ "properties": {
+ "name": "Routeid",
+ "source": "DeviceMessages",
+ "endpointNames": [
+ "id1"
+ ],
+ "isEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_testnewroute.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_testnewroute.json
new file mode 100644
index 000000000000..175008f99242
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_testnewroute.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "input": {
+ "message": {
+ "body": "Body of message",
+ "appProperties": "App Properties",
+ "systemProperties": "System Properties"
+ },
+ "route": {
+ "name": "Routeid",
+ "source": "DeviceMessages",
+ "endpointNames": [
+ "id1"
+ ],
+ "isEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "result": "false",
+ "details": {
+ "compilationErrors": [
+ {
+ "message": "string response",
+ "severity": "error",
+ "location": {
+ "start": {
+ "line": 12,
+ "column": 12
+ },
+ "end": {
+ "line": 12,
+ "column": 24
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_usages.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_usages.json
new file mode 100644
index 000000000000..fb221d30e4cc
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/examples/iothub_usages.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages/freeHubCount",
+ "type": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages",
+ "unit": "count",
+ "currentValue": 1,
+ "limit": 1,
+ "name": {
+ "value": "FreeHubCount",
+ "localizedValue": "Free Hub Count"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json
new file mode 100644
index 000000000000..001208137980
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json
@@ -0,0 +1,3531 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-07-01-preview",
+ "title": "iotHubClient",
+ "description": "Use this API to manage the IoT hubs in your Azure subscription.",
+ "x-ms-code-generation-settings": {
+ "header": "MICROSOFT_MIT_NO_VERSION"
+ }
+ },
+ "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.Devices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/iothub_operations.json"
+ }
+ },
+ "operationId": "Operations_List",
+ "description": "Lists all of the available IoT Hub REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the non-security related metadata of an IoT hub",
+ "description": "Get the non-security related metadata of an IoT hub.",
+ "operationId": "IotHubResource_Get",
+ "x-ms-examples": {
+ "IotHubResource_Get": {
+ "$ref": "./examples/iothub_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the non-security properties of the IoT hub. Security-related properties are set to null.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Create or update the metadata of an IoT hub.",
+ "description": "Create or update the metadata of an Iot hub. The usual pattern to modify a property is to retrieve the IoT hub metadata and security metadata, and then combine them with the modified values in a new body to update the IoT hub.",
+ "operationId": "IotHubResource_CreateOrUpdate",
+ "x-ms-examples": {
+ "IotHubResource_CreateOrUpdate": {
+ "$ref": "./examples/iothub_createOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "iotHubDescription",
+ "in": "body",
+ "description": "The IoT hub metadata and security metadata.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the IoT Hub. Do not specify for creating a brand new IoT Hub. Required to update an existing IoT Hub."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "patch": {
+ "tags": [
+ "PATCH"
+ ],
+ "summary": "Update an existing IoT Hubs tags.",
+ "description": "Update an existing IoT Hub tags. to update other fields use the CreateOrUpdate method",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotHubResource_Update",
+ "x-ms-examples": {
+ "IotHubResource_Update": {
+ "$ref": "./examples/iothub_patch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of iot hub to update."
+ },
+ {
+ "name": "IotHubTags",
+ "in": "body",
+ "required": true,
+ "description": "Updated tag information to set into the iot hub instance.",
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Iot Hub was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete an IoT hub",
+ "description": "Delete an IoT hub.",
+ "operationId": "IotHubResource_Delete",
+ "x-ms-examples": {
+ "IotHubResource_Delete": {
+ "$ref": "./examples/iothub_delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Iot Hub resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the IoT Hub service status directly, or query the operation resource.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "204": {
+ "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the Iot hub metadata in the service and the status of the delete operation is set to a completed state."
+ },
+ "404": {
+ "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the Iot hub metadata in the service.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the IoT hubs in a subscription",
+ "description": "Get all the IoT hubs in a subscription.",
+ "operationId": "IotHubResource_ListBySubscription",
+ "x-ms-examples": {
+ "IotHubResource_ListBySubscription": {
+ "$ref": "./examples/iothub_listbysubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the IoT hubs in a resource group",
+ "description": "Get all the IoT hubs in a resource group.",
+ "operationId": "IotHubResource_ListByResourceGroup",
+ "x-ms-examples": {
+ "IotHubResource_ListByResourceGroup": {
+ "$ref": "./examples/iothub_listbyrg.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the statistics from an IoT hub",
+ "description": "Get the statistics from an IoT hub.",
+ "operationId": "IotHubResource_GetStats",
+ "x-ms-examples": {
+ "IotHubResource_GetStats": {
+ "$ref": "./examples/iothub_stats.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains JSON-serialized statistics from the identity registry in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/RegistryStatistics"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the list of valid SKUs for an IoT hub",
+ "description": "Get the list of valid SKUs for an IoT hub.",
+ "operationId": "IotHubResource_GetValidSkus",
+ "x-ms-examples": {
+ "IotHubResource_GetValidSkus": {
+ "$ref": "./examples/iothub_getskus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/IotHubSkuDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub",
+ "description": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub.",
+ "operationId": "IotHubResource_ListEventHubConsumerGroups",
+ "x-ms-examples": {
+ "IotHubResource_ListEventHubConsumerGroups": {
+ "$ref": "./examples/iothub_listehgroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "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"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub",
+ "description": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub.",
+ "operationId": "IotHubResource_GetEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_ListEventHubConsumerGroups": {
+ "$ref": "./examples/iothub_getconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to retrieve.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized consumer group.",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub",
+ "description": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub.",
+ "operationId": "IotHubResource_CreateEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_CreateEventHubConsumerGroup": {
+ "$ref": "./examples/iothub_createconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to add.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation.",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub",
+ "description": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub.",
+ "operationId": "IotHubResource_DeleteEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_DeleteEventHubConsumerGroup": {
+ "$ref": "./examples/iothub_deleteconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to delete.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry",
+ "description": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.",
+ "operationId": "IotHubResource_ListJobs",
+ "x-ms-examples": {
+ "IotHubResource_ListJobs": {
+ "$ref": "./examples/iothub_listjobs.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized array of all the jobs in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/JobResponseListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry",
+ "description": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.",
+ "operationId": "IotHubResource_GetJob",
+ "x-ms-examples": {
+ "IotHubResource_GetJob": {
+ "$ref": "./examples/iothub_getjob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The job identifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized description of the job in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the quota metrics for an IoT hub",
+ "description": "Get the quota metrics for an IoT hub.",
+ "operationId": "IotHubResource_GetQuotaMetrics",
+ "x-ms-examples": {
+ "IotHubResource_GetQuotaMetrics": {
+ "$ref": "./examples/iothub_quotametrics.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized array of the quota metrics for the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/IotHubQuotaMetricInfoListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "IotHubResource_GetEndpointHealth",
+ "summary": "Get the health for routing endpoints",
+ "description": "Get the health for routing endpoints.",
+ "x-ms-examples": {
+ "IotHubResource_GetEndpointHealth": {
+ "$ref": "./examples/iothub_routingendpointhealth.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "iotHubName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EndpointHealthDataListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Check if an IoT hub name is available",
+ "description": "Check if an IoT hub name is available.",
+ "operationId": "IotHubResource_CheckNameAvailability",
+ "x-ms-examples": {
+ "IotHubResource_CheckNameAvailability": {
+ "$ref": "./examples/checkNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "operationInputs",
+ "in": "body",
+ "description": "Set the name parameter in the OperationInputs structure to the name of the IoT hub to check.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OperationInputs"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the IoT hub name is available. If the name is not available, the body contains the reason.",
+ "schema": {
+ "$ref": "#/definitions/IotHubNameAvailabilityInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the number of iot hubs in the subscription",
+ "description": "Get the number of free and paid iot hubs in the subscription",
+ "operationId": "ResourceProviderCommon_GetSubscriptionQuota",
+ "x-ms-examples": {
+ "ResourceProviderCommon_GetSubscriptionQuota": {
+ "$ref": "./examples/iothub_usages.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UserSubscriptionQuotaListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHubResource_TestAllRoutes",
+ "summary": "Test all routes",
+ "description": "Test all routes configured in this Iot Hub",
+ "x-ms-examples": {
+ "IotHubResource_TestAllRoutes": {
+ "$ref": "./examples/iothub_testallroutes.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "input",
+ "description": "Input for testing all routes",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestAllRoutesInput"
+ }
+ },
+ {
+ "name": "iotHubName",
+ "description": "IotHub to be tested",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "resource group which Iot Hub belongs to",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TestAllRoutesResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHubResource_TestRoute",
+ "summary": "Test the new route",
+ "description": "Test the new route for this Iot Hub",
+ "x-ms-examples": {
+ "IotHubResource_TestRoute": {
+ "$ref": "./examples/iothub_testnewroute.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "input",
+ "description": "Route that needs to be tested",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestRouteInput"
+ }
+ },
+ {
+ "name": "iotHubName",
+ "description": "IotHub to be tested",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "resource group which Iot Hub belongs to",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TestRouteResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security",
+ "description": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.",
+ "operationId": "IotHubResource_ListKeys",
+ "x-ms-examples": {
+ "IotHubResource_ListKeys": {
+ "$ref": "./examples/iothub_listkeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the IoT hub endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security",
+ "description": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.",
+ "operationId": "IotHubResource_GetKeysForKeyName",
+ "x-ms-examples": {
+ "IotHubResource_GetKeysForKeyName": {
+ "$ref": "./examples/iothub_getkey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "keyName",
+ "in": "path",
+ "description": "The name of the shared access policy.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more IoT hub endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities",
+ "description": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.",
+ "operationId": "IotHubResource_ExportDevices",
+ "x-ms-examples": {
+ "IotHubResource_ExportDevices": {
+ "$ref": "./examples/iothub_exportdevices.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "exportDevicesParameters",
+ "in": "body",
+ "description": "The parameters that specify the export devices operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExportDevicesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities",
+ "description": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.",
+ "operationId": "IotHubResource_ImportDevices",
+ "x-ms-examples": {
+ "IotHubResource_ImportDevices": {
+ "$ref": "./examples/iothub_importdevices.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "importDevicesParameters",
+ "in": "body",
+ "description": "The parameters that specify the import devices operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImportDevicesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Get the certificate list.",
+ "description": "Returns the list of certificates.",
+ "operationId": "Certificates_ListByIotHub",
+ "x-ms-examples": {
+ "Certificates_ListByIotHub": {
+ "$ref": "./examples/iothub_listcertificates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the certificate list.",
+ "schema": {
+ "$ref": "#/definitions/CertificateListDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Get the certificate.",
+ "description": "Returns the certificate.",
+ "operationId": "Certificates_Get",
+ "x-ms-examples": {
+ "Certificates_Get": {
+ "$ref": "./examples/iothub_getcertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Upload the certificate to the IoT hub.",
+ "description": "Adds new or replaces existing certificate.",
+ "operationId": "Certificates_CreateOrUpdate",
+ "x-ms-examples": {
+ "Certificates_CreateOrUpdate": {
+ "$ref": "./examples/iothub_certificatescreateorupdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "certificateDescription",
+ "in": "body",
+ "description": "The certificate body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateBodyDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the Certificate. Do not specify for creating a brand new certificate. Required to update an existing certificate."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "If certificate didn't exist creation was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "200": {
+ "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Delete an X509 certificate.",
+ "description": "Deletes an existing X509 certificate or does nothing if it does not exist.",
+ "operationId": "Certificates_Delete",
+ "x-ms-examples": {
+ "Certificates_Delete": {
+ "$ref": "./examples/iothub_certificatesdelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Certificate has been deleted."
+ },
+ "204": {
+ "description": "Certificate does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Generate verification code for proof of possession flow.",
+ "description": "Generates verification code for proof of possession flow. The verification code will be used to generate a leaf certificate.",
+ "operationId": "Certificates_GenerateVerificationCode",
+ "x-ms-examples": {
+ "Certificates_GenerateVerificationCode": {
+ "$ref": "./examples/iothub_generateverificationcode.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateWithNonceDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Verify certificate's private key possession.",
+ "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.",
+ "operationId": "Certificates_Verify",
+ "x-ms-examples": {
+ "Certificates_Verify": {
+ "$ref": "./examples/iothub_certverify.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "certificateVerificationBody",
+ "in": "body",
+ "description": "The name of the certificate",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateVerificationDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHub_ManualFailover",
+ "summary": "Manual Failover Fail over",
+ "description": "Perform manual fail over of given hub",
+ "x-ms-examples": {
+ "IotHub_ManualFailover": {
+ "$ref": "./examples/IotHub_ManualFailover.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "name": "iotHubName",
+ "description": "IotHub to fail over",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverInput",
+ "description": "Region to failover to. Must be a azure DR pair",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FailoverInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "resource group which Iot Hub belongs to",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Long running Manual failover operation completed"
+ },
+ "202": {
+ "description": "Manual failover initiated"
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CertificateVerificationDescription": {
+ "description": "The JSON-serialized leaf certificate",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of X509 certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateListDescription": {
+ "description": "The JSON-serialized array of Certificate objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of Certificate objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ }
+ }
+ },
+ "CertificateBodyDescription": {
+ "description": "The JSON-serialized X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateDescription": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CertificateProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CertificateWithNonceDescription": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CertificatePropertiesWithNonce"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SharedAccessSignatureAuthorizationRule": {
+ "description": "The properties of an IoT hub shared access policy.",
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "The name of the shared access policy.",
+ "type": "string"
+ },
+ "primaryKey": {
+ "description": "The primary key.",
+ "type": "string"
+ },
+ "secondaryKey": {
+ "description": "The secondary key.",
+ "type": "string"
+ },
+ "rights": {
+ "description": "The permissions assigned to the shared access policy.",
+ "enum": [
+ "RegistryRead",
+ "RegistryWrite",
+ "ServiceConnect",
+ "DeviceConnect",
+ "RegistryRead, RegistryWrite",
+ "RegistryRead, ServiceConnect",
+ "RegistryRead, DeviceConnect",
+ "RegistryWrite, ServiceConnect",
+ "RegistryWrite, DeviceConnect",
+ "ServiceConnect, DeviceConnect",
+ "RegistryRead, RegistryWrite, ServiceConnect",
+ "RegistryRead, RegistryWrite, DeviceConnect",
+ "RegistryRead, ServiceConnect, DeviceConnect",
+ "RegistryWrite, ServiceConnect, DeviceConnect",
+ "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessRights",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "keyName",
+ "rights"
+ ]
+ },
+ "CertificateProperties": {
+ "description": "The description of an X509 CA Certificate.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "created": {
+ "description": "The certificate's create date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "certificate": {
+ "description": "The certificate content",
+ "type": "string"
+ }
+ }
+ },
+ "CertificatePropertiesWithNonce": {
+ "description": "The description of an X509 CA Certificate including the challenge nonce issued for the Proof-Of-Possession flow.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "created": {
+ "description": "The certificate's create date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "verificationCode": {
+ "description": "The certificate's verification code that will be used for proof of possession.",
+ "type": "string",
+ "readOnly": true
+ },
+ "certificate": {
+ "description": "The certificate content",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubProperties": {
+ "description": "The properties of an IoT hub.",
+ "type": "object",
+ "properties": {
+ "authorizationPolicies": {
+ "description": "The shared access policies you can use to secure a connection to the IoT hub.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "ipFilterRules": {
+ "description": "The IP filter rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpFilterRule"
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "description": "The hub state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostName": {
+ "description": "The name of the host.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventHubEndpoints": {
+ "description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/EventHubProperties"
+ }
+ },
+ "routing": {
+ "$ref": "#/definitions/RoutingProperties"
+ },
+ "storageEndpoints": {
+ "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/StorageEndpointProperties"
+ }
+ },
+ "messagingEndpoints": {
+ "description": "The messaging endpoint properties for the file upload notification queue.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/MessagingEndpointProperties"
+ }
+ },
+ "enableFileUploadNotifications": {
+ "description": "If True, file upload notifications are enabled.",
+ "type": "boolean"
+ },
+ "cloudToDevice": {
+ "$ref": "#/definitions/CloudToDeviceProperties"
+ },
+ "comments": {
+ "description": "IoT hub comments.",
+ "type": "string"
+ },
+ "deviceStreams": {
+ "description": "The device streams properties of iothub.",
+ "type": "object",
+ "properties": {
+ "streamingEndpoints": {
+ "description": "List of Device Streams Endpoints.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "features": {
+ "description": "The capabilities and features enabled for the IoT hub.",
+ "enum": [
+ "None",
+ "DeviceManagement"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Capabilities",
+ "modelAsString": true
+ }
+ },
+ "locations": {
+ "description": "Primary and secondary location for iot hub",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubLocationDescription"
+ }
+ }
+ }
+ },
+ "IotHubSkuInfo": {
+ "description": "Information about the SKU of the IoT hub.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the SKU.",
+ "enum": [
+ "F1",
+ "S1",
+ "S2",
+ "S3",
+ "B1",
+ "B2",
+ "B3"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubSku",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The billing tier for the IoT hub.",
+ "enum": [
+ "Free",
+ "Standard",
+ "Basic"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "IotHubSkuTier",
+ "modelAsString": false
+ }
+ },
+ "capacity": {
+ "format": "int64",
+ "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "EventHubProperties": {
+ "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub.",
+ "type": "object",
+ "properties": {
+ "retentionTimeInDays": {
+ "format": "int64",
+ "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages",
+ "type": "integer"
+ },
+ "partitionCount": {
+ "format": "int32",
+ "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.",
+ "type": "integer"
+ },
+ "partitionIds": {
+ "description": "The partition ids in the Event Hub-compatible endpoint.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "path": {
+ "description": "The Event Hub-compatible name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endpoint": {
+ "description": "The Event Hub-compatible endpoint.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageEndpointProperties": {
+ "description": "The properties of the Azure Storage endpoint for file upload.",
+ "type": "object",
+ "properties": {
+ "sasTtlAsIso8601": {
+ "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"
+ },
+ "connectionString": {
+ "description": "The connection string for the Azure Storage account to which files are uploaded.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "connectionString",
+ "containerName"
+ ]
+ },
+ "MessagingEndpointProperties": {
+ "description": "The properties of the messaging endpoints used by this IoT hub.",
+ "type": "object",
+ "properties": {
+ "lockDurationAsIso8601": {
+ "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "type": "string",
+ "format": "duration"
+ },
+ "ttlAsIso8601": {
+ "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "type": "string",
+ "format": "duration"
+ },
+ "maxDeliveryCount": {
+ "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ }
+ }
+ },
+ "CloudToDeviceProperties": {
+ "description": "The IoT hub cloud-to-device messaging properties.",
+ "type": "object",
+ "properties": {
+ "maxDeliveryCount": {
+ "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ },
+ "defaultTtlAsIso8601": {
+ "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "feedback": {
+ "$ref": "#/definitions/FeedbackProperties"
+ }
+ }
+ },
+ "IpFilterRule": {
+ "description": "The IP filter rules for the IoT hub.",
+ "type": "object",
+ "properties": {
+ "filterName": {
+ "description": "The name of the IP filter rule.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The desired action for requests captured by this rule.",
+ "enum": [
+ "Accept",
+ "Reject"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpFilterActionType",
+ "modelAsString": false
+ }
+ },
+ "ipMask": {
+ "description": "A string that contains the IP address range in CIDR notation for the rule.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "filterName",
+ "action",
+ "ipMask"
+ ]
+ },
+ "FeedbackProperties": {
+ "description": "The properties of the feedback queue for cloud-to-device messages.",
+ "type": "object",
+ "properties": {
+ "lockDurationAsIso8601": {
+ "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "ttlAsIso8601": {
+ "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "maxDeliveryCount": {
+ "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ }
+ }
+ },
+ "RoutingProperties": {
+ "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging",
+ "type": "object",
+ "properties": {
+ "endpoints": {
+ "$ref": "#/definitions/RoutingEndpoints"
+ },
+ "routes": {
+ "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteProperties"
+ }
+ },
+ "fallbackRoute": {
+ "description": "The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.",
+ "$ref": "#/definitions/FallbackRouteProperties"
+ },
+ "enrichments": {
+ "description": "The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/iotmsgenrich",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnrichmentProperties"
+ }
+ }
+ }
+ },
+ "RoutingEndpoints": {
+ "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.",
+ "type": "object",
+ "properties": {
+ "serviceBusQueues": {
+ "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties"
+ }
+ },
+ "serviceBusTopics": {
+ "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties"
+ }
+ },
+ "eventHubs": {
+ "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingEventHubProperties"
+ }
+ },
+ "storageContainers": {
+ "description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingStorageContainerProperties"
+ }
+ }
+ }
+ },
+ "RoutingServiceBusQueueEndpointProperties": {
+ "description": "The properties related to service bus queue endpoint types.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of the service bus queue endpoint.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the service bus queue endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the service bus queue endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "connectionString"
+ ]
+ },
+ "RoutingServiceBusTopicEndpointProperties": {
+ "description": "The properties related to service bus topic endpoint types.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of the service bus topic endpoint.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the service bus topic endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the service bus topic endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "connectionString"
+ ]
+ },
+ "RoutingEventHubProperties": {
+ "description": "The properties related to an event hub endpoint.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of the event hub endpoint. ",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the event hub endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the event hub endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "connectionString"
+ ]
+ },
+ "RoutingStorageContainerProperties": {
+ "description": "The properties related to a storage container endpoint.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of the storage account.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the storage account.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the storage account.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "The name of storage container in the storage account.",
+ "type": "string"
+ },
+ "fileNameFormat": {
+ "description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.",
+ "type": "string"
+ },
+ "batchFrequencyInSeconds": {
+ "description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.",
+ "format": "int32",
+ "type": "integer",
+ "maximum": 720,
+ "minimum": 60
+ },
+ "maxChunkSizeInBytes": {
+ "description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).",
+ "format": "int32",
+ "type": "integer",
+ "maximum": 524288000,
+ "minimum": 10485760
+ },
+ "encoding": {
+ "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": [
+ "name",
+ "connectionString",
+ "containerName"
+ ]
+ },
+ "RouteProperties": {
+ "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "source": {
+ "description": "The source that the routing rule is to be applied to, such as DeviceMessages.",
+ "enum": [
+ "Invalid",
+ "DeviceMessages",
+ "TwinChangeEvents",
+ "DeviceLifecycleEvents",
+ "DeviceJobLifecycleEvents",
+ "DigitalTwinChangeEvents"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "condition": {
+ "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.",
+ "minItems": 1,
+ "maxItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isEnabled": {
+ "description": "Used to specify whether a route is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "name",
+ "endpointNames",
+ "source",
+ "isEnabled"
+ ]
+ },
+ "FallbackRouteProperties": {
+ "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
+ "type": "string"
+ },
+ "source": {
+ "description": "The source to which the routing rule is to be applied to. For example, DeviceMessages",
+ "enum": [
+ "DeviceMessages"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "condition": {
+ "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed.",
+ "minItems": 1,
+ "maxItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isEnabled": {
+ "description": "Used to specify whether the fallback route is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "endpointNames",
+ "source",
+ "isEnabled"
+ ]
+ },
+ "EnrichmentProperties": {
+ "description": "The properties of an enrichment that your IoT hub applies to messages delivered to endpoints.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The key or name for the enrichment property.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value for the enrichment property.",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints for which the enrichment is applied to the message.",
+ "minItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "key",
+ "value",
+ "endpointNames"
+ ]
+ },
+ "IotHubDescription": {
+ "description": "The description of the IoT hub.",
+ "type": "object",
+ "properties": {
+ "etag": {
+ "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "IotHub properties",
+ "$ref": "#/definitions/IotHubProperties"
+ },
+ "sku": {
+ "description": "IotHub SKU info",
+ "$ref": "#/definitions/IotHubSkuInfo"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "sku"
+ ]
+ },
+ "Resource": {
+ "description": "The common properties of an Azure resource.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ]
+ },
+ "SharedAccessSignatureAuthorizationRuleListResult": {
+ "description": "The list of shared access policies with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of shared access policies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list IoT Hub operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "List of IoT Hub operations supported by the Microsoft.Devices resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "IoT Hub REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation name: {provider}/{resource}/{read | write | action | delete}"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Service provider: Microsoft Devices"
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Type: IotHubs"
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the operation"
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Description of the operation"
+ }
+ }
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "httpStatusCode": {
+ "description": "The HTTP status code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "The error details.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubQuotaMetricInfoListResult": {
+ "description": "The JSON-serialized array of IotHubQuotaMetricInfo objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of quota metrics objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubQuotaMetricInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointHealthDataListResult": {
+ "description": "The JSON-serialized array of EndpointHealthData objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "JSON-serialized array of Endpoint health data",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointHealthData"
+ }
+ },
+ "nextLink": {
+ "description": "Link to more results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointHealthData": {
+ "description": "The health data for an endpoint",
+ "type": "object",
+ "properties": {
+ "endpointId": {
+ "description": "Id of the endpoint",
+ "type": "string"
+ },
+ "healthStatus": {
+ "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",
+ "unhealthy",
+ "dead"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndpointHealthStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RegistryStatistics": {
+ "description": "Identity registry statistics.",
+ "type": "object",
+ "properties": {
+ "totalDeviceCount": {
+ "format": "int64",
+ "description": "The total count of devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "enabledDeviceCount": {
+ "format": "int64",
+ "description": "The count of enabled devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "disabledDeviceCount": {
+ "format": "int64",
+ "description": "The count of disabled devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResponseListResult": {
+ "description": "The JSON-serialized array of JobResponse objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of JobResponse objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubSkuDescription": {
+ "description": "SKU properties.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sku": {
+ "description": "The type of the resource.",
+ "$ref": "#/definitions/IotHubSkuInfo"
+ },
+ "capacity": {
+ "description": "IotHub capacity",
+ "$ref": "#/definitions/IotHubCapacity"
+ }
+ },
+ "required": [
+ "sku",
+ "capacity"
+ ]
+ },
+ "TagsResource": {
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "A container holding only the Tags for a resource, allowing the user to update the tags on an IoT Hub instance."
+ },
+ "IotHubCapacity": {
+ "description": "IoT Hub capacity information.",
+ "type": "object",
+ "properties": {
+ "minimum": {
+ "format": "int64",
+ "description": "The minimum number of units.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1,
+ "readOnly": true
+ },
+ "maximum": {
+ "format": "int64",
+ "description": "The maximum number of units.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "default": {
+ "format": "int64",
+ "description": "The default number of units.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "scaleType": {
+ "description": "The type of the scaling enabled.",
+ "enum": [
+ "Automatic",
+ "Manual",
+ "None"
+ ],
+ "readOnly": true,
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubScaleType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "EventHubConsumerGroupsListResult": {
+ "description": "The JSON-serialized array of Event Hub-compatible consumer group names with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of consumer groups objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EventHubConsumerGroupInfo": {
+ "description": "The properties of the EventHubConsumerGroupInfo object.",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "The tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "description": "The Event Hub-compatible consumer group identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Event Hub-compatible consumer group name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "the resource type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The etag.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubSkuDescriptionListResult": {
+ "description": "The JSON-serialized array of IotHubSkuDescription objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of IotHubSkuDescription.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubSkuDescription"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResponse": {
+ "description": "The properties of the Job Response object.",
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "description": "The job identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTimeUtc": {
+ "format": "date-time-rfc1123",
+ "description": "The start time of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTimeUtc": {
+ "format": "date-time-rfc1123",
+ "description": "The time the job stopped processing.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the job.",
+ "enum": [
+ "unknown",
+ "export",
+ "import",
+ "backup",
+ "readDeviceProperties",
+ "writeDeviceProperties",
+ "updateDeviceConfiguration",
+ "rebootDevice",
+ "factoryResetDevice",
+ "firmwareUpdate"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The status of the job.",
+ "enum": [
+ "unknown",
+ "enqueued",
+ "running",
+ "completed",
+ "failed",
+ "cancelled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": false
+ }
+ },
+ "failureReason": {
+ "description": "If status == failed, this string containing the reason for the failure.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statusMessage": {
+ "description": "The status message for the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "parentJobId": {
+ "description": "The job identifier of the parent job, if any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubDescriptionListResult": {
+ "description": "The JSON-serialized array of IotHubDescription objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of IotHubDescription objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubQuotaMetricInfo": {
+ "description": "Quota metrics properties.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the quota metric.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "The current value for the quota metric.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "maxValue": {
+ "format": "int64",
+ "description": "The maximum value of the quota metric.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationInputs": {
+ "description": "Input values.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the IoT hub to check.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "IotHubNameAvailabilityInfo": {
+ "description": "The properties indicating whether a given IoT hub name is available.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value which indicates whether the provided name is available.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "The reason for unavailability.",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "IotHubNameUnavailabilityReason",
+ "modelAsString": false
+ }
+ },
+ "message": {
+ "description": "The detailed reason message.",
+ "type": "string"
+ }
+ }
+ },
+ "UserSubscriptionQuotaListResult": {
+ "type": "object",
+ "description": "Json-serialized array of User subscription quota response",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserSubscriptionQuota"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserSubscriptionQuota": {
+ "description": "User subscription quota response",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "IotHub type id",
+ "type": "string"
+ },
+ "type": {
+ "description": "Response type",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Unit of IotHub type",
+ "type": "string"
+ },
+ "currentValue": {
+ "description": "Current number of IotHub type",
+ "format": "int32",
+ "type": "integer"
+ },
+ "limit": {
+ "description": "Numerical limit on IotHub type",
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "description": "IotHub type",
+ "$ref": "#/definitions/Name"
+ }
+ }
+ },
+ "Name": {
+ "description": "Name of Iot Hub type",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "IotHub type",
+ "type": "string"
+ },
+ "localizedValue": {
+ "description": "Localized value of name",
+ "type": "string"
+ }
+ }
+ },
+ "TestAllRoutesInput": {
+ "description": "Input for testing all routes",
+ "type": "object",
+ "properties": {
+ "routingSource": {
+ "description": "Routing source",
+ "enum": [
+ "Invalid",
+ "DeviceMessages",
+ "TwinChangeEvents",
+ "DeviceLifecycleEvents",
+ "DeviceJobLifecycleEvents",
+ "DigitalTwinChangeEvents"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "Routing message",
+ "$ref": "#/definitions/RoutingMessage"
+ },
+ "twin": {
+ "description": "Routing Twin Reference",
+ "$ref": "#/definitions/RoutingTwin"
+ }
+ }
+ },
+ "RoutingTwin": {
+ "description": "Twin reference input parameter. This is an optional parameter",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Twin Tags",
+ "type": "object"
+ },
+ "properties": {
+ "properties": {
+ "desired": {
+ "description": "Twin desired properties",
+ "type": "object"
+ },
+ "reported": {
+ "description": "Twin desired properties",
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "RoutingMessage": {
+ "description": "Routing message",
+ "type": "object",
+ "properties": {
+ "body": {
+ "description": "Body of routing message",
+ "type": "string"
+ },
+ "appProperties": {
+ "description": "App properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "systemProperties": {
+ "description": "System properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TestAllRoutesResult": {
+ "description": "Result of testing all routes",
+ "type": "object",
+ "properties": {
+ "routes": {
+ "description": "JSON-serialized array of matched routes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MatchedRoute"
+ }
+ }
+ }
+ },
+ "MatchedRoute": {
+ "description": "Routes that matched",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of routes that matched",
+ "$ref": "#/definitions/RouteProperties"
+ }
+ }
+ },
+ "TestRouteInput": {
+ "required": [
+ "route"
+ ],
+ "description": "Input for testing route",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Routing message",
+ "$ref": "#/definitions/RoutingMessage"
+ },
+ "route": {
+ "description": "Route properties",
+ "$ref": "#/definitions/RouteProperties"
+ },
+ "twin": {
+ "description": "Routing Twin Reference",
+ "$ref": "#/definitions/RoutingTwin"
+ }
+ }
+ },
+ "TestRouteResult": {
+ "description": "Result of testing one route",
+ "type": "object",
+ "properties": {
+ "result": {
+ "description": "Result of testing route",
+ "enum": [
+ "undefined",
+ "false",
+ "true"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TestResultStatus",
+ "modelAsString": true
+ }
+ },
+ "details": {
+ "description": "Detailed result of testing route",
+ "$ref": "#/definitions/TestRouteResultDetails"
+ }
+ }
+ },
+ "TestRouteResultDetails": {
+ "description": "Detailed result of testing a route",
+ "type": "object",
+ "properties": {
+ "compilationErrors": {
+ "description": "JSON-serialized list of route compilation errors",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteCompilationError"
+ }
+ }
+ }
+ },
+ "RouteCompilationError": {
+ "description": "Compilation error when evaluating route",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Route error message",
+ "type": "string"
+ },
+ "severity": {
+ "description": "Severity of the route error",
+ "enum": [
+ "error",
+ "warning"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RouteErrorSeverity",
+ "modelAsString": true
+ }
+ },
+ "location": {
+ "description": "Location where the route error happened",
+ "$ref": "#/definitions/RouteErrorRange"
+ }
+ }
+ },
+ "RouteErrorRange": {
+ "description": "Range of route errors",
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "Start where the route error happened",
+ "$ref": "#/definitions/RouteErrorPosition"
+ },
+ "end": {
+ "description": "End where the route error happened",
+ "$ref": "#/definitions/RouteErrorPosition"
+ }
+ }
+ },
+ "RouteErrorPosition": {
+ "description": "Position where the route error happened",
+ "type": "object",
+ "properties": {
+ "line": {
+ "description": "Line where the route error happened",
+ "format": "int32",
+ "type": "integer"
+ },
+ "column": {
+ "description": "Column where the route error happened",
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "ExportDevicesRequest": {
+ "description": "Use to provide parameters when requesting an export of all devices in the IoT hub.",
+ "type": "object",
+ "properties": {
+ "exportBlobContainerUri": {
+ "description": "The export blob container URI.",
+ "type": "string"
+ },
+ "excludeKeys": {
+ "description": "The value indicating whether keys should be excluded during export.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "exportBlobContainerUri",
+ "excludeKeys"
+ ]
+ },
+ "ImportDevicesRequest": {
+ "description": "Use to provide parameters when requesting an import of all devices in the hub.",
+ "type": "object",
+ "properties": {
+ "inputBlobContainerUri": {
+ "description": "The input blob container URI.",
+ "type": "string"
+ },
+ "outputBlobContainerUri": {
+ "description": "The output blob container URI.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "inputBlobContainerUri",
+ "outputBlobContainerUri"
+ ]
+ },
+ "FailoverInput": {
+ "description": "Use to provide failover region when requesting manual Failover for a hub.",
+ "type": "object",
+ "properties": {
+ "failoverRegion": {
+ "description": "Region the hub will be failed over to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "failoverRegion"
+ ]
+ },
+ "IotHubLocationDescription": {
+ "description": "Public representation of one of the locations where a resource is provisioned.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "Azure Geo Regions",
+ "type": "string"
+ },
+ "role": {
+ "description": "Specific Role assigned to this location",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubReplicaRoleType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription identifier.",
+ "required": true,
+ "type": "string"
+ },
+ "api-version": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The version of the API.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "The name of the resource group that contains the IoT hub.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceName": {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the IoT hub.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "certificateName": {
+ "name": "certificateName",
+ "in": "path",
+ "description": "The name of the certificate",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/IotHub_ManualFailover.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/IotHub_ManualFailover.json
new file mode 100644
index 000000000000..7b2009339d2c
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/IotHub_ManualFailover.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "failoverInput": {
+ "failoverRegion": "testHub"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/checkNameAvailability.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/checkNameAvailability.json
new file mode 100644
index 000000000000..574bd65f94ca
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/checkNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "operationInputs": {
+ "name": "test-request"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "Invalid",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_certificatescreateorupdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_certificatescreateorupdate.json
new file mode 100644
index 000000000000..cd334022d9f5
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_certificatescreateorupdate.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "iothub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "certificateDescription": {
+ "certificate": "############################################"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_certificatesdelete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_certificatesdelete.json
new file mode 100644
index 000000000000..28d1662bc72a
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_certificatesdelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceName": "myhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_certverify.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_certverify.json
new file mode 100644
index 000000000000..f51c6fa17956
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_certverify.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk=",
+ "certificateVerificationBody": {
+ "certificate": "#####################################"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": true,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpTQ="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_createOrUpdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_createOrUpdate.json
new file mode 100644
index 000000000000..6838ac269bd8
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_createOrUpdate.json
@@ -0,0 +1,223 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "iotHubDescription": {
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "ipFilterRules": [],
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "capacity": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_createconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_createconsumergroup.json
new file mode 100644
index 000000000000..839fd9b32cce
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_createconsumergroup.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "test",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_delete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_delete.json
new file mode 100644
index 000000000000..a6b82c9bc4ea
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_delete.json
@@ -0,0 +1,164 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "204": {},
+ "202": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "404": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_deleteconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_deleteconsumergroup.json
new file mode 100644
index 000000000000..e993ba4a0f55
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_deleteconsumergroup.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_exportdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_exportdevices.json
new file mode 100644
index 000000000000..bb89a1dc5f90
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_exportdevices.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "exportDevicesParameters": {
+ "exportBlobContainerUri": "testBlob",
+ "excludeKeys": true
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_generateverificationcode.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_generateverificationcode.json
new file mode 100644
index 000000000000..933cb04172e5
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_generateverificationcode.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cert",
+ "properties": {
+ "verificationCode": "##################################",
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "##############################",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_get.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_get.json
new file mode 100644
index 000000000000..2a504587dae1
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_get.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "locations": [
+ {
+ "location": "West US",
+ "role": "primary"
+ },
+ {
+ "location": "East US",
+ "role": "secondary"
+ }
+ ]
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getcertificate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getcertificate.json
new file mode 100644
index 000000000000..2ed48e615be9
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getcertificate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceName": "testhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getconsumergroup.json
new file mode 100644
index 000000000000..839fd9b32cce
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getconsumergroup.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "test",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getjob.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getjob.json
new file mode 100644
index 000000000000..979fd909d6e8
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getjob.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "jobId": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getkey.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getkey.json
new file mode 100644
index 000000000000..aa9c74398d8b
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getkey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "keyName": "iothubowner"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "keyName": "iothubowner",
+ "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=",
+ "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=",
+ "rights": "RegistryWrite, ServiceConnect, DeviceConnect"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getskus.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getskus.json
new file mode 100644
index 000000000000..bcb9d7dbe8f7
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_getskus.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 200,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S3",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 10,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_importdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_importdevices.json
new file mode 100644
index 000000000000..bf560e8546d2
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_importdevices.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "importDevicesParameters": {
+ "inputBlobContainerUri": "testBlob",
+ "outputBlobContainerUri": "testBlob"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listbyrg.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listbyrg.json
new file mode 100644
index 000000000000..c5ceffcbf48b
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listbyrg.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listbysubscription.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listbysubscription.json
new file mode 100644
index 000000000000..09f0d92d4d35
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listbysubscription.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listcertificates.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listcertificates.json
new file mode 100644
index 000000000000..10d320385e81
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listcertificates.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "resourceName": "testhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listehgroups.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listehgroups.json
new file mode 100644
index 000000000000..869ef9c80647
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listehgroups.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "$Default",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listjobs.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listjobs.json
new file mode 100644
index 000000000000..182079ce90c6
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listjobs.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listkeys.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listkeys.json
new file mode 100644
index 000000000000..fa44c739d6ed
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_listkeys.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "keyName": "iothubowner",
+ "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=",
+ "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=",
+ "rights": "RegistryWrite, ServiceConnect, DeviceConnect"
+ },
+ {
+ "keyName": "service",
+ "primaryKey": "DinqxWW+s814W2Pc3dLxleelksqSYGy8Jfymt8J7a4c=",
+ "secondaryKey": "5G8KgJ9Wx2T0f6HRIn25TgYcFmJnBSivawNaHssiP9Y=",
+ "rights": "ServiceConnect"
+ },
+ {
+ "keyName": "device",
+ "primaryKey": "o/9gPc0oD8LY/r2lRurgl9U/sKFcL2c/tmFLKAiz+e0=",
+ "secondaryKey": "YOeBMHnYP95vH+ykR8OeapnhS6W8raMsXOdNFwqg4lg=",
+ "rights": "DeviceConnect"
+ },
+ {
+ "keyName": "registryRead",
+ "primaryKey": "h2d4mPxy6jPCWX6mO+katV9QPNJivzt4aFq0iGVc1A8=",
+ "secondaryKey": "3TdcalZNTB7BZHl88LGsG1Z5T6+ElEODunrs1vylwGg=",
+ "rights": "RegistryRead"
+ },
+ {
+ "keyName": "registryReadWrite",
+ "primaryKey": "tyNRcaI38fXL+gQTjCmrVZGTP4YFF7uACk7pppWLWzY=",
+ "secondaryKey": "6P6DXOp0W3HO5/IotzcPS1kx7PHiOdesaND07Im5cYI=",
+ "rights": "RegistryWrite"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_operations.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_operations.json
new file mode 100644
index 000000000000..209f27a1757c
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_operations.json
@@ -0,0 +1,328 @@
+{
+ "parameters": {
+ "api-version": "2019-03-22"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Devices/register/action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Register Resource Provider",
+ "description": "Register the subscription for the IotHub resource provider and enables the creation of IotHub resources"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting",
+ "description": "Gets the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service metric definitions",
+ "description": "Gets the available metrics for the IotHub service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service log definitions",
+ "description": "Gets the available log definitions for the IotHub Service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/operations/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get All ResourceProvider Operations",
+ "description": "Get All ResourceProvider Operations"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Check If IotHub name is available",
+ "description": "Check If IotHub name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/usages/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Subscription Usages",
+ "description": "Get subscription usage details for this provider."
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub(s)",
+ "description": "Gets the IotHub resource(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create or update IotHub Resource",
+ "description": "Create or update IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete IotHub Resource",
+ "description": "Delete IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubStats/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Statistics",
+ "description": "Get IotHub Statistics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get valid IotHub Skus",
+ "description": "Get valid IotHub Skus"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get all IotHub Keys",
+ "description": "Get all IotHub Keys"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Key for the given name",
+ "description": "Get IotHub Key for the given name"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create EventHub Consumer Group",
+ "description": "Create EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get EventHub Consumer Group(s)",
+ "description": "Get EventHub Consumer Group(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete EventHub Consumer Group",
+ "description": "Delete EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/exportDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Export Devices",
+ "description": "Export Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/importDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Import Devices",
+ "description": "Import Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/jobs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get the Job(s) on IotHub",
+ "description": "Get Job(s) details submitted on given IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Quota Metrics",
+ "description": "Get Quota Metrics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test All",
+ "description": "Test a message against all existing Routes"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test Route",
+ "description": "Test a message against a provided test Route"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Endpoint Health",
+ "description": "Gets the health of all routing Endpoints for an IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting",
+ "description": "Gets the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service metric definitions",
+ "description": "Gets the available metrics for the DPS service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service log definitions",
+ "description": "Gets the available log definitions for the DPS Service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServives",
+ "operation": "Check If Provisioning Service name is available",
+ "description": "Check If Provisioning Service name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Get Provisioning Service resource",
+ "description": "Get Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Create Provisioning Service resource",
+ "description": "Create Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource",
+ "description": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource",
+ "description": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "get security related metadata",
+ "description": "get security related metadata"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_patch.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_patch.json
new file mode 100644
index 000000000000..d84e8512f1b6
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_patch.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "resourceName": "myHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "location": "East US",
+ "type": "Microsoft.Devices/IotHubs",
+ "IotHubTags": {
+ "tags": {
+ "foo": "bar"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {
+ "foo": "bar"
+ },
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [],
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_quotametrics.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_quotametrics.json
new file mode 100644
index 000000000000..f91580c5e1ea
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_quotametrics.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "TotalMessages",
+ "currentValue": 0,
+ "maxValue": 400000
+ },
+ {
+ "name": "TotalDeviceCount",
+ "currentValue": 0,
+ "maxValue": 500000
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_routingendpointhealth.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_routingendpointhealth.json
new file mode 100644
index 000000000000..2a9af9299d67
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_routingendpointhealth.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "endpointId": "id1",
+ "healthStatus": "healthy"
+ },
+ {
+ "endpointId": "id2",
+ "healthStatus": "unknown"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_stats.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_stats.json
new file mode 100644
index 000000000000..1a7bcb918e7e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_stats.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-04-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "totalDeviceCount": 0,
+ "enabledDeviceCount": 0,
+ "disabledDeviceCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_testallroutes.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_testallroutes.json
new file mode 100644
index 000000000000..2b35263aab0f
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_testallroutes.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "input": {
+ "routingSource": "DeviceMessages",
+ "message": {
+ "body": "Body of message",
+ "appProperties": "App Properties",
+ "systemProperties": "System Properties"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "routes": [
+ {
+ "properties": {
+ "name": "Routeid",
+ "source": "DeviceMessages",
+ "endpointNames": [
+ "id1"
+ ],
+ "isEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_testnewroute.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_testnewroute.json
new file mode 100644
index 000000000000..66dd3da11d59
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_testnewroute.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "input": {
+ "message": {
+ "body": "Body of message",
+ "appProperties": "App Properties",
+ "systemProperties": "System Properties"
+ },
+ "route": {
+ "name": "Routeid",
+ "source": "DeviceMessages",
+ "endpointNames": [
+ "id1"
+ ],
+ "isEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "result": "false",
+ "details": {
+ "compilationErrors": [
+ {
+ "message": "string response",
+ "severity": "error",
+ "location": {
+ "start": {
+ "line": 12,
+ "column": 12
+ },
+ "end": {
+ "line": 12,
+ "column": 24
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_usages.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_usages.json
new file mode 100644
index 000000000000..2cf476eda800
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/examples/iothub_usages.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-03-22",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages/freeHubCount",
+ "type": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages",
+ "unit": "count",
+ "currentValue": 1,
+ "limit": 1,
+ "name": {
+ "value": "FreeHubCount",
+ "localizedValue": "Free Hub Count"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/iothub.json
new file mode 100644
index 000000000000..191d7c9f3bca
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2019-03-22/iothub.json
@@ -0,0 +1,3482 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-03-22",
+ "title": "iotHubClient",
+ "description": "Use this API to manage the IoT hubs in your Azure subscription.",
+ "x-ms-code-generation-settings": {
+ "header": "MICROSOFT_MIT_NO_VERSION"
+ }
+ },
+ "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.Devices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/iothub_operations.json"
+ }
+ },
+ "operationId": "Operations_List",
+ "description": "Lists all of the available IoT Hub REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the non-security related metadata of an IoT hub",
+ "description": "Get the non-security related metadata of an IoT hub.",
+ "operationId": "IotHubResource_Get",
+ "x-ms-examples": {
+ "IotHubResource_Get": {
+ "$ref": "./examples/iothub_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the non-security properties of the IoT hub. Security-related properties are set to null.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Create or update the metadata of an IoT hub.",
+ "description": "Create or update the metadata of an Iot hub. The usual pattern to modify a property is to retrieve the IoT hub metadata and security metadata, and then combine them with the modified values in a new body to update the IoT hub.",
+ "operationId": "IotHubResource_CreateOrUpdate",
+ "x-ms-examples": {
+ "IotHubResource_CreateOrUpdate": {
+ "$ref": "./examples/iothub_createOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "iotHubDescription",
+ "in": "body",
+ "description": "The IoT hub metadata and security metadata.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the IoT Hub. Do not specify for creating a brand new IoT Hub. Required to update an existing IoT Hub."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "patch": {
+ "tags": [
+ "PATCH"
+ ],
+ "summary": "Update an existing IoT Hubs tags.",
+ "description": "Update an existing IoT Hub tags. to update other fields use the CreateOrUpdate method",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotHubResource_Update",
+ "x-ms-examples": {
+ "IotHubResource_Update": {
+ "$ref": "./examples/iothub_patch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of iot hub to update."
+ },
+ {
+ "name": "IotHubTags",
+ "in": "body",
+ "required": true,
+ "description": "Updated tag information to set into the iot hub instance.",
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Iot Hub was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete an IoT hub",
+ "description": "Delete an IoT hub.",
+ "operationId": "IotHubResource_Delete",
+ "x-ms-examples": {
+ "IotHubResource_Delete": {
+ "$ref": "./examples/iothub_delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Iot Hub resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the IoT Hub service status directly, or query the operation resource.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "204": {
+ "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the Iot hub metadata in the service and the status of the delete operation is set to a completed state."
+ },
+ "404": {
+ "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the Iot hub metadata in the service.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the IoT hubs in a subscription",
+ "description": "Get all the IoT hubs in a subscription.",
+ "operationId": "IotHubResource_ListBySubscription",
+ "x-ms-examples": {
+ "IotHubResource_ListBySubscription": {
+ "$ref": "./examples/iothub_listbysubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the IoT hubs in a resource group",
+ "description": "Get all the IoT hubs in a resource group.",
+ "operationId": "IotHubResource_ListByResourceGroup",
+ "x-ms-examples": {
+ "IotHubResource_ListByResourceGroup": {
+ "$ref": "./examples/iothub_listbyrg.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the statistics from an IoT hub",
+ "description": "Get the statistics from an IoT hub.",
+ "operationId": "IotHubResource_GetStats",
+ "x-ms-examples": {
+ "IotHubResource_GetStats": {
+ "$ref": "./examples/iothub_stats.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains JSON-serialized statistics from the identity registry in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/RegistryStatistics"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the list of valid SKUs for an IoT hub",
+ "description": "Get the list of valid SKUs for an IoT hub.",
+ "operationId": "IotHubResource_GetValidSkus",
+ "x-ms-examples": {
+ "IotHubResource_GetValidSkus": {
+ "$ref": "./examples/iothub_getskus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/IotHubSkuDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub",
+ "description": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub.",
+ "operationId": "IotHubResource_ListEventHubConsumerGroups",
+ "x-ms-examples": {
+ "IotHubResource_ListEventHubConsumerGroups": {
+ "$ref": "./examples/iothub_listehgroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "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"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub",
+ "description": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub.",
+ "operationId": "IotHubResource_GetEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_ListEventHubConsumerGroups": {
+ "$ref": "./examples/iothub_getconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to retrieve.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized consumer group.",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub",
+ "description": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub.",
+ "operationId": "IotHubResource_CreateEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_CreateEventHubConsumerGroup": {
+ "$ref": "./examples/iothub_createconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to add.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation.",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub",
+ "description": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub.",
+ "operationId": "IotHubResource_DeleteEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_DeleteEventHubConsumerGroup": {
+ "$ref": "./examples/iothub_deleteconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to delete.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry",
+ "description": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.",
+ "operationId": "IotHubResource_ListJobs",
+ "x-ms-examples": {
+ "IotHubResource_ListJobs": {
+ "$ref": "./examples/iothub_listjobs.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized array of all the jobs in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/JobResponseListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry",
+ "description": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.",
+ "operationId": "IotHubResource_GetJob",
+ "x-ms-examples": {
+ "IotHubResource_GetJob": {
+ "$ref": "./examples/iothub_getjob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The job identifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized description of the job in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the quota metrics for an IoT hub",
+ "description": "Get the quota metrics for an IoT hub.",
+ "operationId": "IotHubResource_GetQuotaMetrics",
+ "x-ms-examples": {
+ "IotHubResource_GetQuotaMetrics": {
+ "$ref": "./examples/iothub_quotametrics.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized array of the quota metrics for the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/IotHubQuotaMetricInfoListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "IotHubResource_GetEndpointHealth",
+ "summary": "Get the health for routing endpoints",
+ "description": "Get the health for routing endpoints.",
+ "x-ms-examples": {
+ "IotHubResource_GetEndpointHealth": {
+ "$ref": "./examples/iothub_routingendpointhealth.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "iotHubName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EndpointHealthDataListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Check if an IoT hub name is available",
+ "description": "Check if an IoT hub name is available.",
+ "operationId": "IotHubResource_CheckNameAvailability",
+ "x-ms-examples": {
+ "IotHubResource_CheckNameAvailability": {
+ "$ref": "./examples/checkNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "operationInputs",
+ "in": "body",
+ "description": "Set the name parameter in the OperationInputs structure to the name of the IoT hub to check.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OperationInputs"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the IoT hub name is available. If the name is not available, the body contains the reason.",
+ "schema": {
+ "$ref": "#/definitions/IotHubNameAvailabilityInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the number of iot hubs in the subscription",
+ "description": "Get the number of free and paid iot hubs in the subscription",
+ "operationId": "ResourceProviderCommon_GetSubscriptionQuota",
+ "x-ms-examples": {
+ "ResourceProviderCommon_GetSubscriptionQuota": {
+ "$ref": "./examples/iothub_usages.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UserSubscriptionQuotaListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHubResource_TestAllRoutes",
+ "summary": "Test all routes",
+ "description": "Test all routes configured in this Iot Hub",
+ "x-ms-examples": {
+ "IotHubResource_TestAllRoutes": {
+ "$ref": "./examples/iothub_testallroutes.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "input",
+ "description": "Input for testing all routes",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestAllRoutesInput"
+ }
+ },
+ {
+ "name": "iotHubName",
+ "description": "IotHub to be tested",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "resource group which Iot Hub belongs to",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TestAllRoutesResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHubResource_TestRoute",
+ "summary": "Test the new route",
+ "description": "Test the new route for this Iot Hub",
+ "x-ms-examples": {
+ "IotHubResource_TestRoute": {
+ "$ref": "./examples/iothub_testnewroute.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "input",
+ "description": "Route that needs to be tested",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestRouteInput"
+ }
+ },
+ {
+ "name": "iotHubName",
+ "description": "IotHub to be tested",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "resource group which Iot Hub belongs to",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TestRouteResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security",
+ "description": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.",
+ "operationId": "IotHubResource_ListKeys",
+ "x-ms-examples": {
+ "IotHubResource_ListKeys": {
+ "$ref": "./examples/iothub_listkeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the IoT hub endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security",
+ "description": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.",
+ "operationId": "IotHubResource_GetKeysForKeyName",
+ "x-ms-examples": {
+ "IotHubResource_GetKeysForKeyName": {
+ "$ref": "./examples/iothub_getkey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "keyName",
+ "in": "path",
+ "description": "The name of the shared access policy.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more IoT hub endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities",
+ "description": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.",
+ "operationId": "IotHubResource_ExportDevices",
+ "x-ms-examples": {
+ "IotHubResource_ExportDevices": {
+ "$ref": "./examples/iothub_exportdevices.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "exportDevicesParameters",
+ "in": "body",
+ "description": "The parameters that specify the export devices operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExportDevicesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities",
+ "description": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.",
+ "operationId": "IotHubResource_ImportDevices",
+ "x-ms-examples": {
+ "IotHubResource_ImportDevices": {
+ "$ref": "./examples/iothub_importdevices.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "importDevicesParameters",
+ "in": "body",
+ "description": "The parameters that specify the import devices operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImportDevicesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Get the certificate list.",
+ "description": "Returns the list of certificates.",
+ "operationId": "Certificates_ListByIotHub",
+ "x-ms-examples": {
+ "Certificates_ListByIotHub": {
+ "$ref": "./examples/iothub_listcertificates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the certificate list.",
+ "schema": {
+ "$ref": "#/definitions/CertificateListDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Get the certificate.",
+ "description": "Returns the certificate.",
+ "operationId": "Certificates_Get",
+ "x-ms-examples": {
+ "Certificates_Get": {
+ "$ref": "./examples/iothub_getcertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Upload the certificate to the IoT hub.",
+ "description": "Adds new or replaces existing certificate.",
+ "operationId": "Certificates_CreateOrUpdate",
+ "x-ms-examples": {
+ "Certificates_CreateOrUpdate": {
+ "$ref": "./examples/iothub_certificatescreateorupdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "certificateDescription",
+ "in": "body",
+ "description": "The certificate body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateBodyDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the Certificate. Do not specify for creating a brand new certificate. Required to update an existing certificate."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "If certificate didn't exist creation was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "200": {
+ "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Delete an X509 certificate.",
+ "description": "Deletes an existing X509 certificate or does nothing if it does not exist.",
+ "operationId": "Certificates_Delete",
+ "x-ms-examples": {
+ "Certificates_Delete": {
+ "$ref": "./examples/iothub_certificatesdelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Certificate has been deleted."
+ },
+ "204": {
+ "description": "Certificate does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Generate verification code for proof of possession flow.",
+ "description": "Generates verification code for proof of possession flow. The verification code will be used to generate a leaf certificate.",
+ "operationId": "Certificates_GenerateVerificationCode",
+ "x-ms-examples": {
+ "Certificates_GenerateVerificationCode": {
+ "$ref": "./examples/iothub_generateverificationcode.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateWithNonceDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Verify certificate's private key possession.",
+ "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.",
+ "operationId": "Certificates_Verify",
+ "x-ms-examples": {
+ "Certificates_Verify": {
+ "$ref": "./examples/iothub_certverify.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "certificateVerificationBody",
+ "in": "body",
+ "description": "The name of the certificate",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateVerificationDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHub_ManualFailover",
+ "summary": "Manually initiate a failover for the IoT Hub to its secondary region",
+ "description": "Manually initiate a failover for the IoT Hub to its secondary region. To learn more, see https://aka.ms/manualfailover",
+ "x-ms-examples": {
+ "IotHub_ManualFailover": {
+ "$ref": "./examples/IotHub_ManualFailover.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "name": "iotHubName",
+ "description": "Name of the IoT hub to failover",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverInput",
+ "description": "Region to failover to. Must be the Azure paired region. Get the value from the secondary location in the locations property. To learn more, see https://aka.ms/manualfailover/region",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FailoverInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "Name of the resource group containing the IoT hub resource",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Long running manual failover operation for the IoT hub completed"
+ },
+ "202": {
+ "description": "Manual failover initiated"
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CertificateVerificationDescription": {
+ "description": "The JSON-serialized leaf certificate",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of X509 certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateListDescription": {
+ "description": "The JSON-serialized array of Certificate objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of Certificate objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ }
+ }
+ },
+ "CertificateBodyDescription": {
+ "description": "The JSON-serialized X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateDescription": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CertificateProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CertificateWithNonceDescription": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CertificatePropertiesWithNonce"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SharedAccessSignatureAuthorizationRule": {
+ "description": "The properties of an IoT hub shared access policy.",
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "The name of the shared access policy.",
+ "type": "string"
+ },
+ "primaryKey": {
+ "description": "The primary key.",
+ "type": "string"
+ },
+ "secondaryKey": {
+ "description": "The secondary key.",
+ "type": "string"
+ },
+ "rights": {
+ "description": "The permissions assigned to the shared access policy.",
+ "enum": [
+ "RegistryRead",
+ "RegistryWrite",
+ "ServiceConnect",
+ "DeviceConnect",
+ "RegistryRead, RegistryWrite",
+ "RegistryRead, ServiceConnect",
+ "RegistryRead, DeviceConnect",
+ "RegistryWrite, ServiceConnect",
+ "RegistryWrite, DeviceConnect",
+ "ServiceConnect, DeviceConnect",
+ "RegistryRead, RegistryWrite, ServiceConnect",
+ "RegistryRead, RegistryWrite, DeviceConnect",
+ "RegistryRead, ServiceConnect, DeviceConnect",
+ "RegistryWrite, ServiceConnect, DeviceConnect",
+ "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessRights",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "keyName",
+ "rights"
+ ]
+ },
+ "CertificateProperties": {
+ "description": "The description of an X509 CA Certificate.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "created": {
+ "description": "The certificate's create date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "certificate": {
+ "description": "The certificate content",
+ "type": "string"
+ }
+ }
+ },
+ "CertificatePropertiesWithNonce": {
+ "description": "The description of an X509 CA Certificate including the challenge nonce issued for the Proof-Of-Possession flow.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "created": {
+ "description": "The certificate's create date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "verificationCode": {
+ "description": "The certificate's verification code that will be used for proof of possession.",
+ "type": "string",
+ "readOnly": true
+ },
+ "certificate": {
+ "description": "The certificate content",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubProperties": {
+ "description": "The properties of an IoT hub.",
+ "type": "object",
+ "properties": {
+ "authorizationPolicies": {
+ "description": "The shared access policies you can use to secure a connection to the IoT hub.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "ipFilterRules": {
+ "description": "The IP filter rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpFilterRule"
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "description": "The hub state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostName": {
+ "description": "The name of the host.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventHubEndpoints": {
+ "description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/EventHubProperties"
+ }
+ },
+ "routing": {
+ "$ref": "#/definitions/RoutingProperties"
+ },
+ "storageEndpoints": {
+ "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/StorageEndpointProperties"
+ }
+ },
+ "messagingEndpoints": {
+ "description": "The messaging endpoint properties for the file upload notification queue.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/MessagingEndpointProperties"
+ }
+ },
+ "enableFileUploadNotifications": {
+ "description": "If True, file upload notifications are enabled.",
+ "type": "boolean"
+ },
+ "cloudToDevice": {
+ "$ref": "#/definitions/CloudToDeviceProperties"
+ },
+ "comments": {
+ "description": "IoT hub comments.",
+ "type": "string"
+ },
+ "features": {
+ "description": "The capabilities and features enabled for the IoT hub.",
+ "enum": [
+ "None",
+ "DeviceManagement"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Capabilities",
+ "modelAsString": true
+ }
+ },
+ "locations": {
+ "description": "Primary and secondary location for iot hub",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubLocationDescription"
+ }
+ }
+ }
+ },
+ "IotHubSkuInfo": {
+ "description": "Information about the SKU of the IoT hub.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the SKU.",
+ "enum": [
+ "F1",
+ "S1",
+ "S2",
+ "S3",
+ "B1",
+ "B2",
+ "B3"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubSku",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The billing tier for the IoT hub.",
+ "enum": [
+ "Free",
+ "Standard",
+ "Basic"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "IotHubSkuTier",
+ "modelAsString": false
+ }
+ },
+ "capacity": {
+ "format": "int64",
+ "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "EventHubProperties": {
+ "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub.",
+ "type": "object",
+ "properties": {
+ "retentionTimeInDays": {
+ "format": "int64",
+ "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages",
+ "type": "integer"
+ },
+ "partitionCount": {
+ "format": "int32",
+ "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.",
+ "type": "integer"
+ },
+ "partitionIds": {
+ "description": "The partition ids in the Event Hub-compatible endpoint.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "path": {
+ "description": "The Event Hub-compatible name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endpoint": {
+ "description": "The Event Hub-compatible endpoint.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageEndpointProperties": {
+ "description": "The properties of the Azure Storage endpoint for file upload.",
+ "type": "object",
+ "properties": {
+ "sasTtlAsIso8601": {
+ "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"
+ },
+ "connectionString": {
+ "description": "The connection string for the Azure Storage account to which files are uploaded.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "connectionString",
+ "containerName"
+ ]
+ },
+ "MessagingEndpointProperties": {
+ "description": "The properties of the messaging endpoints used by this IoT hub.",
+ "type": "object",
+ "properties": {
+ "lockDurationAsIso8601": {
+ "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "type": "string",
+ "format": "duration"
+ },
+ "ttlAsIso8601": {
+ "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "type": "string",
+ "format": "duration"
+ },
+ "maxDeliveryCount": {
+ "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ }
+ }
+ },
+ "CloudToDeviceProperties": {
+ "description": "The IoT hub cloud-to-device messaging properties.",
+ "type": "object",
+ "properties": {
+ "maxDeliveryCount": {
+ "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ },
+ "defaultTtlAsIso8601": {
+ "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "feedback": {
+ "$ref": "#/definitions/FeedbackProperties"
+ }
+ }
+ },
+ "IpFilterRule": {
+ "description": "The IP filter rules for the IoT hub.",
+ "type": "object",
+ "properties": {
+ "filterName": {
+ "description": "The name of the IP filter rule.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The desired action for requests captured by this rule.",
+ "enum": [
+ "Accept",
+ "Reject"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpFilterActionType",
+ "modelAsString": false
+ }
+ },
+ "ipMask": {
+ "description": "A string that contains the IP address range in CIDR notation for the rule.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "filterName",
+ "action",
+ "ipMask"
+ ]
+ },
+ "FeedbackProperties": {
+ "description": "The properties of the feedback queue for cloud-to-device messages.",
+ "type": "object",
+ "properties": {
+ "lockDurationAsIso8601": {
+ "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "ttlAsIso8601": {
+ "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "maxDeliveryCount": {
+ "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ }
+ }
+ },
+ "RoutingProperties": {
+ "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging",
+ "type": "object",
+ "properties": {
+ "endpoints": {
+ "$ref": "#/definitions/RoutingEndpoints"
+ },
+ "routes": {
+ "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteProperties"
+ }
+ },
+ "fallbackRoute": {
+ "description": "The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.",
+ "$ref": "#/definitions/FallbackRouteProperties"
+ }
+ }
+ },
+ "RoutingEndpoints": {
+ "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.",
+ "type": "object",
+ "properties": {
+ "serviceBusQueues": {
+ "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties"
+ }
+ },
+ "serviceBusTopics": {
+ "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties"
+ }
+ },
+ "eventHubs": {
+ "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingEventHubProperties"
+ }
+ },
+ "storageContainers": {
+ "description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingStorageContainerProperties"
+ }
+ }
+ }
+ },
+ "RoutingServiceBusQueueEndpointProperties": {
+ "description": "The properties related to service bus queue endpoint types.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of the service bus queue endpoint.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the service bus queue endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the service bus queue endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "connectionString"
+ ]
+ },
+ "RoutingServiceBusTopicEndpointProperties": {
+ "description": "The properties related to service bus topic endpoint types.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of the service bus topic endpoint.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the service bus topic endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the service bus topic endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "connectionString"
+ ]
+ },
+ "RoutingEventHubProperties": {
+ "description": "The properties related to an event hub endpoint.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of the event hub endpoint. ",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the event hub endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the event hub endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "connectionString"
+ ]
+ },
+ "RoutingStorageContainerProperties": {
+ "description": "The properties related to a storage container endpoint.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of the storage account.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the storage account.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the storage account.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "The name of storage container in the storage account.",
+ "type": "string"
+ },
+ "fileNameFormat": {
+ "description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.",
+ "type": "string"
+ },
+ "batchFrequencyInSeconds": {
+ "description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.",
+ "format": "int32",
+ "type": "integer",
+ "maximum": 720,
+ "minimum": 60
+ },
+ "maxChunkSizeInBytes": {
+ "description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).",
+ "format": "int32",
+ "type": "integer",
+ "maximum": 524288000,
+ "minimum": 10485760
+ },
+ "encoding": {
+ "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": [
+ "name",
+ "connectionString",
+ "containerName"
+ ]
+ },
+ "RouteProperties": {
+ "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "source": {
+ "description": "The source that the routing rule is to be applied to, such as DeviceMessages.",
+ "enum": [
+ "Invalid",
+ "DeviceMessages",
+ "TwinChangeEvents",
+ "DeviceLifecycleEvents",
+ "DeviceJobLifecycleEvents"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "condition": {
+ "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.",
+ "minItems": 1,
+ "maxItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isEnabled": {
+ "description": "Used to specify whether a route is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "name",
+ "endpointNames",
+ "source",
+ "isEnabled"
+ ]
+ },
+ "FallbackRouteProperties": {
+ "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
+ "type": "string"
+ },
+ "source": {
+ "description": "The source to which the routing rule is to be applied to. For example, DeviceMessages",
+ "enum": [
+ "DeviceMessages"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "condition": {
+ "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed.",
+ "minItems": 1,
+ "maxItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isEnabled": {
+ "description": "Used to specify whether the fallback route is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "endpointNames",
+ "source",
+ "isEnabled"
+ ]
+ },
+ "IotHubDescription": {
+ "description": "The description of the IoT hub.",
+ "type": "object",
+ "properties": {
+ "etag": {
+ "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "IotHub properties",
+ "$ref": "#/definitions/IotHubProperties"
+ },
+ "sku": {
+ "description": "IotHub SKU info",
+ "$ref": "#/definitions/IotHubSkuInfo"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "sku"
+ ]
+ },
+ "Resource": {
+ "description": "The common properties of an Azure resource.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ]
+ },
+ "SharedAccessSignatureAuthorizationRuleListResult": {
+ "description": "The list of shared access policies with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of shared access policies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list IoT Hub operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "List of IoT Hub operations supported by the Microsoft.Devices resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "IoT Hub REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation name: {provider}/{resource}/{read | write | action | delete}"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Service provider: Microsoft Devices"
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Type: IotHubs"
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the operation"
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Description of the operation"
+ }
+ }
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "httpStatusCode": {
+ "description": "The HTTP status code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "The error details.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubQuotaMetricInfoListResult": {
+ "description": "The JSON-serialized array of IotHubQuotaMetricInfo objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of quota metrics objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubQuotaMetricInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointHealthDataListResult": {
+ "description": "The JSON-serialized array of EndpointHealthData objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "JSON-serialized array of Endpoint health data",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointHealthData"
+ }
+ },
+ "nextLink": {
+ "description": "Link to more results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointHealthData": {
+ "description": "The health data for an endpoint",
+ "type": "object",
+ "properties": {
+ "endpointId": {
+ "description": "Id of the endpoint",
+ "type": "string"
+ },
+ "healthStatus": {
+ "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",
+ "unhealthy",
+ "dead"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndpointHealthStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RegistryStatistics": {
+ "description": "Identity registry statistics.",
+ "type": "object",
+ "properties": {
+ "totalDeviceCount": {
+ "format": "int64",
+ "description": "The total count of devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "enabledDeviceCount": {
+ "format": "int64",
+ "description": "The count of enabled devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "disabledDeviceCount": {
+ "format": "int64",
+ "description": "The count of disabled devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResponseListResult": {
+ "description": "The JSON-serialized array of JobResponse objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of JobResponse objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubSkuDescription": {
+ "description": "SKU properties.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sku": {
+ "description": "The type of the resource.",
+ "$ref": "#/definitions/IotHubSkuInfo"
+ },
+ "capacity": {
+ "description": "IotHub capacity",
+ "$ref": "#/definitions/IotHubCapacity"
+ }
+ },
+ "required": [
+ "sku",
+ "capacity"
+ ]
+ },
+ "TagsResource": {
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "A container holding only the Tags for a resource, allowing the user to update the tags on an IoT Hub instance."
+ },
+ "IotHubCapacity": {
+ "description": "IoT Hub capacity information.",
+ "type": "object",
+ "properties": {
+ "minimum": {
+ "format": "int64",
+ "description": "The minimum number of units.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1,
+ "readOnly": true
+ },
+ "maximum": {
+ "format": "int64",
+ "description": "The maximum number of units.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "default": {
+ "format": "int64",
+ "description": "The default number of units.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "scaleType": {
+ "description": "The type of the scaling enabled.",
+ "enum": [
+ "Automatic",
+ "Manual",
+ "None"
+ ],
+ "readOnly": true,
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubScaleType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "EventHubConsumerGroupsListResult": {
+ "description": "The JSON-serialized array of Event Hub-compatible consumer group names with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of consumer groups objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EventHubConsumerGroupInfo": {
+ "description": "The properties of the EventHubConsumerGroupInfo object.",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "The tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "description": "The Event Hub-compatible consumer group identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Event Hub-compatible consumer group name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "the resource type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The etag.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubSkuDescriptionListResult": {
+ "description": "The JSON-serialized array of IotHubSkuDescription objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of IotHubSkuDescription.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubSkuDescription"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResponse": {
+ "description": "The properties of the Job Response object.",
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "description": "The job identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTimeUtc": {
+ "format": "date-time-rfc1123",
+ "description": "The start time of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTimeUtc": {
+ "format": "date-time-rfc1123",
+ "description": "The time the job stopped processing.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the job.",
+ "enum": [
+ "unknown",
+ "export",
+ "import",
+ "backup",
+ "readDeviceProperties",
+ "writeDeviceProperties",
+ "updateDeviceConfiguration",
+ "rebootDevice",
+ "factoryResetDevice",
+ "firmwareUpdate"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The status of the job.",
+ "enum": [
+ "unknown",
+ "enqueued",
+ "running",
+ "completed",
+ "failed",
+ "cancelled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": false
+ }
+ },
+ "failureReason": {
+ "description": "If status == failed, this string containing the reason for the failure.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statusMessage": {
+ "description": "The status message for the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "parentJobId": {
+ "description": "The job identifier of the parent job, if any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubDescriptionListResult": {
+ "description": "The JSON-serialized array of IotHubDescription objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of IotHubDescription objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubQuotaMetricInfo": {
+ "description": "Quota metrics properties.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the quota metric.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "The current value for the quota metric.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "maxValue": {
+ "format": "int64",
+ "description": "The maximum value of the quota metric.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationInputs": {
+ "description": "Input values.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the IoT hub to check.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "IotHubNameAvailabilityInfo": {
+ "description": "The properties indicating whether a given IoT hub name is available.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value which indicates whether the provided name is available.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "The reason for unavailability.",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "IotHubNameUnavailabilityReason",
+ "modelAsString": false
+ }
+ },
+ "message": {
+ "description": "The detailed reason message.",
+ "type": "string"
+ }
+ }
+ },
+ "UserSubscriptionQuotaListResult": {
+ "type": "object",
+ "description": "Json-serialized array of User subscription quota response",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserSubscriptionQuota"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserSubscriptionQuota": {
+ "description": "User subscription quota response",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "IotHub type id",
+ "type": "string"
+ },
+ "type": {
+ "description": "Response type",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Unit of IotHub type",
+ "type": "string"
+ },
+ "currentValue": {
+ "description": "Current number of IotHub type",
+ "format": "int32",
+ "type": "integer"
+ },
+ "limit": {
+ "description": "Numerical limit on IotHub type",
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "description": "IotHub type",
+ "$ref": "#/definitions/Name"
+ }
+ }
+ },
+ "Name": {
+ "description": "Name of Iot Hub type",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "IotHub type",
+ "type": "string"
+ },
+ "localizedValue": {
+ "description": "Localized value of name",
+ "type": "string"
+ }
+ }
+ },
+ "TestAllRoutesInput": {
+ "description": "Input for testing all routes",
+ "type": "object",
+ "properties": {
+ "routingSource": {
+ "description": "Routing source",
+ "enum": [
+ "Invalid",
+ "DeviceMessages",
+ "TwinChangeEvents",
+ "DeviceLifecycleEvents",
+ "DeviceJobLifecycleEvents"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "Routing message",
+ "$ref": "#/definitions/RoutingMessage"
+ },
+ "twin": {
+ "description": "Routing Twin Reference",
+ "$ref": "#/definitions/RoutingTwin"
+ }
+ }
+ },
+ "RoutingTwin": {
+ "description": "Twin reference input parameter. This is an optional parameter",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Twin Tags",
+ "type": "object"
+ },
+ "properties": {
+ "properties": {
+ "desired": {
+ "description": "Twin desired properties",
+ "type": "object"
+ },
+ "reported": {
+ "description": "Twin desired properties",
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "RoutingMessage": {
+ "description": "Routing message",
+ "type": "object",
+ "properties": {
+ "body": {
+ "description": "Body of routing message",
+ "type": "string"
+ },
+ "appProperties": {
+ "description": "App properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "systemProperties": {
+ "description": "System properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TestAllRoutesResult": {
+ "description": "Result of testing all routes",
+ "type": "object",
+ "properties": {
+ "routes": {
+ "description": "JSON-serialized array of matched routes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MatchedRoute"
+ }
+ }
+ }
+ },
+ "MatchedRoute": {
+ "description": "Routes that matched",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of routes that matched",
+ "$ref": "#/definitions/RouteProperties"
+ }
+ }
+ },
+ "TestRouteInput": {
+ "required": [
+ "route"
+ ],
+ "description": "Input for testing route",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Routing message",
+ "$ref": "#/definitions/RoutingMessage"
+ },
+ "route": {
+ "description": "Route properties",
+ "$ref": "#/definitions/RouteProperties"
+ },
+ "twin": {
+ "description": "Routing Twin Reference",
+ "$ref": "#/definitions/RoutingTwin"
+ }
+ }
+ },
+ "TestRouteResult": {
+ "description": "Result of testing one route",
+ "type": "object",
+ "properties": {
+ "result": {
+ "description": "Result of testing route",
+ "enum": [
+ "undefined",
+ "false",
+ "true"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TestResultStatus",
+ "modelAsString": true
+ }
+ },
+ "details": {
+ "description": "Detailed result of testing route",
+ "$ref": "#/definitions/TestRouteResultDetails"
+ }
+ }
+ },
+ "TestRouteResultDetails": {
+ "description": "Detailed result of testing a route",
+ "type": "object",
+ "properties": {
+ "compilationErrors": {
+ "description": "JSON-serialized list of route compilation errors",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteCompilationError"
+ }
+ }
+ }
+ },
+ "RouteCompilationError": {
+ "description": "Compilation error when evaluating route",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Route error message",
+ "type": "string"
+ },
+ "severity": {
+ "description": "Severity of the route error",
+ "enum": [
+ "error",
+ "warning"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RouteErrorSeverity",
+ "modelAsString": true
+ }
+ },
+ "location": {
+ "description": "Location where the route error happened",
+ "$ref": "#/definitions/RouteErrorRange"
+ }
+ }
+ },
+ "RouteErrorRange": {
+ "description": "Range of route errors",
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "Start where the route error happened",
+ "$ref": "#/definitions/RouteErrorPosition"
+ },
+ "end": {
+ "description": "End where the route error happened",
+ "$ref": "#/definitions/RouteErrorPosition"
+ }
+ }
+ },
+ "RouteErrorPosition": {
+ "description": "Position where the route error happened",
+ "type": "object",
+ "properties": {
+ "line": {
+ "description": "Line where the route error happened",
+ "format": "int32",
+ "type": "integer"
+ },
+ "column": {
+ "description": "Column where the route error happened",
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "ExportDevicesRequest": {
+ "description": "Use to provide parameters when requesting an export of all devices in the IoT hub.",
+ "type": "object",
+ "properties": {
+ "exportBlobContainerUri": {
+ "description": "The export blob container URI.",
+ "type": "string"
+ },
+ "excludeKeys": {
+ "description": "The value indicating whether keys should be excluded during export.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "exportBlobContainerUri",
+ "excludeKeys"
+ ]
+ },
+ "ImportDevicesRequest": {
+ "description": "Use to provide parameters when requesting an import of all devices in the hub.",
+ "type": "object",
+ "properties": {
+ "inputBlobContainerUri": {
+ "description": "The input blob container URI.",
+ "type": "string"
+ },
+ "outputBlobContainerUri": {
+ "description": "The output blob container URI.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "inputBlobContainerUri",
+ "outputBlobContainerUri"
+ ]
+ },
+ "FailoverInput": {
+ "description": "Use to provide failover region when requesting manual Failover for a hub.",
+ "type": "object",
+ "properties": {
+ "failoverRegion": {
+ "description": "Region the hub will be failed over to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "failoverRegion"
+ ]
+ },
+ "IotHubLocationDescription": {
+ "description": "Public representation of one of the locations where a resource is provisioned.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The name of the Azure region",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role of the region, can be either primary or secondary. The primary region is where the IoT hub is currently provisioned. The secondary region is the Azure disaster recovery (DR) paired region and also the region where the IoT hub can failover to.",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubReplicaRoleType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription identifier.",
+ "required": true,
+ "type": "string"
+ },
+ "api-version": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The version of the API.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "The name of the resource group that contains the IoT hub.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceName": {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the IoT hub.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "certificateName": {
+ "name": "certificateName",
+ "in": "path",
+ "description": "The name of the certificate",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/readme.md b/specification/iothub/resource-manager/readme.md
index b15fc166cff9..d0c1456502f1 100644
--- a/specification/iothub/resource-manager/readme.md
+++ b/specification/iothub/resource-manager/readme.md
@@ -26,18 +26,36 @@ These are the global settings for the IotHub API.
``` yaml
openapi-type: arm
-tag: package-preview-2019-03
+tag: package-preview-2019-07
```
+### Tag: package-preview-2019-07
+
+These settings apply only when `--tag=package-preview-2019-07` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2019-07'
+input-file:
+ - Microsoft.Devices/preview/2019-07-01-preview/iothub.json
+```
+### 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.Devices/stable/2019-03-22/iothub.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'
+``` yaml $(tag) == 'package-preview-2019-03'
input-file:
- Microsoft.Devices/preview/2019-03-22-preview/iothub.json
```
+
### Tag: package-2018-12-preview
These settings apply only when `--tag=package-2018-12-preview` is specified on the command line.
@@ -136,7 +154,7 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.go.md)
-## Multi-API/Profile support for AutoRest v3 generators
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -148,6 +166,8 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Devices/preview/2019-07-01-preview/iothub.json
+ - $(this-folder)/Microsoft.Devices/stable/2019-03-22/iothub.json
- $(this-folder)/Microsoft.Devices/preview/2019-03-22-preview/iothub.json
- $(this-folder)/Microsoft.Devices/preview/2018-12-01-preview/iothub.json
- $(this-folder)/Microsoft.Devices/stable/2018-04-01/iothub.json
@@ -158,11 +178,10 @@ input-file:
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2015-06-01/keyvault.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2015-06-01/keyvault.json
index 1709b33ae4f1..107f08879fce 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2015-06-01/keyvault.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2015-06-01/keyvault.json
@@ -1813,25 +1813,25 @@
"x-ms-client-name": "NotBefore",
"type": "integer",
"format": "unixtime",
- "description": "Not before date in UTC"
+ "description": "Not before date in seconds since 1970-01-01T00:00:00Z"
},
"exp": {
"x-ms-client-name": "Expires",
"type": "integer",
"format": "unixtime",
- "description": "Expiry date in UTC"
+ "description": "Expiry date in seconds since 1970-01-01T00:00:00Z"
},
"created": {
"type": "integer",
"format": "unixtime",
"readOnly": true,
- "description": "Creation time in UTC"
+ "description": "Creation time in seconds since 1970-01-01T00:00:00Z"
},
"updated": {
"type": "integer",
"format": "unixtime",
"readOnly": true,
- "description": "Last updated time in UTC"
+ "description": "Last updated time in seconds since 1970-01-01T00:00:00Z"
}
},
"description": "The object attributes managed by the KeyVault service"
@@ -2443,13 +2443,13 @@
"type": "integer",
"format": "unixtime",
"readOnly": true,
- "description": "Creation time in UTC"
+ "description": "Creation time in seconds since 1970-01-01T00:00:00Z"
},
"updated": {
"type": "integer",
"format": "unixtime",
"readOnly": true,
- "description": "Last updated time in UTC"
+ "description": "Last updated time in seconds since 1970-01-01T00:00:00Z"
}
},
"description": "The attributes of an issuer managed by the KeyVault service"
diff --git a/specification/keyvault/data-plane/readme.md b/specification/keyvault/data-plane/readme.md
index 7b4fbd27732a..9f91edcd1746 100644
--- a/specification/keyvault/data-plane/readme.md
+++ b/specification/keyvault/data-plane/readme.md
@@ -69,9 +69,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-go
- - repo: azure-sdk-for-node
- - repo: azure-sdk-for-js
- - repo: azure-sdk-for-python
```
diff --git a/specification/keyvault/data-plane/readme.typescript.md b/specification/keyvault/data-plane/readme.typescript.md
index 0e58fc2145bd..feda86dc87dc 100644
--- a/specification/keyvault/data-plane/readme.typescript.md
+++ b/specification/keyvault/data-plane/readme.typescript.md
@@ -5,7 +5,6 @@ Please also specify `--typescript-sdks-folder="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "hostPartner": "HostPartner",
+ "guestPartner": "GuestPartner",
+ "hostIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ },
+ "guestIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ },
+ "agreementType": "AS2",
+ "content": {
+ "aS2": {
+ "receiveAgreement": {
+ "protocolSettings": {
+ "messageConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "acknowledgementConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "mdnSettings": {
+ "needMDN": true,
+ "signMDN": true,
+ "sendMDNAsynchronously": true,
+ "receiptDeliveryUrl": "http://tempuri.org",
+ "dispositionNotificationTo": "http://tempuri.org",
+ "signOutboundMdnIfOptional": true,
+ "mdnText": "Sample",
+ "sendInboundMdnToMessageBox": true,
+ "micHashingAlgorithm": "SHA1"
+ },
+ "securitySettings": {
+ "overrideGroupSigningCertificate": false,
+ "enableNRRForInboundEncodedMessages": true,
+ "enableNRRForInboundDecodedMessages": true,
+ "enableNRRForOutboundMDN": true,
+ "enableNRRForOutboundEncodedMessages": true,
+ "enableNRRForOutboundDecodedMessages": true,
+ "enableNRRForInboundMDN": true
+ },
+ "validationSettings": {
+ "overrideMessageProperties": true,
+ "encryptMessage": false,
+ "signMessage": false,
+ "compressMessage": true,
+ "checkDuplicateMessage": true,
+ "interchangeDuplicatesValidityDays": 100,
+ "checkCertificateRevocationListOnSend": true,
+ "checkCertificateRevocationListOnReceive": true,
+ "encryptionAlgorithm": "AES128"
+ },
+ "envelopeSettings": {
+ "messageContentType": "text/plain",
+ "transmitFileNameInMimeHeader": true,
+ "fileNameTemplate": "Test",
+ "suspendMessageOnFileNameGenerationError": true,
+ "autogenerateFileName": true
+ },
+ "errorSettings": {
+ "suspendDuplicateMessage": true,
+ "resendIfMDNNotReceived": true
+ }
+ },
+ "senderBusinessIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ },
+ "receiverBusinessIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ }
+ },
+ "sendAgreement": {
+ "protocolSettings": {
+ "messageConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "acknowledgementConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "mdnSettings": {
+ "needMDN": true,
+ "signMDN": true,
+ "sendMDNAsynchronously": true,
+ "receiptDeliveryUrl": "http://tempuri.org",
+ "dispositionNotificationTo": "http://tempuri.org",
+ "signOutboundMdnIfOptional": true,
+ "mdnText": "Sample",
+ "sendInboundMdnToMessageBox": true,
+ "micHashingAlgorithm": "SHA1"
+ },
+ "securitySettings": {
+ "overrideGroupSigningCertificate": false,
+ "enableNRRForInboundEncodedMessages": true,
+ "enableNRRForInboundDecodedMessages": true,
+ "enableNRRForOutboundMDN": true,
+ "enableNRRForOutboundEncodedMessages": true,
+ "enableNRRForOutboundDecodedMessages": true,
+ "enableNRRForInboundMDN": true
+ },
+ "validationSettings": {
+ "overrideMessageProperties": true,
+ "encryptMessage": false,
+ "signMessage": false,
+ "compressMessage": true,
+ "checkDuplicateMessage": true,
+ "interchangeDuplicatesValidityDays": 100,
+ "checkCertificateRevocationListOnSend": true,
+ "checkCertificateRevocationListOnReceive": true,
+ "encryptionAlgorithm": "AES128"
+ },
+ "envelopeSettings": {
+ "messageContentType": "text/plain",
+ "transmitFileNameInMimeHeader": true,
+ "fileNameTemplate": "Test",
+ "suspendMessageOnFileNameGenerationError": true,
+ "autogenerateFileName": true
+ },
+ "errorSettings": {
+ "suspendDuplicateMessage": true,
+ "resendIfMDNNotReceived": true
+ }
+ },
+ "senderBusinessIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ },
+ "receiverBusinessIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ }
+ }
+ }
+ },
+ "createdTime": "2017-03-06T22:32:54.2938748Z",
+ "changedTime": "2017-03-06T22:32:54.2945291Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/IntegrationAccount4533/agreements/",
+ "name": "",
+ "type": "Microsoft.Logic/integrationAccounts/agreements"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "hostPartner": "HostPartner",
+ "guestPartner": "GuestPartner",
+ "hostIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ },
+ "guestIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ },
+ "agreementType": "AS2",
+ "content": {
+ "aS2": {
+ "receiveAgreement": {
+ "protocolSettings": {
+ "messageConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "acknowledgementConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "mdnSettings": {
+ "needMDN": true,
+ "signMDN": true,
+ "sendMDNAsynchronously": true,
+ "receiptDeliveryUrl": "http://tempuri.org",
+ "dispositionNotificationTo": "http://tempuri.org",
+ "signOutboundMdnIfOptional": true,
+ "mdnText": "Sample",
+ "sendInboundMdnToMessageBox": true,
+ "micHashingAlgorithm": "SHA1"
+ },
+ "securitySettings": {
+ "overrideGroupSigningCertificate": false,
+ "enableNRRForInboundEncodedMessages": true,
+ "enableNRRForInboundDecodedMessages": true,
+ "enableNRRForOutboundMDN": true,
+ "enableNRRForOutboundEncodedMessages": true,
+ "enableNRRForOutboundDecodedMessages": true,
+ "enableNRRForInboundMDN": true
+ },
+ "validationSettings": {
+ "overrideMessageProperties": true,
+ "encryptMessage": false,
+ "signMessage": false,
+ "compressMessage": true,
+ "checkDuplicateMessage": true,
+ "interchangeDuplicatesValidityDays": 100,
+ "checkCertificateRevocationListOnSend": true,
+ "checkCertificateRevocationListOnReceive": true,
+ "encryptionAlgorithm": "AES128"
+ },
+ "envelopeSettings": {
+ "messageContentType": "text/plain",
+ "transmitFileNameInMimeHeader": true,
+ "fileNameTemplate": "Test",
+ "suspendMessageOnFileNameGenerationError": true,
+ "autogenerateFileName": true
+ },
+ "errorSettings": {
+ "suspendDuplicateMessage": true,
+ "resendIfMDNNotReceived": true
+ }
+ },
+ "senderBusinessIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ },
+ "receiverBusinessIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ }
+ },
+ "sendAgreement": {
+ "protocolSettings": {
+ "messageConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "acknowledgementConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "mdnSettings": {
+ "needMDN": true,
+ "signMDN": true,
+ "sendMDNAsynchronously": true,
+ "receiptDeliveryUrl": "http://tempuri.org",
+ "dispositionNotificationTo": "http://tempuri.org",
+ "signOutboundMdnIfOptional": true,
+ "mdnText": "Sample",
+ "sendInboundMdnToMessageBox": true,
+ "micHashingAlgorithm": "SHA1"
+ },
+ "securitySettings": {
+ "overrideGroupSigningCertificate": false,
+ "enableNRRForInboundEncodedMessages": true,
+ "enableNRRForInboundDecodedMessages": true,
+ "enableNRRForOutboundMDN": true,
+ "enableNRRForOutboundEncodedMessages": true,
+ "enableNRRForOutboundDecodedMessages": true,
+ "enableNRRForInboundMDN": true
+ },
+ "validationSettings": {
+ "overrideMessageProperties": true,
+ "encryptMessage": false,
+ "signMessage": false,
+ "compressMessage": true,
+ "checkDuplicateMessage": true,
+ "interchangeDuplicatesValidityDays": 100,
+ "checkCertificateRevocationListOnSend": true,
+ "checkCertificateRevocationListOnReceive": true,
+ "encryptionAlgorithm": "AES128"
+ },
+ "envelopeSettings": {
+ "messageContentType": "text/plain",
+ "transmitFileNameInMimeHeader": true,
+ "fileNameTemplate": "Test",
+ "suspendMessageOnFileNameGenerationError": true,
+ "autogenerateFileName": true
+ },
+ "errorSettings": {
+ "suspendDuplicateMessage": true,
+ "resendIfMDNNotReceived": true
+ }
+ },
+ "senderBusinessIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ },
+ "receiverBusinessIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ }
+ }
+ }
+ },
+ "createdTime": "2017-03-06T22:32:54.2938748Z",
+ "changedTime": "2017-03-06T22:32:54.2945291Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/IntegrationAccount4533/agreements/",
+ "name": "",
+ "type": "Microsoft.Logic/integrationAccounts/agreements"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAgreements_Delete.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAgreements_Delete.json
new file mode 100644
index 000000000000..95bae21269aa
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAgreements_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "agreementName": "testAgreement"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAgreements_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAgreements_Get.json
new file mode 100644
index 000000000000..2c06d0e708ba
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAgreements_Get.json
@@ -0,0 +1,170 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "agreementName": "testAgreement"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "hostPartner": "HostPartner",
+ "guestPartner": "GuestPartner",
+ "hostIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ },
+ "guestIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ },
+ "agreementType": "AS2",
+ "content": {
+ "aS2": {
+ "receiveAgreement": {
+ "protocolSettings": {
+ "messageConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "acknowledgementConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "mdnSettings": {
+ "needMDN": true,
+ "signMDN": true,
+ "sendMDNAsynchronously": true,
+ "receiptDeliveryUrl": "http://tempuri.org",
+ "dispositionNotificationTo": "http://tempuri.org",
+ "signOutboundMdnIfOptional": true,
+ "mdnText": "Sample",
+ "sendInboundMdnToMessageBox": true,
+ "micHashingAlgorithm": "SHA1"
+ },
+ "securitySettings": {
+ "overrideGroupSigningCertificate": false,
+ "enableNRRForInboundEncodedMessages": true,
+ "enableNRRForInboundDecodedMessages": true,
+ "enableNRRForOutboundMDN": true,
+ "enableNRRForOutboundEncodedMessages": true,
+ "enableNRRForOutboundDecodedMessages": true,
+ "enableNRRForInboundMDN": true
+ },
+ "validationSettings": {
+ "overrideMessageProperties": true,
+ "encryptMessage": false,
+ "signMessage": false,
+ "compressMessage": true,
+ "checkDuplicateMessage": true,
+ "interchangeDuplicatesValidityDays": 100,
+ "checkCertificateRevocationListOnSend": true,
+ "checkCertificateRevocationListOnReceive": true,
+ "encryptionAlgorithm": "AES128"
+ },
+ "envelopeSettings": {
+ "messageContentType": "text/plain",
+ "transmitFileNameInMimeHeader": true,
+ "fileNameTemplate": "Test",
+ "suspendMessageOnFileNameGenerationError": true,
+ "autogenerateFileName": true
+ },
+ "errorSettings": {
+ "suspendDuplicateMessage": true,
+ "resendIfMDNNotReceived": true
+ }
+ },
+ "senderBusinessIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ },
+ "receiverBusinessIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ }
+ },
+ "sendAgreement": {
+ "protocolSettings": {
+ "messageConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "acknowledgementConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "mdnSettings": {
+ "needMDN": true,
+ "signMDN": true,
+ "sendMDNAsynchronously": true,
+ "receiptDeliveryUrl": "http://tempuri.org",
+ "dispositionNotificationTo": "http://tempuri.org",
+ "signOutboundMdnIfOptional": true,
+ "mdnText": "Sample",
+ "sendInboundMdnToMessageBox": true,
+ "micHashingAlgorithm": "SHA1"
+ },
+ "securitySettings": {
+ "overrideGroupSigningCertificate": false,
+ "enableNRRForInboundEncodedMessages": true,
+ "enableNRRForInboundDecodedMessages": true,
+ "enableNRRForOutboundMDN": true,
+ "enableNRRForOutboundEncodedMessages": true,
+ "enableNRRForOutboundDecodedMessages": true,
+ "enableNRRForInboundMDN": true
+ },
+ "validationSettings": {
+ "overrideMessageProperties": true,
+ "encryptMessage": false,
+ "signMessage": false,
+ "compressMessage": true,
+ "checkDuplicateMessage": true,
+ "interchangeDuplicatesValidityDays": 100,
+ "checkCertificateRevocationListOnSend": true,
+ "checkCertificateRevocationListOnReceive": true,
+ "encryptionAlgorithm": "AES128"
+ },
+ "envelopeSettings": {
+ "messageContentType": "text/plain",
+ "transmitFileNameInMimeHeader": true,
+ "fileNameTemplate": "Test",
+ "suspendMessageOnFileNameGenerationError": true,
+ "autogenerateFileName": true
+ },
+ "errorSettings": {
+ "suspendDuplicateMessage": true,
+ "resendIfMDNNotReceived": true
+ }
+ },
+ "senderBusinessIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ },
+ "receiverBusinessIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ }
+ }
+ }
+ },
+ "createdTime": "2017-03-06T22:32:54.2938748Z",
+ "changedTime": "2017-03-06T22:32:54.2945291Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts//agreements/",
+ "name": "",
+ "type": "Microsoft.Logic/integrationAccounts/agreements"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAgreements_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAgreements_List.json
new file mode 100644
index 000000000000..c83a4c973eac
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAgreements_List.json
@@ -0,0 +1,598 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "hostPartner": "HostPartner",
+ "guestPartner": "GuestPartner",
+ "hostIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ },
+ "guestIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ },
+ "agreementType": "X12",
+ "content": {
+ "x12": {
+ "receiveAgreement": {
+ "protocolSettings": {
+ "validationSettings": {
+ "validateCharacterSet": true,
+ "checkDuplicateInterchangeControlNumber": false,
+ "interchangeControlNumberValidityDays": 30,
+ "checkDuplicateGroupControlNumber": false,
+ "checkDuplicateTransactionSetControlNumber": false,
+ "validateEDITypes": true,
+ "validateXSDTypes": false,
+ "allowLeadingAndTrailingSpacesAndZeroes": false,
+ "trimLeadingAndTrailingSpacesAndZeroes": false,
+ "trailingSeparatorPolicy": "NotAllowed"
+ },
+ "framingSettings": {
+ "dataElementSeparator": 42,
+ "componentSeparator": 58,
+ "replaceSeparatorsInPayload": false,
+ "replaceCharacter": 36,
+ "segmentTerminator": 126,
+ "characterSet": "UTF8",
+ "segmentTerminatorSuffix": "None"
+ },
+ "envelopeSettings": {
+ "controlStandardsId": 85,
+ "useControlStandardsIdAsRepetitionCharacter": false,
+ "senderApplicationId": "BTS-SENDER",
+ "receiverApplicationId": "RECEIVE-APP",
+ "controlVersionNumber": "00401",
+ "interchangeControlNumberLowerBound": 1,
+ "interchangeControlNumberUpperBound": 999999999,
+ "rolloverInterchangeControlNumber": true,
+ "enableDefaultGroupHeaders": true,
+ "groupControlNumberLowerBound": 1,
+ "groupControlNumberUpperBound": 999999999,
+ "rolloverGroupControlNumber": true,
+ "groupHeaderAgencyCode": "T",
+ "groupHeaderVersion": "00401",
+ "transactionSetControlNumberLowerBound": 1,
+ "transactionSetControlNumberUpperBound": 999999999,
+ "rolloverTransactionSetControlNumber": true,
+ "overwriteExistingTransactionSetControlNumber": true,
+ "groupHeaderDateFormat": "CCYYMMDD",
+ "groupHeaderTimeFormat": "HHMM",
+ "usageIndicator": "Test"
+ },
+ "acknowledgementSettings": {
+ "needTechnicalAcknowledgement": false,
+ "batchTechnicalAcknowledgements": true,
+ "needFunctionalAcknowledgement": false,
+ "batchFunctionalAcknowledgements": true,
+ "needImplementationAcknowledgement": false,
+ "batchImplementationAcknowledgements": false,
+ "needLoopForValidMessages": false,
+ "sendSynchronousAcknowledgement": true,
+ "acknowledgementControlNumberLowerBound": 1,
+ "acknowledgementControlNumberUpperBound": 999999999,
+ "rolloverAcknowledgementControlNumber": true
+ },
+ "messageFilter": {
+ "messageFilterType": "Exclude"
+ },
+ "securitySettings": {
+ "authorizationQualifier": "00",
+ "securityQualifier": "00"
+ },
+ "processingSettings": {
+ "maskSecurityInfo": true,
+ "convertImpliedDecimal": true,
+ "preserveInterchange": true,
+ "suspendInterchangeOnError": true,
+ "createEmptyXmlTagsForTrailingSeparators": true,
+ "useDotAsDecimalSeparator": true
+ },
+ "schemaReferences": []
+ },
+ "senderBusinessIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ },
+ "receiverBusinessIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ }
+ },
+ "sendAgreement": {
+ "protocolSettings": {
+ "validationSettings": {
+ "validateCharacterSet": true,
+ "checkDuplicateInterchangeControlNumber": false,
+ "interchangeControlNumberValidityDays": 30,
+ "checkDuplicateGroupControlNumber": false,
+ "checkDuplicateTransactionSetControlNumber": false,
+ "validateEDITypes": true,
+ "validateXSDTypes": false,
+ "allowLeadingAndTrailingSpacesAndZeroes": false,
+ "trimLeadingAndTrailingSpacesAndZeroes": false,
+ "trailingSeparatorPolicy": "NotAllowed"
+ },
+ "framingSettings": {
+ "dataElementSeparator": 42,
+ "componentSeparator": 58,
+ "replaceSeparatorsInPayload": false,
+ "replaceCharacter": 36,
+ "segmentTerminator": 126,
+ "characterSet": "UTF8",
+ "segmentTerminatorSuffix": "None"
+ },
+ "envelopeSettings": {
+ "controlStandardsId": 100,
+ "useControlStandardsIdAsRepetitionCharacter": true,
+ "senderApplicationId": "100",
+ "receiverApplicationId": "100",
+ "controlVersionNumber": "0.0",
+ "interchangeControlNumberLowerBound": 1,
+ "interchangeControlNumberUpperBound": 999999999,
+ "rolloverInterchangeControlNumber": true,
+ "enableDefaultGroupHeaders": true,
+ "functionalGroupId": "1",
+ "groupControlNumberLowerBound": 1,
+ "groupControlNumberUpperBound": 999999999,
+ "rolloverGroupControlNumber": true,
+ "groupHeaderAgencyCode": "T",
+ "groupHeaderVersion": "0.0",
+ "transactionSetControlNumberLowerBound": 1,
+ "transactionSetControlNumberUpperBound": 999999999,
+ "rolloverTransactionSetControlNumber": true,
+ "transactionSetControlNumberPrefix": "",
+ "transactionSetControlNumberSuffix": "",
+ "overwriteExistingTransactionSetControlNumber": true,
+ "groupHeaderDateFormat": "CCYYMMDD",
+ "groupHeaderTimeFormat": "HHMM",
+ "usageIndicator": "Information"
+ },
+ "acknowledgementSettings": {
+ "needTechnicalAcknowledgement": false,
+ "batchTechnicalAcknowledgements": true,
+ "needFunctionalAcknowledgement": false,
+ "batchFunctionalAcknowledgements": true,
+ "needImplementationAcknowledgement": false,
+ "batchImplementationAcknowledgements": false,
+ "needLoopForValidMessages": false,
+ "sendSynchronousAcknowledgement": true,
+ "acknowledgementControlNumberLowerBound": 1,
+ "acknowledgementControlNumberUpperBound": 999999999,
+ "rolloverAcknowledgementControlNumber": true
+ },
+ "messageFilter": {
+ "messageFilterType": "Exclude"
+ },
+ "securitySettings": {
+ "authorizationQualifier": "00",
+ "securityQualifier": "00"
+ },
+ "processingSettings": {
+ "maskSecurityInfo": true,
+ "convertImpliedDecimal": true,
+ "preserveInterchange": true,
+ "suspendInterchangeOnError": true,
+ "createEmptyXmlTagsForTrailingSeparators": true,
+ "useDotAsDecimalSeparator": true
+ },
+ "schemaReferences": []
+ },
+ "senderBusinessIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ },
+ "receiverBusinessIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ }
+ }
+ }
+ },
+ "createdTime": "2017-03-06T22:00:54.1516558Z",
+ "changedTime": "2017-03-06T22:00:54.1520445Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts//agreements/",
+ "name": "",
+ "type": "Microsoft.Logic/integrationAccounts/agreements"
+ },
+ {
+ "properties": {
+ "hostPartner": "HostPartner",
+ "guestPartner": "GuestPartner",
+ "hostIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ },
+ "guestIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ },
+ "agreementType": "AS2",
+ "content": {
+ "aS2": {
+ "receiveAgreement": {
+ "protocolSettings": {
+ "messageConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "acknowledgementConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "mdnSettings": {
+ "needMDN": true,
+ "signMDN": true,
+ "sendMDNAsynchronously": true,
+ "receiptDeliveryUrl": "http://tempuri.org",
+ "dispositionNotificationTo": "http://tempuri.org",
+ "signOutboundMdnIfOptional": true,
+ "mdnText": "Sample",
+ "sendInboundMdnToMessageBox": true,
+ "micHashingAlgorithm": "None"
+ },
+ "securitySettings": {
+ "overrideGroupSigningCertificate": false,
+ "enableNRRForInboundEncodedMessages": true,
+ "enableNRRForInboundDecodedMessages": true,
+ "enableNRRForOutboundMDN": true,
+ "enableNRRForOutboundEncodedMessages": true,
+ "enableNRRForOutboundDecodedMessages": true,
+ "enableNRRForInboundMDN": true
+ },
+ "validationSettings": {
+ "overrideMessageProperties": true,
+ "encryptMessage": false,
+ "signMessage": false,
+ "compressMessage": true,
+ "checkDuplicateMessage": true,
+ "interchangeDuplicatesValidityDays": 100,
+ "checkCertificateRevocationListOnSend": true,
+ "checkCertificateRevocationListOnReceive": true,
+ "encryptionAlgorithm": "AES128"
+ },
+ "envelopeSettings": {
+ "messageContentType": "text/plain",
+ "transmitFileNameInMimeHeader": true,
+ "fileNameTemplate": "Test",
+ "suspendMessageOnFileNameGenerationError": true,
+ "autogenerateFileName": true
+ },
+ "errorSettings": {
+ "suspendDuplicateMessage": true,
+ "resendIfMDNNotReceived": true
+ }
+ },
+ "senderBusinessIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ },
+ "receiverBusinessIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ }
+ },
+ "sendAgreement": {
+ "protocolSettings": {
+ "messageConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "acknowledgementConnectionSettings": {
+ "ignoreCertificateNameMismatch": true,
+ "supportHttpStatusCodeContinue": true,
+ "keepHttpConnectionAlive": true,
+ "unfoldHttpHeaders": true
+ },
+ "mdnSettings": {
+ "needMDN": true,
+ "signMDN": true,
+ "sendMDNAsynchronously": true,
+ "receiptDeliveryUrl": "http://tempuri.org",
+ "dispositionNotificationTo": "http://tempuri.org",
+ "signOutboundMdnIfOptional": true,
+ "mdnText": "Sample",
+ "sendInboundMdnToMessageBox": true,
+ "micHashingAlgorithm": "None"
+ },
+ "securitySettings": {
+ "overrideGroupSigningCertificate": false,
+ "enableNRRForInboundEncodedMessages": true,
+ "enableNRRForInboundDecodedMessages": true,
+ "enableNRRForOutboundMDN": true,
+ "enableNRRForOutboundEncodedMessages": true,
+ "enableNRRForOutboundDecodedMessages": true,
+ "enableNRRForInboundMDN": true
+ },
+ "validationSettings": {
+ "overrideMessageProperties": true,
+ "encryptMessage": false,
+ "signMessage": false,
+ "compressMessage": true,
+ "checkDuplicateMessage": true,
+ "interchangeDuplicatesValidityDays": 100,
+ "checkCertificateRevocationListOnSend": true,
+ "checkCertificateRevocationListOnReceive": true,
+ "encryptionAlgorithm": "AES128"
+ },
+ "envelopeSettings": {
+ "messageContentType": "text/plain",
+ "transmitFileNameInMimeHeader": true,
+ "fileNameTemplate": "Test",
+ "suspendMessageOnFileNameGenerationError": true,
+ "autogenerateFileName": true
+ },
+ "errorSettings": {
+ "suspendDuplicateMessage": true,
+ "resendIfMDNNotReceived": true
+ }
+ },
+ "senderBusinessIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ },
+ "receiverBusinessIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ }
+ }
+ }
+ },
+ "createdTime": "2017-03-06T22:00:53.4134038Z",
+ "changedTime": "2017-03-06T22:00:53.4140804Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts//agreements/",
+ "name": "",
+ "type": "Microsoft.Logic/integrationAccounts/agreements"
+ },
+ {
+ "properties": {
+ "hostPartner": "HostPartner",
+ "guestPartner": "GuestPartner",
+ "hostIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ },
+ "guestIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ },
+ "agreementType": "Edifact",
+ "content": {
+ "edifact": {
+ "receiveAgreement": {
+ "protocolSettings": {
+ "validationSettings": {
+ "validateCharacterSet": true,
+ "checkDuplicateInterchangeControlNumber": true,
+ "interchangeControlNumberValidityDays": 30,
+ "checkDuplicateGroupControlNumber": true,
+ "checkDuplicateTransactionSetControlNumber": true,
+ "validateEDITypes": true,
+ "validateXSDTypes": true,
+ "trimLeadingAndTrailingSpacesAndZeroes": true,
+ "allowLeadingAndTrailingSpacesAndZeroes": true,
+ "trailingSeparatorPolicy": "Optional"
+ },
+ "framingSettings": {
+ "characterEncoding": "UTF",
+ "protocolVersion": 4,
+ "dataElementSeparator": 53,
+ "componentSeparator": 58,
+ "segmentTerminator": 39,
+ "releaseIndicator": 63,
+ "repetitionSeparator": 42,
+ "characterSet": "UNOC",
+ "decimalPointIndicator": "Comma",
+ "segmentTerminatorSuffix": "None"
+ },
+ "envelopeSettings": {
+ "groupAssociationAssignedCode": "0",
+ "communicationAgreementId": "0",
+ "applyDelimiterStringAdvice": true,
+ "createGroupingSegments": true,
+ "enableDefaultGroupHeaders": true,
+ "recipientReferencePasswordValue": "AA",
+ "recipientReferencePasswordQualifier": "ZZ",
+ "applicationReferenceId": "0",
+ "processingPriorityCode": "0",
+ "interchangeControlNumberLowerBound": 1,
+ "interchangeControlNumberUpperBound": 99999999,
+ "rolloverInterchangeControlNumber": true,
+ "interchangeControlNumberPrefix": "CU",
+ "interchangeControlNumberSuffix": "NUM",
+ "functionalGroupId": "0",
+ "groupControllingAgencyCode": "0",
+ "groupMessageVersion": "0.0",
+ "groupMessageRelease": "0.0",
+ "groupControlNumberLowerBound": 1,
+ "groupControlNumberUpperBound": 99999999,
+ "rolloverGroupControlNumber": true,
+ "groupControlNumberPrefix": "CU",
+ "groupControlNumberSuffix": "NUM",
+ "groupApplicationReceiverQualifier": "ZZZ",
+ "groupApplicationReceiverId": "0",
+ "groupApplicationSenderQualifier": "ZZZ",
+ "groupApplicationSenderId": "AAA",
+ "groupApplicationPassword": "0",
+ "overwriteExistingTransactionSetControlNumber": true,
+ "transactionSetControlNumberPrefix": "",
+ "transactionSetControlNumberSuffix": "",
+ "transactionSetControlNumberLowerBound": 1,
+ "transactionSetControlNumberUpperBound": 99999999,
+ "rolloverTransactionSetControlNumber": true,
+ "isTestInterchange": true,
+ "senderInternalIdentification": "AA",
+ "senderInternalSubIdentification": "AA",
+ "receiverInternalIdentification": "0",
+ "receiverInternalSubIdentification": "0"
+ },
+ "acknowledgementSettings": {
+ "needTechnicalAcknowledgement": true,
+ "batchTechnicalAcknowledgements": true,
+ "needFunctionalAcknowledgement": false,
+ "batchFunctionalAcknowledgements": true,
+ "needLoopForValidMessages": false,
+ "sendSynchronousAcknowledgement": true,
+ "acknowledgementControlNumberPrefix": "",
+ "acknowledgementControlNumberSuffix": "",
+ "acknowledgementControlNumberLowerBound": 1,
+ "acknowledgementControlNumberUpperBound": 99999999,
+ "rolloverAcknowledgementControlNumber": true
+ },
+ "messageFilter": {
+ "messageFilterType": "Exclude"
+ },
+ "processingSettings": {
+ "maskSecurityInfo": true,
+ "preserveInterchange": true,
+ "suspendInterchangeOnError": true,
+ "createEmptyXmlTagsForTrailingSeparators": true,
+ "useDotAsDecimalSeparator": true
+ },
+ "schemaReferences": []
+ },
+ "senderBusinessIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ },
+ "receiverBusinessIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ }
+ },
+ "sendAgreement": {
+ "protocolSettings": {
+ "validationSettings": {
+ "validateCharacterSet": true,
+ "checkDuplicateInterchangeControlNumber": true,
+ "interchangeControlNumberValidityDays": 30,
+ "checkDuplicateGroupControlNumber": true,
+ "checkDuplicateTransactionSetControlNumber": true,
+ "validateEDITypes": true,
+ "validateXSDTypes": true,
+ "trimLeadingAndTrailingSpacesAndZeroes": true,
+ "allowLeadingAndTrailingSpacesAndZeroes": true,
+ "trailingSeparatorPolicy": "Optional"
+ },
+ "framingSettings": {
+ "characterEncoding": "UTF",
+ "protocolVersion": 4,
+ "dataElementSeparator": 53,
+ "componentSeparator": 58,
+ "segmentTerminator": 39,
+ "releaseIndicator": 63,
+ "repetitionSeparator": 42,
+ "characterSet": "UNOC",
+ "decimalPointIndicator": "Comma",
+ "segmentTerminatorSuffix": "None"
+ },
+ "envelopeSettings": {
+ "groupAssociationAssignedCode": "0",
+ "communicationAgreementId": "0",
+ "applyDelimiterStringAdvice": true,
+ "createGroupingSegments": true,
+ "enableDefaultGroupHeaders": true,
+ "recipientReferencePasswordValue": "AA",
+ "recipientReferencePasswordQualifier": "ZZ",
+ "applicationReferenceId": "0",
+ "processingPriorityCode": "0",
+ "interchangeControlNumberLowerBound": 1,
+ "interchangeControlNumberUpperBound": 999999999,
+ "rolloverInterchangeControlNumber": true,
+ "interchangeControlNumberPrefix": "CU",
+ "interchangeControlNumberSuffix": "NUM",
+ "functionalGroupId": "0",
+ "groupControllingAgencyCode": "0",
+ "groupMessageVersion": "0.0",
+ "groupMessageRelease": "0.0",
+ "groupControlNumberLowerBound": 1,
+ "groupControlNumberUpperBound": 999999999,
+ "rolloverGroupControlNumber": true,
+ "groupControlNumberPrefix": "",
+ "groupControlNumberSuffix": "",
+ "groupApplicationReceiverQualifier": "ZZ",
+ "groupApplicationReceiverId": "0",
+ "groupApplicationSenderQualifier": "ZZ",
+ "groupApplicationSenderId": "AA",
+ "groupApplicationPassword": "0",
+ "overwriteExistingTransactionSetControlNumber": true,
+ "transactionSetControlNumberPrefix": "",
+ "transactionSetControlNumberSuffix": "",
+ "transactionSetControlNumberLowerBound": 1,
+ "transactionSetControlNumberUpperBound": 999999999,
+ "rolloverTransactionSetControlNumber": true,
+ "isTestInterchange": true,
+ "senderInternalIdentification": "AA",
+ "senderInternalSubIdentification": "AA",
+ "receiverInternalIdentification": "0",
+ "receiverInternalSubIdentification": "0"
+ },
+ "acknowledgementSettings": {
+ "needTechnicalAcknowledgement": true,
+ "batchTechnicalAcknowledgements": true,
+ "needFunctionalAcknowledgement": true,
+ "batchFunctionalAcknowledgements": true,
+ "needLoopForValidMessages": true,
+ "sendSynchronousAcknowledgement": true,
+ "acknowledgementControlNumberPrefix": "CN",
+ "acknowledgementControlNumberSuffix": "NUM",
+ "acknowledgementControlNumberLowerBound": 1,
+ "acknowledgementControlNumberUpperBound": 999999999,
+ "rolloverAcknowledgementControlNumber": true
+ },
+ "messageFilter": {
+ "messageFilterType": "Exclude"
+ },
+ "processingSettings": {
+ "maskSecurityInfo": true,
+ "preserveInterchange": true,
+ "suspendInterchangeOnError": true,
+ "createEmptyXmlTagsForTrailingSeparators": true,
+ "useDotAsDecimalSeparator": true
+ },
+ "schemaReferences": []
+ },
+ "senderBusinessIdentity": {
+ "qualifier": "AA",
+ "value": "AA"
+ },
+ "receiverBusinessIdentity": {
+ "qualifier": "ZZ",
+ "value": "ZZ"
+ }
+ }
+ }
+ },
+ "createdTime": "2017-03-06T22:00:53.8205121Z",
+ "changedTime": "2017-03-06T22:00:53.8212345Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts//agreements/",
+ "name": "",
+ "type": "Microsoft.Logic/integrationAccounts/agreements"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAgreements_ListContentCallbackUrl.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAgreements_ListContentCallbackUrl.json
new file mode 100644
index 000000000000..fbcf69697257
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAgreements_ListContentCallbackUrl.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "agreementName": "testAgreement",
+ "listContentCallbackUrl": {
+ "notAfter": "2018-04-19T16:00:00Z",
+ "keyType": "Primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "https://prod-00.westus.logic.azure.com:443/integrationAccounts/0fdabc3a76514ca48dede71c73d9fe97/agreements/testAgreement/contents/Value?api-version=2015-08-01-preview&sp=%2Fagreements%2FtestAgreement%2Fread&sv=1.0&sig=VK_mbQPTHTa3ezhsrI8IctckwjlL3GdJmroQH_baYj4",
+ "method": "GET",
+ "basePath": "https://prod-00.westus.logic.azure.com/integrationAccounts/0fdabc3a76514ca48dede71c73d9fe97/agreements/testAgreement/contents/Value",
+ "queries": {
+ "api-version": "2015-08-01-preview"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_CreateOrUpdate.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_CreateOrUpdate.json
new file mode 100644
index 000000000000..0c7b5150a882
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_CreateOrUpdate.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "assemblyArtifactName": "testAssembly",
+ "assemblyArtifact": {
+ "properties": {
+ "assemblyName": "System.IdentityModel.Tokens.Jwt",
+ "content": "Base64 encoded Assembly Content",
+ "metadata": {}
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "assemblyName": "System.IdentityModel.Tokens.Jwt",
+ "assemblyVersion": "0.0.0.0",
+ "contentLink": {
+ "uri": "",
+ "contentVersion": "\"0x8D45CE54B058881\"",
+ "contentSize": 3056,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "A2avz/M0ov2FPI3+Je8vDw=="
+ }
+ },
+ "createdTime": "2017-02-24T18:45:23.4129778Z",
+ "changedTime": "2017-02-24T18:45:23.4137139Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/assemblies/testAssembly",
+ "name": "testAssembly",
+ "type": "Microsoft.Logic/integrationAccounts/assemblies"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "assemblyName": "System.IdentityModel.Tokens.Jwt",
+ "assemblyVersion": "0.0.0.0",
+ "contentLink": {
+ "uri": "",
+ "contentVersion": "\"0x8D45CE54B058881\"",
+ "contentSize": 3056,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "A2avz/M0ov2FPI3+Je8vDw=="
+ }
+ },
+ "createdTime": "2017-02-24T18:45:23.4129778Z",
+ "changedTime": "2017-02-24T18:45:23.4137139Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/assemblies/testAssembly",
+ "name": "testAssembly",
+ "type": "Microsoft.Logic/integrationAccounts/assemblies"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_Delete.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_Delete.json
new file mode 100644
index 000000000000..45c3871f3c5d
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "assemblyArtifactName": "testAssembly"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_Get.json
new file mode 100644
index 000000000000..25a9457b0503
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "assemblyArtifactName": "testAssembly"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "assemblyName": "System.IdentityModel.Tokens.Jwt",
+ "assemblyVersion": "0.0.0.0",
+ "contentLink": {
+ "uri": "",
+ "contentVersion": "\"0x8D45CE54B058881\"",
+ "contentSize": 3056,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "A2avz/M0ov2FPI3+Je8vDw=="
+ }
+ },
+ "createdTime": "2017-02-24T18:45:23.4129778Z",
+ "changedTime": "2017-02-24T18:45:23.4137139Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/assemblies/testAssembly",
+ "name": "testAssembly",
+ "type": "Microsoft.Logic/integrationAccounts/assemblies"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_List.json
new file mode 100644
index 000000000000..6803c59b88f5
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "assemblyName": "System.IdentityModel.Tokens.Jwt",
+ "assemblyVersion": "0.0.0.0",
+ "contentLink": {
+ "uri": "",
+ "contentVersion": "\"0x8D45CE54B058881\"",
+ "contentSize": 3056,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "A2avz/M0ov2FPI3+Je8vDw=="
+ }
+ },
+ "createdTime": "2017-02-24T18:45:23.4129778Z",
+ "changedTime": "2017-02-24T18:45:23.4137139Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/assemblies/testAssembly",
+ "name": "testAssembly",
+ "type": "Microsoft.Logic/integrationAccounts/assemblies"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_ListContentCallbackUrl.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_ListContentCallbackUrl.json
new file mode 100644
index 000000000000..a075f5ea1375
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountAssemblies_ListContentCallbackUrl.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "assemblyArtifactName": "testAssembly",
+ "listContentCallbackUrl": {
+ "notAfter": "2018-04-19T16:00:00Z",
+ "keyType": "Primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "https://prod-00.westus.logic.azure.com:443/integrationAccounts/0fdabc3a76514ca48dede71c73d9fe97/assemblies/testAssembly/contents/Value?api-version=2015-08-01-preview&sp=%2Fassemblies%2FtestAssembly%2Fread&sv=1.0&sig=VK_mbQPTHTa3ezhsrI8IctckwjlL3GdJmroQH_baYj4",
+ "method": "GET",
+ "basePath": "https://prod-00.westus.logic.azure.com/integrationAccounts/0fdabc3a76514ca48dede71c73d9fe97/assemblies/testAssembly/contents/Value",
+ "queries": {
+ "api-version": "2015-08-01-preview"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountBatchConfigurations_CreateOrUpdate.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountBatchConfigurations_CreateOrUpdate.json
new file mode 100644
index 000000000000..b302a1e95087
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountBatchConfigurations_CreateOrUpdate.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "batchConfigurationName": "testBatchConfiguration",
+ "batchConfiguration": {
+ "properties": {
+ "batchGroupName": "DEFAULT",
+ "releaseCriteria": {
+ "recurrence": {
+ "frequency": "Minute",
+ "interval": 1,
+ "startTime": "2017-03-24T11:43:00",
+ "timeZone": "India Standard Time"
+ },
+ "messageCount": 10,
+ "batchSize": 234567
+ }
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "batchGroupName": "DEFAULT",
+ "releaseCriteria": {
+ "recurrence": {
+ "frequency": "Minute",
+ "interval": 1,
+ "startTime": "2017-03-24T11:43:00",
+ "timeZone": "India Standard Time"
+ },
+ "messageCount": 10,
+ "batchSize": 234567
+ },
+ "createdTime": "2018-03-26T06:14:16.6518552Z",
+ "changedTime": "2018-03-26T06:14:16.7042301Z"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/batchConfigurations/testBatchConfiguration",
+ "name": "testBatchConfiguration",
+ "type": "Microsoft.Logic/integrationAccounts/batchConfigurations"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "batchGroupName": "DEFAULT",
+ "releaseCriteria": {
+ "recurrence": {
+ "frequency": "Minute",
+ "interval": 1,
+ "startTime": "2017-03-24T11:43:00",
+ "timeZone": "India Standard Time"
+ },
+ "messageCount": 10,
+ "batchSize": 234567
+ },
+ "createdTime": "2018-03-26T06:14:16.6518552Z",
+ "changedTime": "2018-03-26T06:14:16.7042301Z"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/batchConfigurations/testBatchConfiguration",
+ "name": "testBatchConfiguration",
+ "type": "Microsoft.Logic/integrationAccounts/batchConfigurations"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountBatchConfigurations_Delete.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountBatchConfigurations_Delete.json
new file mode 100644
index 000000000000..b95e4b569939
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountBatchConfigurations_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "batchConfigurationName": "testBatchConfiguration"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountBatchConfigurations_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountBatchConfigurations_Get.json
new file mode 100644
index 000000000000..2a63a032667a
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountBatchConfigurations_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "batchConfigurationName": "testBatchConfiguration"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "batchGroupName": "DEFAULT",
+ "releaseCriteria": {
+ "recurrence": {
+ "frequency": "Minute",
+ "interval": 1,
+ "startTime": "2017-03-24T11:43:00",
+ "timeZone": "India Standard Time"
+ },
+ "messageCount": 10,
+ "batchSize": 234567
+ },
+ "createdTime": "2018-03-26T06:14:16.6518552Z",
+ "changedTime": "2018-03-26T06:14:16.7042301Z"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/batchConfigurations/testBatchConfiguration",
+ "name": "testBatchConfiguration",
+ "type": "Microsoft.Logic/integrationAccounts/batchConfigurations"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountBatchConfigurations_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountBatchConfigurations_List.json
new file mode 100644
index 000000000000..a7e9bee41191
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountBatchConfigurations_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "batchGroupName": "DEFAULT",
+ "releaseCriteria": {
+ "recurrence": {
+ "frequency": "Minute",
+ "interval": 1,
+ "startTime": "2017-03-24T11:43:00",
+ "timeZone": "India Standard Time"
+ },
+ "messageCount": 10,
+ "batchSize": 234567
+ },
+ "createdTime": "2018-03-26T06:14:16.6518552Z",
+ "changedTime": "2018-03-26T06:14:16.7042301Z"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/batchConfigurations/testBatchConfiguration",
+ "name": "testBatchConfiguration",
+ "type": "Microsoft.Logic/integrationAccounts/batchConfigurations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountCertificates_CreateOrUpdate.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountCertificates_CreateOrUpdate.json
new file mode 100644
index 000000000000..9d051cf7969a
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountCertificates_CreateOrUpdate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "certificateName": "testCertificate",
+ "certificate": {
+ "properties": {
+ "key": {
+ "keyVault": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testResourceGroup/providers/microsoft.keyvault/vaults/"
+ },
+ "keyName": "",
+ "keyVersion": "87d9764197604449b9b8eb7bd8710868"
+ },
+ "publicCertificate": ""
+ },
+ "location": "brazilsouth"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "key": {
+ "keyVault": {
+ "name": "",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourcegroups/flowrg/providers/microsoft.keyvault/vaults/",
+ "type": "Microsoft.KeyVault/vaults"
+ },
+ "keyName": "",
+ "keyVersion": "87d9764197604449b9b8eb7bd8710868"
+ },
+ "publicCertificate": "",
+ "createdTime": "2017-03-06T20:42:21.0510202Z",
+ "changedTime": "2017-03-06T20:42:21.051317Z"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/certificates/testCertificate",
+ "name": "testCertificate",
+ "type": "Microsoft.Logic/integrationAccounts/certificates"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "key": {
+ "keyVault": {
+ "name": "",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourcegroups/flowrg/providers/microsoft.keyvault/vaults/",
+ "type": "Microsoft.KeyVault/vaults"
+ },
+ "keyName": "",
+ "keyVersion": "87d9764197604449b9b8eb7bd8710868"
+ },
+ "publicCertificate": "",
+ "createdTime": "2017-03-06T20:42:21.0510202Z",
+ "changedTime": "2017-03-06T20:42:21.051317Z"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/certificates/testCertificate",
+ "name": "testCertificate",
+ "type": "Microsoft.Logic/integrationAccounts/certificates"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountCertificates_Delete.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountCertificates_Delete.json
new file mode 100644
index 000000000000..d12fb1eae3f3
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountCertificates_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "certificateName": "testCertificate"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountCertificates_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountCertificates_Get.json
new file mode 100644
index 000000000000..875d25c58ac1
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountCertificates_Get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "certificateName": "testCertificate"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "key": {
+ "keyVault": {
+ "name": "",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testResourceGroup/providers/microsoft.keyvault/vaults/",
+ "type": "Microsoft.KeyVault/vaults"
+ },
+ "keyName": "",
+ "keyVersion": "87d9764197604449b9b8eb7bd8710868"
+ },
+ "publicCertificate": "",
+ "createdTime": "2017-03-06T20:42:21.0510202Z",
+ "changedTime": "2017-03-06T20:42:21.051317Z"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/IntegrationAccount9472/certificates/testCertificate",
+ "name": "testCertificate",
+ "type": "Microsoft.Logic/integrationAccounts/certificates"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountCertificates_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountCertificates_List.json
new file mode 100644
index 000000000000..82bb190f7bea
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountCertificates_List.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "key": {
+ "keyVault": {
+ "name": "AzureSdkTestKeyVault",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testResourceGroup/providers/microsoft.keyvault/vaults/",
+ "type": "Microsoft.KeyVault/vaults"
+ },
+ "keyName": "",
+ "keyVersion": "87d9764197604449b9b8eb7bd8710868"
+ },
+ "publicCertificate": "",
+ "createdTime": "2017-03-06T20:33:09.7022471Z",
+ "changedTime": "2017-03-06T20:33:09.7032076Z"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/certificates/",
+ "name": "",
+ "type": "Microsoft.Logic/integrationAccounts/certificates"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_CreateOrUpdate.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_CreateOrUpdate.json
new file mode 100644
index 000000000000..76c4bf1a9936
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_CreateOrUpdate.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "mapName": "testMap",
+ "map": {
+ "properties": {
+ "mapType": "Xslt",
+ "content": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n",
+ "contentType": "application/xml",
+ "metadata": {}
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "mapType": "Xslt",
+ "contentLink": {
+ "uri": "",
+ "contentVersion": "\"0x8D464C057F22E5F\"",
+ "contentSize": 3056,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "A2avz/M0ov2FPI3+Je8vDw=="
+ }
+ },
+ "createdTime": "2017-03-06T18:41:03.7366103Z",
+ "changedTime": "2017-03-06T18:41:04.4088605Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups//providers/Microsoft.Logic/integrationAccounts//maps/testMap",
+ "name": "IntegrationAccountMap291",
+ "type": "Microsoft.Logic/integrationAccounts/maps"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "mapType": "Xslt",
+ "contentLink": {
+ "uri": "",
+ "contentVersion": "\"0x8D464C057F22E5F\"",
+ "contentSize": 3056,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "A2avz/M0ov2FPI3+Je8vDw=="
+ }
+ },
+ "createdTime": "2017-03-06T18:41:03.7366103Z",
+ "changedTime": "2017-03-06T18:41:04.4088605Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups//providers/Microsoft.Logic/integrationAccounts//maps/testMap",
+ "name": "IntegrationAccountMap291",
+ "type": "Microsoft.Logic/integrationAccounts/maps"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_Delete.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_Delete.json
new file mode 100644
index 000000000000..6cc48a9b45ad
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "mapName": "testMap"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_Get.json
new file mode 100644
index 000000000000..c8d85e90883b
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "mapName": "testMap"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "mapType": "Xslt",
+ "contentLink": {
+ "uri": "",
+ "contentVersion": "\"0x8D45CE54B058881\"",
+ "contentSize": 3056,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "A2avz/M0ov2FPI3+Je8vDw=="
+ }
+ },
+ "createdTime": "2017-02-24T18:45:23.4129778Z",
+ "changedTime": "2017-02-24T18:45:23.4137139Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/maps/testMap",
+ "name": "testMap",
+ "type": "Microsoft.Logic/integrationAccounts/maps"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_List.json
new file mode 100644
index 000000000000..ecaa77f5f3bb
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "mapType": "Xslt",
+ "contentLink": {
+ "uri": "",
+ "contentVersion": "\"0x8D45CE3C6D23B4B\"",
+ "contentSize": 3056,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "A2avz/M0ov2FPI3+Je8vDw=="
+ }
+ },
+ "createdTime": "2017-02-24T18:34:32.3902373Z",
+ "changedTime": "2017-02-24T18:34:32.390576Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/maps/IntegrationAccountMap9943",
+ "name": "IntegrationAccountMap9943",
+ "type": "Microsoft.Logic/integrationAccounts/maps"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_ListContentCallbackUrl.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_ListContentCallbackUrl.json
new file mode 100644
index 000000000000..ff88788d9b03
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountMaps_ListContentCallbackUrl.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "mapName": "testMap",
+ "listContentCallbackUrl": {
+ "notAfter": "2018-04-19T16:00:00Z",
+ "keyType": "Primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "https://prod-00.westus.logic.azure.com:443/integrationAccounts/0fdabc3a76514ca48dede71c73d9fe97/maps/testMap/contents/Value?api-version=2015-08-01-preview&sp=%2Fmaps%2Ftestmap%2Fread&sv=1.0&sig=VK_mbQPTHTa3ezhsrI8IctckwjlL3GdJmroQH_baYj4",
+ "method": "GET",
+ "basePath": "https://prod-00.brazilus.logic.azure.com/integrationAccounts/0fdabc3a76514ca48dede71c73d9fe97/maps/testmap/contents/Value",
+ "queries": {
+ "api-version": "2015-08-01-preview"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_CreateOrUpdate.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_CreateOrUpdate.json
new file mode 100644
index 000000000000..dc0448b00d3e
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_CreateOrUpdate.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "partnerName": "testPartner",
+ "partner": {
+ "properties": {
+ "partnerType": "B2B",
+ "metadata": {},
+ "content": {
+ "b2b": {
+ "businessIdentities": [
+ {
+ "qualifier": "AA",
+ "value": "ZZ"
+ }
+ ]
+ }
+ }
+ },
+ "location": "westus",
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "partnerType": "B2B",
+ "content": {
+ "b2b": {
+ "businessIdentities": [
+ {
+ "qualifier": "AA",
+ "value": "ZZ"
+ }
+ ]
+ }
+ },
+ "createdTime": "2017-03-06T20:06:23.5895246Z",
+ "changedTime": "2017-03-06T20:06:23.5904806Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/flowrg/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/partners/testPartner",
+ "name": "testPartner",
+ "type": "Microsoft.Logic/integrationAccounts/partners"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "partnerType": "B2B",
+ "content": {
+ "b2b": {
+ "businessIdentities": [
+ {
+ "qualifier": "AA",
+ "value": "ZZ"
+ }
+ ]
+ }
+ },
+ "createdTime": "2017-03-06T20:06:23.5895246Z",
+ "changedTime": "2017-03-06T20:06:23.5904806Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/flowrg/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/partners/testPartner",
+ "name": "testPartner",
+ "type": "Microsoft.Logic/integrationAccounts/partners"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_Delete.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_Delete.json
new file mode 100644
index 000000000000..ec6afdda318f
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "partnerName": "testPartner"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_Get.json
new file mode 100644
index 000000000000..611c8345d317
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "partnerName": "testPartner"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "partnerType": "B2B",
+ "content": {
+ "b2b": {
+ "businessIdentities": [
+ {
+ "qualifier": "AA",
+ "value": "ZZ"
+ }
+ ]
+ }
+ },
+ "createdTime": "2017-03-06T20:01:24.0517156Z",
+ "changedTime": "2017-03-06T20:01:24.0525141Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/partners/testPartner",
+ "name": "testIntegrationAccount",
+ "type": "Microsoft.Logic/integrationAccounts/partners"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_List.json
new file mode 100644
index 000000000000..0aba9c6caf8d
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "partnerType": "B2B",
+ "content": {
+ "b2b": {
+ "businessIdentities": [
+ {
+ "qualifier": "AA",
+ "value": "ZZ"
+ }
+ ]
+ }
+ },
+ "createdTime": "2017-03-06T19:42:59.197919Z",
+ "changedTime": "2017-03-06T19:42:59.1987212Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/IntegrationAccount2431/partners/testIntegrationAccount",
+ "name": "IntegrationAccountPartner947",
+ "type": "Microsoft.Logic/integrationAccounts/partners"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_ListContentCallbackUrl.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_ListContentCallbackUrl.json
new file mode 100644
index 000000000000..443d026c43fc
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountPartners_ListContentCallbackUrl.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "partnerName": "testPartner",
+ "listContentCallbackUrl": {
+ "notAfter": "2018-04-19T16:00:00Z",
+ "keyType": "Primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "https://prod-00.westus.logic.azure.com:443/integrationAccounts/0fdabc3a76514ca48dede71c73d9fe97/partners/testPartner/contents/Value?api-version=2015-08-01-preview&sp=%2Fpartners%2FtestPartner%2Fread&sv=1.0&sig=VK_mbQPTHTa3ezhsrI8IctckwjlL3GdJmroQH_baYj4",
+ "method": "GET",
+ "basePath": "https://prod-00.westus.logic.azure.com/integrationAccounts/0fdabc3a76514ca48dede71c73d9fe97/partners/testPartner/contents/Value",
+ "queries": {
+ "api-version": "2015-08-01-preview"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_CreateOrUpdate.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_CreateOrUpdate.json
new file mode 100644
index 000000000000..bf67fedd0f74
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_CreateOrUpdate.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "schemaName": "testSchema",
+ "schema": {
+ "properties": {
+ "schemaType": "Xml",
+ "metadata": {},
+ "content": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n",
+ "contentType": "application/xml"
+ },
+ "location": "westus",
+ "tags": {
+ "integrationAccountSchemaName": "IntegrationAccountSchema8120"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "schemaType": "Xml",
+ "targetNamespace": "http://Inbound_EDI.OrderFile",
+ "documentName": "OrderFile",
+ "contentLink": {
+ "uri": "",
+ "contentVersion": "\"0x8D45C56FEDFCB45\"",
+ "contentSize": 7901,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": ""
+ }
+ },
+ "createdTime": "2017-02-24T01:46:48.0837583Z",
+ "changedTime": "2017-02-24T01:46:48.0847046Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/schemas/testSchema",
+ "name": "IntegrationAccountSchema5349",
+ "type": "Microsoft.Logic/integrationAccounts/schemas"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "schemaType": "Xml",
+ "targetNamespace": "http://Inbound_EDI.OrderFile",
+ "documentName": "OrderFile",
+ "contentLink": {
+ "uri": "",
+ "contentVersion": "\"0x8D45C56FEDFCB45\"",
+ "contentSize": 7901,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": ""
+ }
+ },
+ "createdTime": "2017-02-24T01:46:48.0837583Z",
+ "changedTime": "2017-02-24T01:46:48.0847046Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/schemas/testSchema",
+ "name": "IntegrationAccountSchema5349",
+ "type": "Microsoft.Logic/integrationAccounts/schemas"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_Delete.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_Delete.json
new file mode 100644
index 000000000000..ae9be5afaf0b
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "schemaName": "testSchema"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_Get.json
new file mode 100644
index 000000000000..32eddefba903
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_Get.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "schemaName": "testSchema"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "schemaType": "Xml",
+ "targetNamespace": "http://Inbound_EDI.OrderFile",
+ "documentName": "OrderFile",
+ "contentLink": {
+ "uri": "",
+ "contentVersion": "\"0x8D45C56FEDFCB45\"",
+ "contentSize": 7901,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": ""
+ }
+ },
+ "createdTime": "2017-02-24T01:46:48.0837583Z",
+ "changedTime": "2017-02-24T01:46:48.0847046Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/schemas/testSchema",
+ "name": "IntegrationAccountSchema5349",
+ "type": "Microsoft.Logic/integrationAccounts/schemas"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_List.json
new file mode 100644
index 000000000000..4bbf9a2013ce
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "",
+ "integrationAccountName": ""
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "schemaType": "Xml",
+ "targetNamespace": "http://Inbound_EDI.OrderFile",
+ "documentName": "OrderFile",
+ "contentLink": {
+ "uri": "",
+ "contentVersion": "\"0x8D45C553EECEB76\"",
+ "contentSize": 7901,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": ""
+ }
+ },
+ "createdTime": "2017-02-24T01:34:16.7088958Z",
+ "changedTime": "2017-02-24T01:34:16.7098626Z",
+ "metadata": {}
+ },
+ "id": "/subscriptions//resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts//schemas/IntegrationAccountSchema3944",
+ "name": "IntegrationAccountSchema3944",
+ "type": "Microsoft.Logic/integrationAccounts/schemas"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_ListContentCallbackUrl.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_ListContentCallbackUrl.json
new file mode 100644
index 000000000000..4f9a7d6ea672
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSchemas_ListContentCallbackUrl.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "schemaName": "testSchema",
+ "listContentCallbackUrl": {
+ "notAfter": "2018-04-19T16:00:00Z",
+ "keyType": "Primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "https://prod-00.westus.logic.azure.com:443/integrationAccounts/0fdabc3a76514ca48dede71c73d9fe97/schemas/testSchema/contents/Value?api-version=2015-08-01-preview&sp=%2Fschemas%2FtestSchema%2Fread&sv=1.0&sig=VK_mbQPTHTa3ezhsrI8IctckwjlL3GdJmroQH_baYj4",
+ "method": "GET",
+ "basePath": "https://prod-00.westus.logic.azure.com/integrationAccounts/0fdabc3a76514ca48dede71c73d9fe97/schemas/testSchema/contents/Value",
+ "queries": {
+ "api-version": "2015-08-01-preview"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSessions_CreateOrUpdate.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSessions_CreateOrUpdate.json
new file mode 100644
index 000000000000..be5f55cd6654
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSessions_CreateOrUpdate.json
@@ -0,0 +1,65 @@
+{
+ "title": "Create or update integration account session example",
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "integrationAccountName": "testia123",
+ "sessionName": "testsession123-ICN",
+ "session": {
+ "properties": {
+ "content": {
+ "controlNumber": "1234",
+ "controlNumberChangedTime": "2017-02-21T22:30:11.9923759Z"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Cache-Control": "no-cache",
+ "Pragma": "no-cache",
+ "Content-Type": "application/json; charset=utf-8",
+ "Expires": -1,
+ "Vary": "Accept-Encoding",
+ "Date": "Tue, 21 Feb 2017 20:43:03 GMT"
+ },
+ "body": {
+ "properties": {
+ "createdTime": "2017-02-21T20:41:35.9789189Z",
+ "changedTime": "2017-02-21T20:41:35.9796534Z",
+ "content": {
+ "controlNumber": "1234",
+ "controlNumberChangedTime": "2017-02-21T22:30:11.9923759Z"
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Logic/integrationAccounts/testia123/sessions/testsession123-ICN",
+ "name": "testsession123-ICN",
+ "type": "Microsoft.Logic/integrationAccounts/sessions"
+ }
+ },
+ "201": {
+ "headers": {
+ "Cache-Control": "no-cache",
+ "Pragma": "no-cache",
+ "Content-Type": "application/json; charset=utf-8",
+ "Expires": -1,
+ "Date": "Tue, 21 Feb 2017 20:43:03 GMT"
+ },
+ "body": {
+ "properties": {
+ "createdTime": "2017-02-21T20:41:35.9789189Z",
+ "changedTime": "2017-02-21T20:41:35.9796534Z",
+ "content": {
+ "controlNumber": "1234",
+ "controlNumberChangedTime": "2017-02-21T22:30:11.9923759Z"
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Logic/integrationAccounts/testia123/sessions/testsession123-ICN",
+ "name": "testsession123-ICN",
+ "type": "Microsoft.Logic/integrationAccounts/sessions"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSessions_Delete.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSessions_Delete.json
new file mode 100644
index 000000000000..200313559be0
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSessions_Delete.json
@@ -0,0 +1,30 @@
+{
+ "title": "Delete integration account session examples",
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "integrationAccountName": "testia123",
+ "sessionName": "testsession123-ICN"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Cache-Control": "no-cache",
+ "Pragma": "no-cache",
+ "Content-Length": 0,
+ "Expires": -1,
+ "Date": "Tue, 21 Feb 2017 20:43:03 GMT"
+ }
+ },
+ "204": {
+ "headers": {
+ "Cache-Control": "no-cache",
+ "Pragma": "no-cache",
+ "Content-Length": 0,
+ "Expires": -1,
+ "Date": "Tue, 21 Feb 2017 20:43:03 GMT"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSessions_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSessions_Get.json
new file mode 100644
index 000000000000..7aa78e6479b0
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSessions_Get.json
@@ -0,0 +1,35 @@
+{
+ "title": "Get integration account session examples",
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "integrationAccountName": "testia123",
+ "sessionName": "testsession123-ICN"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Cache-Control": "no-cache",
+ "Pragma": "no-cache",
+ "Content-Type": "application/json; charset=utf-8",
+ "Expires": -1,
+ "Vary": "Accept-Encoding",
+ "Date": "Tue, 21 Feb 2017 20:43:03 GMT"
+ },
+ "body": {
+ "properties": {
+ "createdTime": "2017-02-21T20:41:35.9789189Z",
+ "changedTime": "2017-02-21T20:41:35.9796534Z",
+ "content": {
+ "controlNumber": "1234",
+ "controlNumberChangedTime": "2017-02-21T22:30:11.9923759Z"
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Logic/integrationAccounts/testia123/sessions/testsession123-ICN",
+ "name": "testsession123-ICN",
+ "type": "Microsoft.Logic/integrationAccounts/sessions"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSessions_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSessions_List.json
new file mode 100644
index 000000000000..270b69bd15f0
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountSessions_List.json
@@ -0,0 +1,64 @@
+{
+ "title": "List by integration account session examples",
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "integrationAccountName": "testia123"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Cache-Control": "no-cache",
+ "Pragma": "no-cache",
+ "Content-Type": "application/json; charset=utf-8",
+ "Expires": -1,
+ "Vary": "Accept-Encoding",
+ "Date": "Tue, 21 Feb 2017 20:43:03 GMT"
+ },
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "createdTime": "2017-02-21T23:06:24.0152955Z",
+ "changedTime": "2017-02-21T23:06:24.0158575Z",
+ "content": {
+ "controlNumber": "1234",
+ "controlNumberChangedTime": "2017-02-21T22:30:11.9923759Z"
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Logic/integrationAccounts/testia123/sessions/IntegrationAccountSession1662",
+ "name": "IntegrationAccountSession1662",
+ "type": "Microsoft.Logic/integrationAccounts/sessions"
+ },
+ {
+ "properties": {
+ "createdTime": "2017-02-21T23:06:23.7535558Z",
+ "changedTime": "2017-02-21T23:06:23.7540113Z",
+ "content": {
+ "controlNumber": "1234",
+ "controlNumberChangedTime": "2017-02-21T22:30:11.9923759Z"
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Logic/integrationAccounts/testia123/sessions/IntegrationAccountSession6808",
+ "name": "IntegrationAccountSession6808",
+ "type": "Microsoft.Logic/integrationAccounts/sessions"
+ },
+ {
+ "properties": {
+ "createdTime": "2017-02-21T23:06:23.8367926Z",
+ "changedTime": "2017-02-21T23:06:23.8370161Z",
+ "content": {
+ "controlNumber": "1234",
+ "controlNumberChangedTime": "2017-02-21T22:30:11.9923759Z"
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Logic/integrationAccounts/testia123/sessions/IntegrationAccountSession7315",
+ "name": "IntegrationAccountSession7315",
+ "type": "Microsoft.Logic/integrationAccounts/sessions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_CreateOrUpdate.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_CreateOrUpdate.json
new file mode 100644
index 000000000000..413d3dfd4fd6
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_CreateOrUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testResourceGroup",
+ "integrationAccountName": "testIntegrationAccount",
+ "integrationAccount": {
+ "properties": {},
+ "sku": {
+ "name": "Standard"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {},
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount",
+ "name": "testIntegrationAccount",
+ "type": "Microsoft.Logic/integrationAccounts",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {},
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount",
+ "name": "testIntegrationAccount",
+ "type": "Microsoft.Logic/integrationAccounts",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_Delete.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_Delete.json
new file mode 100644
index 000000000000..b68c9a385c62
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testResourceGroup",
+ "integrationAccountName": "testIntegrationAccount"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_Get.json
new file mode 100644
index 000000000000..387050757590
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testResourceGroup",
+ "integrationAccountName": "testIntegrationAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "integrationServiceEnvironment": {
+ "name": "test-integration-service-environment",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/test-integration-service-environment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "state": "Enabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount",
+ "name": "IntegrationAccount5892",
+ "type": "Microsoft.Logic/integrationAccounts",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_ListByResourceGroup.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_ListByResourceGroup.json
new file mode 100644
index 000000000000..1a7ec4376923
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_ListByResourceGroup.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {},
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/IntegrationAccount9020",
+ "name": "IntegrationAccount9020",
+ "type": "Microsoft.Logic/integrationAccounts",
+ "location": "westus"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_ListBySubscription.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_ListBySubscription.json
new file mode 100644
index 000000000000..cc3d73c7e3fb
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_ListBySubscription.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {},
+ "sku": {
+ "name": "Free"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount",
+ "name": "daviburgIAFabrikam",
+ "type": "Microsoft.Logic/integrationAccounts",
+ "location": "northcentralus"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Logic/integrationAccounts?api-version=2018-07-01-preview&%24skiptoken="
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_ListCallbackUrl.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_ListCallbackUrl.json
new file mode 100644
index 000000000000..4fe22a787605
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_ListCallbackUrl.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testResourceGroup",
+ "integrationAccountName": "testIntegrationAccount",
+ "parameters": {
+ "notAfter": "2017-03-05T08:00:00Z",
+ "keyType": "Primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "https://testprod-westus.logic.azure.com:443/integrationAccounts/ce41a499a1e64d95b874f5f14b4bf3b6?api-version=2015-08-01-preview&se=2017-03-17T07%3A00%3A00.0000000Z&sp=%2F%2F%2A&sv=1.0"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_ListKeyVaultKeys.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_ListKeyVaultKeys.json
new file mode 100644
index 000000000000..d32fc3a7fd8e
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_ListKeyVaultKeys.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "listKeyVaultKeys": {
+ "keyVault": {
+ "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.KeyVault/vaults/testKeyVault"
+ },
+ "skipToken": "testSkipToken"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "kid": "https://testKeyVault.vault.azure.net/keys/testkey",
+ "attributes": {
+ "enabled": true,
+ "created": 1498072075,
+ "updated": 1498072075
+ }
+ }
+ ],
+ "skipToken": "testSkipToken"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_LogTrackingEvents.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_LogTrackingEvents.json
new file mode 100644
index 000000000000..9561ce25c770
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_LogTrackingEvents.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "logTrackingEvents": {
+ "sourceType": "Microsoft.Logic/workflows",
+ "events": [
+ {
+ "eventLevel": "Informational",
+ "eventTime": "2016-08-05T01:54:49.505567Z",
+ "recordType": "AS2Message",
+ "record": {
+ "agreementProperties": {
+ "senderPartnerName": "testPartner1",
+ "receiverPartnerName": "testPartner2",
+ "as2To": "testas2to",
+ "as2From": "testas2from",
+ "agreementName": "testAgreement"
+ },
+ "messageProperties": {
+ "direction": "Receive",
+ "messageId": "12345",
+ "dispositionType": "received-success",
+ "fileName": "test",
+ "isMessageFailed": false,
+ "IsMessageEncrypted": false,
+ "IsMessageSigned": false,
+ "correlationMessageId": "Unique message identifier",
+ "isMessageCompressed": false,
+ "isNrrEnabled": true,
+ "isMdnExpected": true,
+ "mdnType": "Async"
+ }
+ },
+ "error": {
+ "message": "Some error occurred",
+ "code": "NotFound"
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_RegenerateAccessKey.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_RegenerateAccessKey.json
new file mode 100644
index 000000000000..7fb2cfa6d272
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_RegenerateAccessKey.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "integrationAccountName": "testIntegrationAccount",
+ "regenerateAccessKey": {
+ "keyType": "Primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {},
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount",
+ "name": "testIntegrationAccount",
+ "type": "Microsoft.Logic/integrationAccounts",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_Update.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_Update.json
new file mode 100644
index 000000000000..78cd4f145047
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccounts_Update.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testResourceGroup",
+ "integrationAccountName": "testIntegrationAccount",
+ "integrationAccount": {
+ "properties": {},
+ "sku": {
+ "name": "Standard"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {},
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount",
+ "name": "testIntegrationAccount",
+ "type": "Microsoft.Logic/integrationAccounts",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Delete.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Delete.json
new file mode 100644
index 000000000000..faf47f082704
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroup": "testResourceGroup",
+ "integrationServiceEnvironmentName": "testIntegrationServiceEnvironment"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Get.json
new file mode 100644
index 000000000000..5e27eff53426
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Get.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "f34b22a3-2202-4fb1-b040-1332bd928c84",
+ "resourceGroup": "testResourceGroup",
+ "integrationServiceEnvironmentName": "testIntegrationServiceEnvironment"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Developer",
+ "capacity": 0
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "state": "Enabled",
+ "integrationServiceEnvironmentId": "13b261d30b984753869902d7f47f4d55",
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.69.195.162"
+ },
+ {
+ "address": "10.43.1.0/24"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "10.43.1.6"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.127.188.117"
+ },
+ {
+ "address": "40.85.114.29"
+ },
+ {
+ "address": "10.43.2.0/24"
+ },
+ {
+ "address": "10.43.3.0/24"
+ }
+ ]
+ }
+ },
+ "networkConfiguration": {
+ "accessEndpoint": {
+ "type": "Internal"
+ },
+ "subnets": [
+ {
+ "name": "VNET-ILB-NorthEurope/s1",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s1",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-NorthEurope/s2",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s2",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-NorthEurope/s3",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s3",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-NorthEurope/s4",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s4",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ }
+ ]
+ }
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "name": "testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments",
+ "location": "northeurope"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ListByResourceGroup.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ListByResourceGroup.json
new file mode 100644
index 000000000000..02eac4cd3bb6
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ListByResourceGroup.json
@@ -0,0 +1,165 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "f34b22a3-2202-4fb1-b040-1332bd928c84",
+ "resourceGroup": "testResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Developer",
+ "capacity": 0
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "state": "Enabled",
+ "integrationServiceEnvironmentId": "13b261d30b984753869902d7f47f4d55",
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.69.195.162"
+ },
+ {
+ "address": "10.43.1.0/24"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "10.43.1.6"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.127.188.117"
+ },
+ {
+ "address": "40.85.114.29"
+ },
+ {
+ "address": "10.43.2.0/24"
+ },
+ {
+ "address": "10.43.3.0/24"
+ }
+ ]
+ }
+ },
+ "networkConfiguration": {
+ "accessEndpoint": {
+ "type": "Internal"
+ },
+ "subnets": [
+ {
+ "name": "VNET-ILB-NorthEurope/s1",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s1",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-NorthEurope/s2",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s2",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-NorthEurope/s3",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s3",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-NorthEurope/s4",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s4",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ }
+ ]
+ }
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/ISE-ILB-NU",
+ "name": "ISE-ILB-NU",
+ "type": "Microsoft.Logic/integrationServiceEnvironments",
+ "location": "northeurope"
+ },
+ {
+ "sku": {
+ "name": "Developer",
+ "capacity": 0
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "state": "Enabled",
+ "integrationServiceEnvironmentId": "08bdba07c6b34ad6a263fc0152ff1735",
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "13.78.237.166"
+ },
+ {
+ "address": "10.42.1.0/24"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "10.42.1.5"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "13.78.134.201"
+ },
+ {
+ "address": "13.77.206.166"
+ },
+ {
+ "address": "10.42.2.0/24"
+ },
+ {
+ "address": "10.42.3.0/24"
+ }
+ ]
+ }
+ },
+ "networkConfiguration": {
+ "accessEndpoint": {
+ "type": "Internal"
+ },
+ "subnets": [
+ {
+ "name": "VNET-ILB-WCentralUS/s1",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-WCentralUS/subnets/s1",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-WCentralUS/s2",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-WCentralUS/subnets/s2",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-WCentralUS/s3",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-WCentralUS/subnets/s3",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-WCentralUS/s4",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-WCentralUS/subnets/s4",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ }
+ ]
+ }
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/ISE-ILB-WCentralUS",
+ "name": "ISE-ILB-WCentralUS",
+ "type": "Microsoft.Logic/integrationServiceEnvironments",
+ "location": "westcentralus"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ListBySubscription.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ListBySubscription.json
new file mode 100644
index 000000000000..5dc8402e230c
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ListBySubscription.json
@@ -0,0 +1,164 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "f34b22a3-2202-4fb1-b040-1332bd928c84"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Developer",
+ "capacity": 0
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "state": "Enabled",
+ "integrationServiceEnvironmentId": "13b261d30b984753869902d7f47f4d55",
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.69.195.162"
+ },
+ {
+ "address": "10.43.1.0/24"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "10.43.1.6"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.127.188.117"
+ },
+ {
+ "address": "40.85.114.29"
+ },
+ {
+ "address": "10.43.2.0/24"
+ },
+ {
+ "address": "10.43.3.0/24"
+ }
+ ]
+ }
+ },
+ "networkConfiguration": {
+ "accessEndpoint": {
+ "type": "Internal"
+ },
+ "subnets": [
+ {
+ "name": "VNET-ILB-NorthEurope/s1",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s1",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-NorthEurope/s2",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s2",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-NorthEurope/s3",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s3",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-NorthEurope/s4",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s4",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ }
+ ]
+ }
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/ISE-ILB-NU",
+ "name": "ISE-ILB-NU",
+ "type": "Microsoft.Logic/integrationServiceEnvironments",
+ "location": "northeurope"
+ },
+ {
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "state": "Enabled",
+ "integrationServiceEnvironmentId": "dd470721b5b14148b9bf5b4d1ff27407",
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "52.161.103.0"
+ },
+ {
+ "address": "10.37.1.0/24"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "13.77.204.22"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "13.77.201.181"
+ },
+ {
+ "address": "13.77.203.57"
+ },
+ {
+ "address": "10.37.4.0/24"
+ },
+ {
+ "address": "10.37.3.0/24"
+ }
+ ]
+ }
+ },
+ "networkConfiguration": {
+ "accessEndpoint": {
+ "type": "External"
+ },
+ "subnets": [
+ {
+ "name": "VNET-wCUS/s4",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-wCUS/subnets/s4",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-wCUS/s3",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-wCUS/subnets/s3",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-wCUS/s2",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-wCUS/subnets/s2",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-wCUS/s1",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-wCUS/subnets/s1",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ }
+ ]
+ }
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/TestISE-WCentralUS",
+ "name": "TestISE-WCentralUS",
+ "type": "Microsoft.Logic/integrationServiceEnvironments",
+ "location": "westcentralus"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Delete.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Delete.json
new file mode 100644
index 000000000000..e937f69e818f
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "f34b22a3-2202-4fb1-b040-1332bd928c84",
+ "resourceGroup": "testResourceGroup",
+ "integrationServiceEnvironmentName": "testIntegrationServiceEnvironment",
+ "apiName": "servicebus"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "azure-AsyncOperation": "https://management.azure.com/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus/operationStatuses/eyJmbG93T3BlcmF0aW9uIjoiRGVsZXRlSW50ZWdyYXRpb25TZXJ2aWNlRW52aXJvbm1lbnRNYW5hZ2VkQXBpIiwib3BlcmF0aW9uU2VxdWVuY2VJZCI6IjA4NTg2MzY1NzE2MzI5MzE0OTU3In0=?api-version=2019-05-01"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Get.json
new file mode 100644
index 000000000000..bf1baf36f950
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Get.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "f34b22a3-2202-4fb1-b040-1332bd928c84",
+ "resourceGroup": "testResourceGroup",
+ "integrationServiceEnvironmentName": "testIntegrationServiceEnvironment",
+ "apiName": "servicebus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "name": "servicebus",
+ "connectionParameters": {
+ "connectionString": {
+ "type": "securestring",
+ "uiDefinition": {
+ "displayName": "Connection String",
+ "description": "Azure Service Bus Connection String",
+ "tooltip": "Provide Azure Service Bus Connection String",
+ "constraints": {
+ "required": "true"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "source": "marketplace",
+ "brandColor": "#c4d5ff"
+ },
+ "runtimeUrls": [
+ "https://flow-weiroa6odksti-db-apim-runtime.northeurope.environments.microsoftazurelogicapps.net/apim/servicebus"
+ ],
+ "generalInformation": {
+ "iconUrl": "https://cpgeneralstore.blob.core.windows.net/officialicons/servicebus/icon_1.0.1206.1574.png",
+ "displayName": "Service Bus",
+ "description": "Connect to Azure Service Bus to send and receive messages. You can perform actions such as send to queue, send to topic, receive from queue, receive from subscription, etc.",
+ "releaseTag": "Production",
+ "tier": "Standard"
+ },
+ "capabilities": [
+ "actions"
+ ],
+ "integrationServiceEnvironment": {
+ "name": "testIntegrationServiceEnvironment",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus",
+ "name": "servicebus",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis",
+ "location": "northeurope"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_List.json
new file mode 100644
index 000000000000..056d3f1bdf10
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_List.json
@@ -0,0 +1,1175 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "f34b22a3-2202-4fb1-b040-1332bd928c84",
+ "resourceGroup": "testResourceGroup",
+ "integrationServiceEnvironmentName": "testIntegrationServiceEnvironment"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "name": "azurefile",
+ "connectionParameters": {
+ "accountName": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "Azure Storage Account name",
+ "description": "Name of the storage account the connector should use.",
+ "tooltip": "Provide the storage account name",
+ "constraints": {
+ "required": "true"
+ }
+ }
+ },
+ "accessKey": {
+ "type": "securestring",
+ "uiDefinition": {
+ "displayName": "Azure Storage Account Access Key",
+ "description": "Specify a valid primary/secondary storage account access key.",
+ "tooltip": "Specify a valid primary/secondary storage account access key.",
+ "constraints": {
+ "required": "true"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "source": "marketplace",
+ "brandColor": "#804998"
+ },
+ "runtimeUrls": [
+ "https://flow-yticlpbiumhig-cqsn-apim-runtime.brazilus.environments.microsoftazurelogicapps.net/apim/azurefile"
+ ],
+ "generalInformation": {
+ "iconUrl": "https://powerappsconnectorsdf.blob.core.windows.net/officialicons/azurefile/icon_1.0.1216.1605.png",
+ "displayName": "Azure File Storage",
+ "description": "Microsoft Azure Storage provides a massively scalable, durable, and highly available storage for data on the cloud, and serves as the data storage solution for modern applications. Connect to File Storage to perform various operations such as create, update, get and delete on files in your Azure Storage account.",
+ "releaseTag": "Preview",
+ "tier": "Standard"
+ },
+ "capabilities": [
+ "blob"
+ ],
+ "integrationServiceEnvironment": {
+ "name": "tes-ise-ga",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/azurefile",
+ "name": "azurefile",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis",
+ "location": "brazilsouth"
+ },
+ {
+ "properties": {
+ "name": "azuretables",
+ "connectionParameters": {
+ "storageaccount": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "Storage Account Name",
+ "description": "The name of your storage account",
+ "tooltip": "Provide the name of the storage account used for tables as it appears in the Azure portal",
+ "constraints": {
+ "required": "true"
+ }
+ }
+ },
+ "sharedkey": {
+ "type": "securestring",
+ "uiDefinition": {
+ "displayName": "Shared Storage Key",
+ "description": "The shared storage key of your storage account",
+ "tooltip": "Provide a shared storage key for the storage account used for tables as it appears in the Azure portal",
+ "constraints": {
+ "required": "true"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "source": "marketplace",
+ "brandColor": "#804998"
+ },
+ "runtimeUrls": [
+ "https://flow-yticlpbiumhig-cqsn-apim-runtime.brazilus.environments.microsoftazurelogicapps.net/apim/azuretables"
+ ],
+ "generalInformation": {
+ "iconUrl": "https://powerappsconnectorsdf.blob.core.windows.net/officialicons/azuretables/icon_1.0.1216.1605.png",
+ "displayName": "Azure Table Storage",
+ "description": "Azure Table storage is a service that stores structured NoSQL data in the cloud, providing a key/attribute store with a schemaless design. Sign into your Storage account to create, update, and query tables and more.",
+ "releaseTag": "Production",
+ "tier": "Standard"
+ },
+ "capabilities": [
+ "actions"
+ ],
+ "integrationServiceEnvironment": {
+ "name": "testIntegrationServiceEnvironment",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/azuretables",
+ "name": "azuretables",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis",
+ "location": "brazilsouth"
+ },
+ {
+ "properties": {
+ "name": "eventhubs",
+ "connectionParameters": {
+ "connectionString": {
+ "type": "securestring",
+ "uiDefinition": {
+ "displayName": "Connection String",
+ "description": "Azure Event Hubs Connection String",
+ "tooltip": "Provide Azure Event Hubs Connection String",
+ "constraints": {
+ "required": "true"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "source": "marketplace",
+ "brandColor": "#c4d5ff"
+ },
+ "runtimeUrls": [
+ "https://flow-yticlpbiumhig-cqsn-apim-runtime.brazilus.environments.microsoftazurelogicapps.net/apim/eventhubs"
+ ],
+ "generalInformation": {
+ "iconUrl": "https://connectoricons-df.azureedge.net/eventhubs/icon_1.0.1228.1637.png",
+ "displayName": "Event Hubs",
+ "description": "Connect to Azure Event Hubs to send and receive events.",
+ "releaseTag": "Production",
+ "tier": "Standard"
+ },
+ "capabilities": [
+ "actions"
+ ],
+ "integrationServiceEnvironment": {
+ "name": "testIntegrationServiceEnvironment",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/eventhubs",
+ "name": "eventhubs",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis",
+ "location": "brazilsouth"
+ },
+ {
+ "properties": {
+ "name": "mq",
+ "connectionParameters": {
+ "server": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "Server",
+ "description": "The host name and port the MQ server is running on (host:port).",
+ "tooltip": "Server:Port",
+ "constraints": {
+ "tabIndex": 1,
+ "required": "true",
+ "capability": [
+ "cloud"
+ ]
+ }
+ }
+ },
+ "queueManager": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "Queue Manager name",
+ "description": "The name of the Queue Manager to connect to.",
+ "tooltip": "Queue Manager name",
+ "constraints": {
+ "tabIndex": 2,
+ "required": "true",
+ "capability": [
+ "cloud"
+ ]
+ }
+ }
+ },
+ "channel": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "Channel name",
+ "description": "The channel to connect to the Queue Manager on.",
+ "tooltip": "Channel name",
+ "constraints": {
+ "tabIndex": 3,
+ "required": "true",
+ "capability": [
+ "cloud"
+ ]
+ }
+ }
+ },
+ "queue": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "Default queue name",
+ "description": "The name of the default queue, may be overriden.",
+ "tooltip": "Default queue name",
+ "constraints": {
+ "tabIndex": 4,
+ "required": "true",
+ "capability": [
+ "cloud"
+ ]
+ }
+ }
+ },
+ "effectiveUserName": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "Connect As",
+ "description": "The user name to use when connecting to MQ.",
+ "tooltip": "Connect As",
+ "constraints": {
+ "tabIndex": 5,
+ "clearText": true,
+ "required": "true",
+ "capability": [
+ "cloud"
+ ]
+ }
+ }
+ },
+ "authType": {
+ "type": "string",
+ "allowedValues": [
+ {
+ "value": "basic"
+ },
+ {
+ "value": "anonymous"
+ }
+ ],
+ "uiDefinition": {
+ "displayName": "Authentication",
+ "description": "Authentication type to connect to your Queue Manager",
+ "tooltip": "Authentication type to connect to your Queue Manager",
+ "constraints": {
+ "tabIndex": 6,
+ "required": "true",
+ "allowedValues": [
+ {
+ "text": "Basic",
+ "value": "basic"
+ },
+ {
+ "text": "Anonymous",
+ "value": "anonymous"
+ }
+ ],
+ "capability": []
+ }
+ }
+ },
+ "username": {
+ "type": "securestring",
+ "uiDefinition": {
+ "displayName": "Username",
+ "description": "Username credential",
+ "tooltip": "Username credential",
+ "constraints": {
+ "tabIndex": 7,
+ "clearText": true,
+ "required": "false",
+ "capability": [
+ "cloud"
+ ]
+ }
+ }
+ },
+ "password": {
+ "type": "securestring",
+ "uiDefinition": {
+ "displayName": "Password",
+ "description": "Password credential",
+ "tooltip": "Password credential",
+ "constraints": {
+ "tabIndex": 8,
+ "required": "false",
+ "capability": [
+ "cloud"
+ ]
+ }
+ }
+ },
+ "enableSSL": {
+ "type": "bool",
+ "uiDefinition": {
+ "displayName": "Enable SSL?",
+ "description": "Enable SSL? (True/False)",
+ "tooltip": "Specify if SSL needs to be enabled",
+ "constraints": {
+ "tabIndex": 9,
+ "required": "false",
+ "capability": []
+ }
+ }
+ }
+ },
+ "metadata": {
+ "source": "marketplace",
+ "brandColor": "#466BB0"
+ },
+ "runtimeUrls": [
+ "https://flow-yticlpbiumhig-cqsn-apim-runtime.brazilus.environments.microsoftazurelogicapps.net/apim/mq"
+ ],
+ "generalInformation": {
+ "iconUrl": "https://powerappsconnectorsdf.blob.core.windows.net/officialicons/mq/icon_1.0.1216.1605.png",
+ "displayName": "MQ",
+ "description": "Microsoft Connector for MQ integrates Azure applications with resources stored in an IBM WebSphere MQ server. Supports message send and receive operations.",
+ "releaseTag": "Production",
+ "tier": "Enterprise"
+ },
+ "capabilities": [
+ "actions",
+ "cloud"
+ ],
+ "integrationServiceEnvironment": {
+ "name": "testIntegrationServiceEnvironment",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/mq",
+ "name": "mq",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis",
+ "location": "brazilsouth"
+ },
+ {
+ "properties": {
+ "name": "sap",
+ "connectionParameters": {
+ "client": {
+ "type": "int",
+ "uiDefinition": {
+ "displayName": "Client",
+ "description": "The SAP client ID to connect to the SAP system.",
+ "tooltip": "The SAP backend's client (or 'Mandant') into which to log in. It is a number ranging from 000 to 999.",
+ "constraints": {
+ "tabIndex": 2,
+ "required": "true",
+ "capability": [
+ "integrationServiceEnvironment"
+ ]
+ }
+ }
+ },
+ "authType": {
+ "type": "string",
+ "defaultValue": "basic",
+ "allowedValues": [
+ {
+ "value": "basic"
+ }
+ ],
+ "uiDefinition": {
+ "displayName": "Authentication Type",
+ "description": "Authentication type to connect to the SAP System. Must be basic (username and password).",
+ "tooltip": "Authentication type to connect to the SAP System.",
+ "constraints": {
+ "tabIndex": 3,
+ "required": "true",
+ "allowedValues": [
+ {
+ "text": "Basic",
+ "value": "basic"
+ }
+ ],
+ "capability": [
+ "integrationServiceEnvironment"
+ ]
+ }
+ }
+ },
+ "username": {
+ "type": "securestring",
+ "uiDefinition": {
+ "displayName": "SAP Username",
+ "description": "The username to be used for log in to the SAP System.",
+ "tooltip": "The username to be used for log in to the SAP System.",
+ "constraints": {
+ "tabIndex": 4,
+ "clearText": true,
+ "required": "false",
+ "capability": [
+ "integrationServiceEnvironment"
+ ]
+ }
+ }
+ },
+ "password": {
+ "type": "securestring",
+ "uiDefinition": {
+ "displayName": "SAP Password",
+ "description": "The password to be used for log in to the SAP System.",
+ "tooltip": "The password to be used for log in to the SAP System.",
+ "constraints": {
+ "tabIndex": 5,
+ "clearText": false,
+ "required": "false",
+ "capability": [
+ "integrationServiceEnvironment"
+ ]
+ }
+ }
+ },
+ "logonType": {
+ "type": "string",
+ "defaultValue": "Group",
+ "allowedValues": [
+ {
+ "value": "ApplicationServer",
+ "uiDefinition": {
+ "displayName": "Application Server (Type A)",
+ "description": "Application Server Logon (Type A)"
+ }
+ },
+ {
+ "value": "Group",
+ "uiDefinition": {
+ "displayName": "Group (Type B aka Message Server)",
+ "description": "Group Logon (Type B aka Message Server)"
+ }
+ }
+ ],
+ "uiDefinition": {
+ "displayName": "Logon Type",
+ "description": "The type of logon to the SAP System, either Application Server Logon (Type A) or Group Logon (Type B aka Message Server).",
+ "tooltip": "The type of logon to the SAP System.",
+ "constraints": {
+ "tabIndex": 6,
+ "required": "true",
+ "allowedValues": [
+ {
+ "text": "Application Server",
+ "value": "ApplicationServer"
+ },
+ {
+ "text": "Group",
+ "value": "Group"
+ }
+ ],
+ "capability": [
+ "integrationServiceEnvironment"
+ ]
+ }
+ }
+ },
+ "appServerHost": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "AS Host",
+ "description": "The hostname of the SAP Application Server. ",
+ "tooltip": "The hostname of the specific SAP Application Server to connect to.",
+ "constraints": {
+ "tabIndex": 7,
+ "required": "false",
+ "capability": [
+ "integrationServiceEnvironment"
+ ],
+ "dependencies": {
+ "LogonType": {
+ "values": [
+ "ApplicationServer"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "appServerService": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "AS Service",
+ "description": "The service name or port number of the SAP Application Server.",
+ "tooltip": "The service name or port numbe of the specific SAP Application Server to connect to (Optional for connection type (Logon) A - Application Server).",
+ "constraints": {
+ "tabIndex": 8,
+ "required": "false",
+ "capability": [
+ "integrationServiceEnvironment"
+ ],
+ "dependencies": {
+ "LogonType": {
+ "values": [
+ "ApplicationServer"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "systemNumber": {
+ "type": "int",
+ "uiDefinition": {
+ "displayName": "AS System Number",
+ "description": "The SAP System’s System Number. It is a number ranging from 00 to 99.",
+ "tooltip": "The SAP System’s System Number. It is a number ranging from 00 to 99 (Mandatory if connection type (Logon) is A - Application Server).",
+ "constraints": {
+ "tabIndex": 9,
+ "required": "false",
+ "capability": [
+ "integrationServiceEnvironment"
+ ],
+ "dependencies": {
+ "LogonType": {
+ "values": [
+ "ApplicationServer"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "messageServerHost": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "MS Server Host",
+ "description": "The hostname of the SAP Message Server aka R3 System Name.",
+ "tooltip": "The hostname of the SAP System’s Message Server (central instance) aka R3 System Name (Mandatory if connection type (Logon) is B - Message Server (Group)).",
+ "constraints": {
+ "tabIndex": 10,
+ "required": "false",
+ "capability": [
+ "integrationServiceEnvironment"
+ ],
+ "dependencies": {
+ "LogonType": {
+ "values": [
+ "Group"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "messageServerService": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "MS Service Name or Port Number",
+ "description": "The service name or port number of the Message Server.",
+ "tooltip": "The Service Name (as defined in etc/services) or the Port Number under which the Message Server is listening for load-balancing requests (Mandatory if connection type (Logon) is B - Message Server (Group) and System ID is not present)",
+ "constraints": {
+ "tabIndex": 11,
+ "required": "false",
+ "capability": [
+ "integrationServiceEnvironment"
+ ],
+ "dependencies": {
+ "LogonType": {
+ "values": [
+ "Group"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "systemID": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "MS System ID",
+ "description": "The System ID of the SAP system.",
+ "tooltip": "The SAP system’s three-letter system ID (Mandatory if connection type (Logon) is B - Message Server (Group) and Message Server Service is not present)",
+ "constraints": {
+ "tabIndex": 12,
+ "required": "false",
+ "capability": [
+ "integrationServiceEnvironment"
+ ],
+ "dependencies": {
+ "LogonType": {
+ "values": [
+ "Group"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "logonGroup": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "MS Logon Group",
+ "description": "The Logon Group for the SAP System.",
+ "tooltip": "The Logon Group for the SAP System, from which the Message Server shall select an Application Server (Only available if connection type (Logon) is B - Message Server (Group))",
+ "constraints": {
+ "tabIndex": 13,
+ "required": "false",
+ "capability": [
+ "integrationServiceEnvironment"
+ ],
+ "dependencies": {
+ "LogonType": {
+ "values": [
+ "Group"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "safeTyping": {
+ "type": "bool",
+ "uiDefinition": {
+ "displayName": "Safe Typing",
+ "description": "Use strong types if false, otherwise use string as safe type.",
+ "tooltip": "Enables safe typing, which treats types as string instead of strong types (e.g. Date, Time, Datetime), relaxing type and value validations.",
+ "constraints": {
+ "tabIndex": 14,
+ "required": "false",
+ "capability": [
+ "integrationServiceEnvironment"
+ ]
+ }
+ }
+ },
+ "useSnc": {
+ "type": "bool",
+ "defaultValue": "false",
+ "uiDefinition": {
+ "displayName": "Use SNC",
+ "description": "When selected, the connections will be secured with SNC.",
+ "tooltip": "When selected, the connections will be secured with SNC",
+ "constraints": {
+ "tabIndex": 15,
+ "capability": []
+ }
+ }
+ },
+ "sncLibraryPath": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "SNC Library",
+ "description": "Name or path of the SNC library to be used.",
+ "tooltip": "Name or path of the SNC library to be used. Path can be absolute path or relative to the NCo library",
+ "constraints": {
+ "tabIndex": 16,
+ "required": "false",
+ "capability": [],
+ "dependencies": {
+ "UseSnc": {
+ "values": [
+ "true"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "sncSso": {
+ "type": "string",
+ "defaultValue": "On",
+ "allowedValues": [
+ {
+ "value": "On"
+ },
+ {
+ "value": "Off"
+ }
+ ],
+ "uiDefinition": {
+ "displayName": "SNC SSO",
+ "description": "The SNC SSO specifies whether to use SNC identity or credentials provided on RFC level.",
+ "tooltip": "The SNC SSO specifies whether to use SNC identity or credentials provided on RFC level.",
+ "constraints": {
+ "tabIndex": 17,
+ "required": "false",
+ "allowedValues": [
+ {
+ "text": "Logon using the SNC identity",
+ "value": "On"
+ },
+ {
+ "text": "Logon with the username/password information provided on RFC level",
+ "value": "Off"
+ }
+ ],
+ "capability": [],
+ "dependencies": {
+ "UseSnc": {
+ "values": [
+ "true"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "sncMyName": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "SNC My Name",
+ "description": "Identity to be used for this particular destination/server (optional).",
+ "tooltip": "The installed SNC solution usually knows its own SNC name. Only for solutions supporting 'multiple identities', you may need to specify the identity to be used for this particular destination/server (optional)",
+ "constraints": {
+ "tabIndex": 18,
+ "required": "false",
+ "capability": [],
+ "dependencies": {
+ "UseSnc": {
+ "values": [
+ "true"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "sncPartnerName": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "SNC Partner Name",
+ "description": "The backend's SNC name (Required when Logon Type is Application Server).",
+ "tooltip": "The backend's SNC name (Required when Logon Type is Application Server)",
+ "constraints": {
+ "tabIndex": 19,
+ "required": "false",
+ "capability": [],
+ "dependencies": {
+ "UseSnc": {
+ "values": [
+ "true"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "sncQop": {
+ "type": "string",
+ "defaultValue": "Default",
+ "allowedValues": [
+ {
+ "value": "Authentication"
+ },
+ {
+ "value": "Integrity"
+ },
+ {
+ "value": "Privacy"
+ },
+ {
+ "value": "Default"
+ },
+ {
+ "value": "Maximum"
+ }
+ ],
+ "uiDefinition": {
+ "displayName": "SNC Quality of Protection",
+ "description": "Quality of Service to be used for SNC communication of this particular destination/server.",
+ "tooltip": "Quality of Service to be used for SNC communication of this particular destination/server",
+ "constraints": {
+ "tabIndex": 20,
+ "required": "false",
+ "allowedValues": [
+ {
+ "text": "Authentication only",
+ "value": "Authentication"
+ },
+ {
+ "text": "Authentication and integrity protection",
+ "value": "Integrity"
+ },
+ {
+ "text": "Authentication, integrity and privacy protection (encryption)",
+ "value": "Privacy"
+ },
+ {
+ "text": "Default protection",
+ "value": "Default"
+ },
+ {
+ "text": "Maximum protection",
+ "value": "Maximum"
+ }
+ ],
+ "capability": [],
+ "dependencies": {
+ "UseSnc": {
+ "values": [
+ "true"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "metadata": {
+ "deploymentParameters": {
+ "packageContentLink": {
+ "type": "blob",
+ "isRequired": true,
+ "displayName": "SAP package",
+ "description": "Upload package containing SAP NCo components and optionally SNC components.",
+ "visibility": "Default"
+ },
+ "redisCacheConnectionString": {
+ "type": "string",
+ "isRequired": true,
+ "displayName": "Redis connection string",
+ "description": "Redis connection string",
+ "visibility": "Internal"
+ }
+ },
+ "source": "marketplace",
+ "brandColor": "#99e7ff"
+ },
+ "runtimeUrls": [
+ "https://flow-yticlpbiumhig-cqsn-apim-runtime.brazilus.environments.microsoftazurelogicapps.net/apim/sap"
+ ],
+ "generalInformation": {
+ "iconUrl": "https://connectoricons-df.azureedge.net/sap/icon_1.0.1224.1629.png",
+ "displayName": "SAP",
+ "description": "SAP connector is part of Microsoft’s hybrid integration platform. Use this connector to run SAP based applications side by side with Logic Apps to connect with On-Premise Line of Business systems.",
+ "releaseTag": "Production",
+ "tier": "Enterprise"
+ },
+ "capabilities": [
+ "actions",
+ "triggers",
+ "integrationServiceEnvironment"
+ ],
+ "integrationServiceEnvironment": {
+ "name": "testIntegrationServiceEnvironment",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/sap",
+ "name": "sap",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis",
+ "location": "brazilsouth"
+ },
+ {
+ "properties": {
+ "name": "servicebus",
+ "connectionParameters": {
+ "connectionString": {
+ "type": "securestring",
+ "uiDefinition": {
+ "displayName": "Connection String",
+ "description": "Azure Service Bus Connection String",
+ "tooltip": "Provide Azure Service Bus Connection String",
+ "constraints": {
+ "required": "true"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "source": "marketplace",
+ "brandColor": "#c4d5ff"
+ },
+ "runtimeUrls": [
+ "https://flow-yticlpbiumhig-cqsn-apim-runtime.brazilus.environments.microsoftazurelogicapps.net/apim/servicebus"
+ ],
+ "generalInformation": {
+ "iconUrl": "https://powerappsconnectorsdf.blob.core.windows.net/officialicons/servicebus/icon_1.0.1216.1605.png",
+ "displayName": "Service Bus",
+ "description": "Connect to Azure Service Bus to send and receive messages. You can perform actions such as send to queue, send to topic, receive from queue, receive from subscription, etc.",
+ "releaseTag": "Production",
+ "tier": "Standard"
+ },
+ "capabilities": [
+ "actions"
+ ],
+ "integrationServiceEnvironment": {
+ "name": "testIntegrationServiceEnvironment",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus",
+ "name": "servicebus",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis",
+ "location": "brazilsouth"
+ },
+ {
+ "properties": {
+ "name": "si3270",
+ "connectionParameters": {
+ "integrationAccountId": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "Integration Account ID",
+ "description": "Integration Account ID",
+ "tooltip": "Provide Resource ID for the integration account",
+ "constraints": {
+ "required": "true"
+ }
+ }
+ },
+ "integrationAccountUrl": {
+ "type": "securestring",
+ "uiDefinition": {
+ "displayName": "Integration Account SAS URL",
+ "description": "Integration Account SAS URL",
+ "tooltip": "Provide SAS URL for the integration account",
+ "constraints": {
+ "required": "true"
+ }
+ }
+ },
+ "server": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "Server",
+ "description": "The name of the host running a TN 3270 server.",
+ "tooltip": "Server",
+ "constraints": {
+ "tabIndex": 1,
+ "required": "true"
+ }
+ }
+ },
+ "port": {
+ "type": "int",
+ "defaultValue": 23,
+ "uiDefinition": {
+ "displayName": "Port",
+ "description": "Specifies the port for the TN 3270 server.",
+ "tooltip": "Specifies the port for the TN 3270 server",
+ "constraints": {
+ "tabIndex": 2,
+ "required": "false"
+ }
+ }
+ },
+ "deviceType": {
+ "type": "string",
+ "defaultValue": "IBM-3278-2",
+ "allowedValues": [
+ {
+ "value": "IBM-3278-2"
+ },
+ {
+ "value": "IBM-3278-2-E"
+ },
+ {
+ "value": "IBM-3279-2"
+ },
+ {
+ "value": "IBM-3279-2-E"
+ },
+ {
+ "value": "IBM-3278-3"
+ },
+ {
+ "value": "IBM-3278-3-E"
+ },
+ {
+ "value": "IBM-3279-3"
+ },
+ {
+ "value": "IBM-3279-3-E"
+ },
+ {
+ "value": "IBM-3278-4"
+ },
+ {
+ "value": "IBM-3278-4-E"
+ },
+ {
+ "value": "IBM-3279-4"
+ },
+ {
+ "value": "IBM-3279-4-E"
+ },
+ {
+ "value": "IBM-3278-5"
+ },
+ {
+ "value": "IBM-3278-5-E"
+ },
+ {
+ "value": "IBM-3279-5"
+ },
+ {
+ "value": "IBM-3279-5-E"
+ }
+ ],
+ "uiDefinition": {
+ "displayName": "Device Type",
+ "description": "The 3270 model to use.",
+ "tooltip": "Device Type",
+ "constraints": {
+ "tabIndex": 3,
+ "required": "false",
+ "allowedValues": [
+ {
+ "text": "IBM-3278-2",
+ "value": "IBM-3278-2"
+ },
+ {
+ "text": "IBM-3278-2-E",
+ "value": "IBM-3278-2-E"
+ },
+ {
+ "text": "IBM-3279-2",
+ "value": "IBM-3279-2"
+ },
+ {
+ "text": "IBM-3279-2-E",
+ "value": "IBM-3279-2-E"
+ },
+ {
+ "text": "IBM-3278-3",
+ "value": "IBM-3278-3"
+ },
+ {
+ "text": "IBM-3278-3-E",
+ "value": "IBM-3278-3-E"
+ },
+ {
+ "text": "IBM-3279-3",
+ "value": "IBM-3279-3"
+ },
+ {
+ "text": "IBM-3279-3-E",
+ "value": "IBM-3279-3-E"
+ },
+ {
+ "text": "IBM-3278-4",
+ "value": "IBM-3278-4"
+ },
+ {
+ "text": "IBM-3278-4-E",
+ "value": "IBM-3278-4-E"
+ },
+ {
+ "text": "IBM-3279-4",
+ "value": "IBM-3279-4"
+ },
+ {
+ "text": "IBM-3279-4-E",
+ "value": "IBM-3279-4-E"
+ },
+ {
+ "text": "IBM-3278-5",
+ "value": "IBM-3278-5"
+ },
+ {
+ "text": "IBM-3278-5-E",
+ "value": "IBM-3278-5-E"
+ },
+ {
+ "text": "IBM-3279-5",
+ "value": "IBM-3279-5"
+ },
+ {
+ "text": "IBM-3279-5-E",
+ "value": "IBM-3279-5-E"
+ }
+ ]
+ }
+ }
+ },
+ "codePage": {
+ "type": "int",
+ "defaultValue": 37,
+ "uiDefinition": {
+ "displayName": "Code Page",
+ "description": "Specifies the code page of the host.",
+ "tooltip": "Code Page",
+ "constraints": {
+ "tabIndex": 4,
+ "required": "false"
+ }
+ }
+ },
+ "logicalUnitName": {
+ "type": "string",
+ "uiDefinition": {
+ "displayName": "Logical Unit Name",
+ "description": "The name of specific logical unit to request from the TN 3270 server.",
+ "tooltip": "Logical Unit Name",
+ "constraints": {
+ "tabIndex": 5,
+ "required": "false"
+ }
+ }
+ },
+ "useSsl": {
+ "type": "bool",
+ "defaultValue": "false",
+ "uiDefinition": {
+ "displayName": "Enable SSL?",
+ "description": "Enable SSL? (True/False)",
+ "tooltip": "Specify if SSL needs to be enabled",
+ "constraints": {
+ "tabIndex": 6,
+ "required": "false"
+ }
+ }
+ },
+ "validateCertificate": {
+ "type": "bool",
+ "defaultValue": "false",
+ "uiDefinition": {
+ "displayName": "Validate host ssl certificate?",
+ "description": "Validate host ssl certificate? (True/False)",
+ "tooltip": "Specify if host ssl certificate should be validated",
+ "constraints": {
+ "tabIndex": 7,
+ "required": "false"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "source": "marketplace",
+ "brandColor": "#59b4d9",
+ "connectionType": "integrationAccount"
+ },
+ "runtimeUrls": [
+ "https://flow-yticlpbiumhig-cqsn-apim-runtime.brazilus.environments.microsoftazurelogicapps.net/apim/si3270"
+ ],
+ "generalInformation": {
+ "iconUrl": "https://connectoricons-df.azureedge.net/si3270/icon_1.0.1228.1636.png",
+ "displayName": "IBM 3270",
+ "description": "Microsoft Connector for 3270 integrates Azure applications with resources available via TN 3270 Screen Scraping.",
+ "releaseTag": "Preview",
+ "tier": "Enterprise"
+ },
+ "capabilities": [
+ "actions"
+ ],
+ "integrationServiceEnvironment": {
+ "name": "testIntegrationServiceEnvironment",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/si3270",
+ "name": "si3270",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis",
+ "location": "brazilsouth"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_ListApiOperations.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_ListApiOperations.json
new file mode 100644
index 000000000000..ecfe066b0a87
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_ListApiOperations.json
@@ -0,0 +1,213 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "80d4fe69-c95b-4dd2-a938-9250f1c8ab03",
+ "resourceGroup": "testResourceGroup",
+ "integrationServiceEnvironmentName": "testIntegrationServiceEnvironment",
+ "apiName": "servicebus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "summary": "Send message",
+ "description": "This operation sends a message to a queue or topic.",
+ "visibility": "important",
+ "pageable": false,
+ "annotation": {
+ "status": "Production",
+ "family": "SendMessage",
+ "revision": 1
+ },
+ "api": {
+ "displayName": "Service Bus",
+ "description": "Connect to Azure Service Bus to send and receive messages. You can perform actions such as send to queue, send to topic, receive from queue, receive from subscription, etc.",
+ "iconUri": "https://powerappsconnectorsdf.blob.core.windows.net/officialicons/servicebus/icon_1.0.1216.1605.png",
+ "brandColor": "#c4d5ff",
+ "category": "Standard",
+ "integrationServiceEnvironment": {
+ "name": "testIntegrationServiceEnvironment",
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis"
+ },
+ "isWebhook": false,
+ "isNotification": false
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus/apiOperations/SendMessage",
+ "name": "SendMessage",
+ "location": "brazilsouth"
+ },
+ {
+ "properties": {
+ "summary": "Send one or more messages",
+ "description": "This operation sends one or more messages to a queue or topic.",
+ "visibility": "important",
+ "pageable": false,
+ "annotation": {
+ "status": "Production",
+ "family": "SendMessages",
+ "revision": 1
+ },
+ "api": {
+ "displayName": "Service Bus",
+ "description": "Connect to Azure Service Bus to send and receive messages. You can perform actions such as send to queue, send to topic, receive from queue, receive from subscription, etc.",
+ "iconUri": "https://powerappsconnectorsdf.blob.core.windows.net/officialicons/servicebus/icon_1.0.1216.1605.png",
+ "brandColor": "#c4d5ff",
+ "category": "Standard",
+ "integrationServiceEnvironment": {
+ "name": "testIntegrationServiceEnvironment",
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis"
+ },
+ "isWebhook": false,
+ "isNotification": false
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus/apiOperations/SendMessages",
+ "name": "SendMessages",
+ "location": "brazilsouth"
+ },
+ {
+ "properties": {
+ "summary": "When a message is received in a queue (auto-complete)",
+ "description": "This operation triggers a flow when a message is received in a queue and auto completes the message.",
+ "visibility": "important",
+ "trigger": "single",
+ "pageable": false,
+ "annotation": {
+ "status": "Production",
+ "family": "GetMessageFromQueue",
+ "revision": 1
+ },
+ "api": {
+ "displayName": "Service Bus",
+ "description": "Connect to Azure Service Bus to send and receive messages. You can perform actions such as send to queue, send to topic, receive from queue, receive from subscription, etc.",
+ "iconUri": "https://powerappsconnectorsdf.blob.core.windows.net/officialicons/servicebus/icon_1.0.1216.1605.png",
+ "brandColor": "#c4d5ff",
+ "category": "Standard",
+ "integrationServiceEnvironment": {
+ "name": "testIntegrationServiceEnvironment",
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis"
+ },
+ "isWebhook": false,
+ "isNotification": false
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus/apiOperations/GetMessageFromQueue",
+ "name": "GetMessageFromQueue",
+ "location": "brazilsouth"
+ },
+ {
+ "properties": {
+ "summary": "When a message is received in a queue (peek-lock)",
+ "description": "The operation triggers a flow when a message received in a queue with peek-lock mode.",
+ "visibility": "important",
+ "trigger": "single",
+ "pageable": false,
+ "annotation": {
+ "status": "Production",
+ "family": "GetNewMessageFromQueueWithPeekLock",
+ "revision": 1
+ },
+ "api": {
+ "displayName": "Service Bus",
+ "description": "Connect to Azure Service Bus to send and receive messages. You can perform actions such as send to queue, send to topic, receive from queue, receive from subscription, etc.",
+ "iconUri": "https://powerappsconnectorsdf.blob.core.windows.net/officialicons/servicebus/icon_1.0.1216.1605.png",
+ "brandColor": "#c4d5ff",
+ "category": "Standard",
+ "integrationServiceEnvironment": {
+ "name": "testIntegrationServiceEnvironment",
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis"
+ },
+ "isWebhook": false,
+ "isNotification": false
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus/apiOperations/GetNewMessageFromQueueWithPeekLock",
+ "name": "GetNewMessageFromQueueWithPeekLock",
+ "location": "brazilsouth"
+ },
+ {
+ "properties": {
+ "summary": "When a message is received in a topic subscription (auto-complete)",
+ "description": "This operation triggers a flow when a message is received in a topic subscription and auto completes the message.",
+ "visibility": "important",
+ "trigger": "single",
+ "pageable": false,
+ "annotation": {
+ "status": "Production",
+ "family": "GetMessageFromTopic",
+ "revision": 1
+ },
+ "api": {
+ "displayName": "Service Bus",
+ "description": "Connect to Azure Service Bus to send and receive messages. You can perform actions such as send to queue, send to topic, receive from queue, receive from subscription, etc.",
+ "iconUri": "https://powerappsconnectorsdf.blob.core.windows.net/officialicons/servicebus/icon_1.0.1216.1605.png",
+ "brandColor": "#c4d5ff",
+ "category": "Standard",
+ "integrationServiceEnvironment": {
+ "name": "testIntegrationServiceEnvironment",
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis"
+ },
+ "isWebhook": false,
+ "isNotification": false
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus/apiOperations/GetMessageFromTopic",
+ "name": "GetMessageFromTopic",
+ "location": "brazilsouth"
+ },
+ {
+ "properties": {
+ "summary": "When a message is received in a topic subscription (peek-lock)",
+ "description": "The operation triggers a flow when a message received in a topic subscription with peek-lock mode.",
+ "visibility": "important",
+ "trigger": "single",
+ "pageable": false,
+ "annotation": {
+ "status": "Production",
+ "family": "GetNewMessageFromTopicWithPeekLock",
+ "revision": 1
+ },
+ "api": {
+ "displayName": "Service Bus",
+ "description": "Connect to Azure Service Bus to send and receive messages. You can perform actions such as send to queue, send to topic, receive from queue, receive from subscription, etc.",
+ "iconUri": "https://powerappsconnectorsdf.blob.core.windows.net/officialicons/servicebus/icon_1.0.1216.1605.png",
+ "brandColor": "#c4d5ff",
+ "category": "Standard",
+ "integrationServiceEnvironment": {
+ "name": "testIntegrationServiceEnvironment",
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis"
+ },
+ "isWebhook": false,
+ "isNotification": false
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/managedApis/servicebus/apiOperations/GetNewMessageFromTopicWithPeekLock",
+ "name": "GetNewMessageFromTopicWithPeekLock",
+ "location": "brazilsouth"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Put.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Put.json
new file mode 100644
index 000000000000..afa23a8b4540
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Put.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "f34b22a3-2202-4fb1-b040-1332bd928c84",
+ "resourceGroup": "testResourceGroup",
+ "integrationServiceEnvironmentName": "testIntegrationServiceEnvironment",
+ "apiName": "servicebus"
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "azure-AsyncOperation": "https://management.azure.com/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/rohithah-ise/providers/Microsoft.Logic/integrationServiceEnvironments/tes-ise-ga/managedApis/servicebus/operationStatuses/eyJmbG93T3BlcmF0aW9uIjoiUHV0SW50ZWdyYXRpb25TZXJ2aWNlRW52aXJvbm1lbnRNYW5hZ2VkQXBpIiwib3BlcmF0aW9uU2VxdWVuY2VJZCI6IjA4NTg2MzY1Njk4NjQ3MjkwMTEwIn0=?api-version=2019-05-01"
+ },
+ "body": {
+ "properties": {
+ "generalInformation": {
+ "iconUrl": "https://connectoricons-df.azureedge.net/servicebus/icon_1.0.1223.1623.png",
+ "displayName": "Service Bus",
+ "description": "Connect to Azure Service Bus to send and receive messages. You can perform actions such as send to queue, send to topic, receive from queue, receive from subscription, etc.",
+ "releaseTag": "Production",
+ "tier": "Standard"
+ },
+ "integrationServiceEnvironment": {
+ "name": "tes-ise-ga",
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/rohithah-ise/providers/Microsoft.Logic/integrationServiceEnvironments/tes-ise-ga",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "provisioningState": "InProgress",
+ "category": "Standard"
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/rohithah-ise/providers/Microsoft.Logic/integrationServiceEnvironments/tes-ise-ga/managedApis/servicebus",
+ "name": "servicebus",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis",
+ "location": "brazilsouth"
+ }
+ },
+ "200": {
+ "headers": {
+ "azure-AsyncOperation": "https://management.azure.com/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/rohithah-ise/providers/Microsoft.Logic/integrationServiceEnvironments/tes-ise-ga/managedApis/servicebus/operationStatuses/eyJmbG93T3BlcmF0aW9uIjoiUHV0SW50ZWdyYXRpb25TZXJ2aWNlRW52aXJvbm1lbnRNYW5hZ2VkQXBpIiwib3BlcmF0aW9uU2VxdWVuY2VJZCI6IjA4NTg2MzY1Njk4NjQ3MjkwMTEwIn0=?api-version=2019-05-01"
+ },
+ "body": {
+ "properties": {
+ "generalInformation": {
+ "iconUrl": "https://connectoricons-df.azureedge.net/servicebus/icon_1.0.1223.1623.png",
+ "displayName": "Service Bus",
+ "description": "Connect to Azure Service Bus to send and receive messages. You can perform actions such as send to queue, send to topic, receive from queue, receive from subscription, etc.",
+ "releaseTag": "Production",
+ "tier": "Standard"
+ },
+ "integrationServiceEnvironment": {
+ "name": "tes-ise-ga",
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/rohithah-ise/providers/Microsoft.Logic/integrationServiceEnvironments/tes-ise-ga",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "provisioningState": "InProgress",
+ "category": "Standard"
+ },
+ "id": "/subscriptions/80d4fe69-c95b-4dd2-a938-9250f1c8ab03/resourceGroups/rohithah-ise/providers/Microsoft.Logic/integrationServiceEnvironments/tes-ise-ga/managedApis/servicebus",
+ "name": "servicebus",
+ "type": "Microsoft.Logic/integrationServiceEnvironments/managedApis",
+ "location": "brazilsouth"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_NetworkHealth.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_NetworkHealth.json
new file mode 100644
index 000000000000..f08ab5108bcb
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_NetworkHealth.json
@@ -0,0 +1,448 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "f34b22a3-2202-4fb1-b040-1332bd928c84",
+ "resourceGroup": "testResourceGroup",
+ "integrationServiceEnvironmentName": "testIntegrationServiceEnvironment"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "LA1": {
+ "networkDependencyHealthState": "Healthy",
+ "outboundNetworkDependencies": [
+ {
+ "category": "AzureStorage",
+ "displayName": "Azure Storage",
+ "endpoints": [
+ {
+ "domainName": "www.table.core.windows.net",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "www.blob.core.windows.net",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "www.queue.core.windows.net",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ },
+ {
+ "category": "AzureActiveDirectory",
+ "displayName": "Azure Active Directory",
+ "endpoints": [
+ {
+ "domainName": "graph.windows.net",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ },
+ {
+ "category": "SSLCertificateVerification",
+ "displayName": "SSL Certificate Verification",
+ "endpoints": [
+ {
+ "domainName": "ocsp.msocsp.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "mscrl.microsoft.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "crl.microsoft.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "www.microsoft.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "crl3.digicert.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "ocsp.digicert.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "cacerts.digicert.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "www.thawte.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ },
+ {
+ "category": "DiagnosticLogsAndMetrics",
+ "displayName": "Diagnostic Logs And Metrics",
+ "endpoints": [
+ {
+ "domainName": "az-prod.metrics.nsatc.net",
+ "ports": [
+ "443"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ },
+ {
+ "category": "IntegrationServiceEnvironmentConnectors",
+ "displayName": "Integration Service Environment Connectors",
+ "endpoints": [
+ {
+ "domainName": "flow-yticlpbiumhig-cqsn-apim-runtime.brazilus.environments.microsoftazurelogicapps.net",
+ "ports": [
+ "443"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ },
+ {
+ "category": "RedisCache",
+ "displayName": "Redis Cache",
+ "endpoints": [
+ {
+ "domainName": "flowyticlpbiumhigcqsn.redis.cache.windows.net",
+ "ports": [
+ "6380"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ }
+ ],
+ "outboundNetworkHealth": {
+ "state": "Healthy"
+ }
+ },
+ "LA3": {
+ "networkDependencyHealthState": "Healthy",
+ "outboundNetworkDependencies": [
+ {
+ "category": "RecoveryService",
+ "displayName": "Recovery Service",
+ "endpoints": [
+ {
+ "domainName": "https://prod3.metrics.nsatc.net:1886/RecoveryService",
+ "ports": [
+ "1886"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ },
+ {
+ "category": "SQL",
+ "displayName": "SQL",
+ "endpoints": [
+ {
+ "domainName": "jnb6zdnqth.database.windows.net",
+ "ports": [
+ "1443"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ },
+ {
+ "category": "DiagnosticLogsAndMetrics",
+ "displayName": "Diagnostic Logs And Metrics",
+ "endpoints": [
+ {
+ "domainName": "prod.warmpath.msftcloudes.com",
+ "ports": [
+ "443"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ },
+ {
+ "category": "AzureStorage",
+ "displayName": "Azure Storage",
+ "endpoints": [
+ {
+ "domainName": "apimgmtstcfpq5vx3sh9wdme.blob.core.windows.net",
+ "ports": [
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "apimgmtstcfpq5vx3sh9wdme.file.core.windows.net",
+ "ports": [
+ "445"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "apimgmtstcfpq5vx3sh9wdme.queue.core.windows.net",
+ "ports": [
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "apimgmtstcfpq5vx3sh9wdme.table.core.windows.net",
+ "ports": [
+ "443"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ }
+ ],
+ "outboundNetworkHealth": {
+ "state": "Healthy"
+ }
+ },
+ "LA2": {
+ "networkDependencyHealthState": "Healthy",
+ "outboundNetworkDependencies": [
+ {
+ "category": "AzureStorage",
+ "displayName": "Azure Storage",
+ "endpoints": [
+ {
+ "domainName": "blob.core.windows.net",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "queue.core.windows.net",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "table.core.windows.net",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "file.core.windows.net",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ },
+ {
+ "category": "SQL",
+ "displayName": "Azure SQL Database",
+ "endpoints": [
+ {
+ "domainName": "database.windows.net",
+ "ports": [
+ "1433"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ },
+ {
+ "category": "AzureManagement",
+ "displayName": "Azure Management",
+ "endpoints": [
+ {
+ "domainName": "management.core.windows.net",
+ "ports": [
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "admin.core.windows.net",
+ "ports": [
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "management.azure.com",
+ "ports": [
+ "443"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ },
+ {
+ "category": "AzureActiveDirectory",
+ "displayName": "Azure Active Directory",
+ "endpoints": [
+ {
+ "domainName": "graph.windows.net",
+ "ports": [
+ "443"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ },
+ {
+ "category": "RegionalService",
+ "displayName": "Regional Service",
+ "endpoints": [
+ {
+ "domainName": "gr-prod-sn1.cloudapp.net",
+ "ports": [
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "az-prod.metrics.nsatc.net",
+ "ports": [
+ "443"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ },
+ {
+ "category": "SSLCertificateVerification",
+ "displayName": "SSL Certificate Verification",
+ "endpoints": [
+ {
+ "domainName": "ocsp.msocsp.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "mscrl.microsoft.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "crl.microsoft.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "www.microsoft.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "crl3.digicert.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "ocsp.digicert.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "cacerts.digicert.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ },
+ {
+ "domainName": "www.thawte.com",
+ "ports": [
+ "80",
+ "443"
+ ],
+ "accessibility": "Available"
+ }
+ ]
+ }
+ ],
+ "outboundNetworkHealth": {
+ "state": "Healthy"
+ }
+ },
+ "LA4": {
+ "networkDependencyHealthState": "Healthy"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Patch.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Patch.json
new file mode 100644
index 000000000000..be4307f4c032
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Patch.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "f34b22a3-2202-4fb1-b040-1332bd928c84",
+ "resourceGroup": "testResourceGroup",
+ "integrationServiceEnvironmentName": "testIntegrationServiceEnvironment",
+ "integrationServiceEnvironment": {
+ "sku": {
+ "capacity": 0,
+ "name": "Developer"
+ },
+ "tags": {
+ "tag1": "value1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "azure-AsyncOperation": "https://management.azure.com/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/operationStatuses/eyJmbG93T3BlcmF0aW9uIjoiUHV0SW50ZWdyYXRpb25TZXJ2aWNlRW52aXJvbm1lbnQiLCJvcGVyYXRpb25TZXF1ZW5jZUlkIjoiMDg1ODYzNjkwMzg1NzEwMTExNzUifQ==?api-version=2019-05-01"
+ },
+ "body": {
+ "sku": {
+ "name": "Developer",
+ "capacity": 0
+ },
+ "properties": {
+ "provisioningState": "InProgress",
+ "state": "Enabled",
+ "integrationServiceEnvironmentId": "13b261d30b984753869902d7f47f4d55",
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.69.195.162"
+ },
+ {
+ "address": "10.43.1.0/24"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "10.43.1.6"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.127.188.117"
+ },
+ {
+ "address": "40.85.114.29"
+ },
+ {
+ "address": "10.43.2.0/24"
+ },
+ {
+ "address": "10.43.3.0/24"
+ }
+ ]
+ }
+ },
+ "networkConfiguration": {
+ "accessEndpoint": {
+ "type": "Internal"
+ },
+ "subnets": [
+ {
+ "name": "VNET-ILB-NorthEurope/s1",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s1",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-NorthEurope/s2",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s2",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-NorthEurope/s3",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s3",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "VNET-ILB-NorthEurope/s4",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/VNET-ILB-NorthEurope/subnets/s4",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ }
+ ]
+ }
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "name": "testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments",
+ "location": "northeurope"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Put.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Put.json
new file mode 100644
index 000000000000..adcb6c88fd05
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Put.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "f34b22a3-2202-4fb1-b040-1332bd928c84",
+ "resourceGroup": "testResourceGroup",
+ "integrationServiceEnvironmentName": "testIntegrationServiceEnvironment",
+ "integrationServiceEnvironment": {
+ "sku": {
+ "capacity": 2,
+ "name": "Premium"
+ },
+ "location": "brazilsouth",
+ "properties": {
+ "networkConfiguration": {
+ "accessEndpoint": {
+ "type": "Internal"
+ },
+ "subnets": [
+ {
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/testVNET/subnets/s1"
+ },
+ {
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/testVNET/subnets/s2"
+ },
+ {
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/testVNET/subnets/s3"
+ },
+ {
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/testVNET/subnets/s4"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "azure-AsyncOperation": "https://management.azure.com/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/operationStatuses/eyJmbG93T3BlcmF0aW9uIjoiUHV0SW50ZWdyYXRpb25TZXJ2aWNlRW52aXJvbm1lbnQiLCJvcGVyYXRpb25TZXF1ZW5jZUlkIjoiMDg1ODYzNjkwMzg1NzEwMTExNzUifQ==?api-version=2019-05-01"
+ },
+ "body": {
+ "sku": {
+ "name": "Developer",
+ "capacity": 0
+ },
+ "properties": {
+ "provisioningState": "InProgress",
+ "state": "Enabled",
+ "integrationServiceEnvironmentId": "13b261d30b984753869902d7f47f4d55",
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.69.195.162"
+ },
+ {
+ "address": "10.43.1.0/24"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "10.43.1.6"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.127.188.117"
+ },
+ {
+ "address": "40.85.114.29"
+ },
+ {
+ "address": "10.43.2.0/24"
+ },
+ {
+ "address": "10.43.3.0/24"
+ }
+ ]
+ }
+ },
+ "networkConfiguration": {
+ "accessEndpoint": {
+ "type": "Internal"
+ },
+ "subnets": [
+ {
+ "name": "testVNET/s1",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/testVNET/subnets/s1",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "testVNET/s2",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/testVNET/subnets/s2",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "testVNET/s3",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/testVNET/subnets/s3",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "testVNET/s4",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/testVNET/subnets/s4",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ }
+ ]
+ }
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "name": "testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments",
+ "location": "northeurope"
+ }
+ },
+ "201": {
+ "headers": {
+ "azure-AsyncOperation": "https://management.azure.com/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/operationStatuses/eyJmbG93T3BlcmF0aW9uIjoiUHV0SW50ZWdyYXRpb25TZXJ2aWNlRW52aXJvbm1lbnQiLCJvcGVyYXRpb25TZXF1ZW5jZUlkIjoiMDg1ODYzNjkwMzg1NzEwMTExNzUifQ==?api-version=2019-05-01"
+ },
+ "body": {
+ "sku": {
+ "name": "Developer",
+ "capacity": 0
+ },
+ "properties": {
+ "provisioningState": "InProgress",
+ "state": "Enabled",
+ "integrationServiceEnvironmentId": "13b261d30b984753869902d7f47f4d55",
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.69.195.162"
+ },
+ {
+ "address": "10.43.1.0/24"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "10.43.1.6"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.127.188.117"
+ },
+ {
+ "address": "40.85.114.29"
+ },
+ {
+ "address": "10.43.2.0/24"
+ },
+ {
+ "address": "10.43.3.0/24"
+ }
+ ]
+ }
+ },
+ "networkConfiguration": {
+ "accessEndpoint": {
+ "type": "Internal"
+ },
+ "subnets": [
+ {
+ "name": "testVNET/s1",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/testVNET/subnets/s1",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "testVNET/s2",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/testVNET/subnets/s2",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "testVNET/s3",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/testVNET/subnets/s3",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ },
+ {
+ "name": "testVNET/s4",
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Network/virtualNetworks/testVNET/subnets/s4",
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ }
+ ]
+ }
+ },
+ "id": "/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment",
+ "name": "testIntegrationServiceEnvironment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments",
+ "location": "northeurope"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Restart.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Restart.json
new file mode 100644
index 000000000000..fad8402a4cc5
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Restart.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "f34b22a3-2202-4fb1-b040-1332bd928c84",
+ "resourceGroup": "testResourceGroup",
+ "integrationServiceEnvironmentName": "testIntegrationServiceEnvironment"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "azure-AsyncOperation": "https://management.azure.com/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/testResourceGroup/providers/Microsoft.Logic/integrationServiceEnvironments/testIntegrationServiceEnvironment/operationStatuses/eyJmbG93T3BlcmF0aW9uIjoiUHV0SW50ZWdyYXRpb25TZXJ2aWNlRW52aXJvbm1lbnQiLCJvcGVyYXRpb25TZXF1ZW5jZUlkIjoiMDg1ODYzNjkwMzg1NzEwMTExNzUifQ==?api-version=2019-05-01"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Skus.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Skus.json
new file mode 100644
index 000000000000..53bfd82240f0
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_Skus.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroup": "testResourceGroup",
+ "integrationServiceEnvironmentName": "testIntegrationServiceEnvironment"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.Logic/integrationServiceEnvironments",
+ "sku": {
+ "name": "Premium"
+ },
+ "capacity": {
+ "minimum": 0,
+ "maximum": 10,
+ "default": 0,
+ "scaleType": "Automatic"
+ }
+ },
+ {
+ "resourceType": "Microsoft.Logic/integrationServiceEnvironments",
+ "sku": {
+ "name": "Developer"
+ },
+ "capacity": {
+ "minimum": 0,
+ "maximum": 0,
+ "default": 0,
+ "scaleType": "None"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Operations_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Operations_List.json
new file mode 100644
index 000000000000..1e4d987d297d
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Operations_List.json
@@ -0,0 +1,1353 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Logic/operations/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Operation",
+ "operation": "Get Operation",
+ "description": "Gets the operation."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/register/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Resource Provider",
+ "operation": "Register Resource Provider",
+ "description": "Registers the Microsoft.Logic resource provider for a given subscription."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/locations/workflows/validate/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow",
+ "operation": "Validate Workflow",
+ "description": "Validates the workflow."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow",
+ "operation": "Get Workflow",
+ "description": "Reads the workflow."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/write",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow",
+ "operation": "Set Workflow",
+ "description": "Creates or updates the workflow."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/delete",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow",
+ "operation": "Delete Workflow",
+ "description": "Deletes the workflow."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/run/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow",
+ "operation": "Run Workflow",
+ "description": "Starts a run of the workflow."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/disable/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow",
+ "operation": "Disable Workflow",
+ "description": "Disables the workflow."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/enable/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow",
+ "operation": "Enable Workflow",
+ "description": "Enables the workflow."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/suspend/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow",
+ "operation": "Suspend Workflow",
+ "description": "Suspends the workflow."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/validate/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow",
+ "operation": "Validate Workflow",
+ "description": "Validates the workflow."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/move/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow",
+ "operation": "Move Workflow",
+ "description": "Moves Workflow from its existing subscription id, resource group, and/or name to a different subscription id, resource group, and/or name."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/listSwagger/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow",
+ "operation": "Get workflow swagger",
+ "description": "Gets the workflow swagger definitions."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/versions/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow Version",
+ "operation": "Get Workflow Version",
+ "description": "Reads the workflow version."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/versions/triggers/listCallbackUrl/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Trigger",
+ "operation": "List Trigger Callback URL",
+ "description": "Gets the callback URL for trigger."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/accessKeys/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Access Key",
+ "operation": "Get Access Key",
+ "description": "Reads the access key."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/accessKeys/write",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Access Key",
+ "operation": "Set Access Key",
+ "description": "Creates or updates the access key."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/accessKeys/delete",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Access Key",
+ "operation": "Delete Access Key",
+ "description": "Deletes the access key."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/accessKeys/list/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Access Key",
+ "operation": "List Access Key",
+ "description": "Lists the access key secrets."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/accessKeys/regenerate/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Access Key",
+ "operation": "Regenerate Access Key",
+ "description": "Regenerates the access key secrets."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/regenerateAccessKey/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Access Key",
+ "operation": "Regenerate Access Key",
+ "description": "Regenerates the access key secrets."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/listCallbackUrl/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow",
+ "operation": "List workflow callback URL",
+ "description": "Gets the callback URL for workflow."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/triggers/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Trigger",
+ "operation": "Get Trigger",
+ "description": "Reads the trigger."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/triggers/run/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Trigger",
+ "operation": "Trigger Run",
+ "description": "Executes the trigger."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/triggers/reset/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Trigger",
+ "operation": "Trigger Reset",
+ "description": "Resets the trigger."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/triggers/setState/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Trigger",
+ "operation": "Set Trigger State",
+ "description": "Sets the trigger state."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/triggers/histories/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Trigger Histories",
+ "operation": "Get Trigger Histories",
+ "description": "Reads the trigger histories."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/triggers/histories/resubmit/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Trigger Histories",
+ "operation": "Resubmit trigger",
+ "description": "Resubmits the workflow trigger."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/triggers/listCallbackUrl/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Trigger",
+ "operation": "List Trigger Callback URL",
+ "description": "Gets the callback URL for trigger."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/runs/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow Run",
+ "operation": "Get Workflow Run",
+ "description": "Reads the workflow run."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/runs/cancel/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow Run",
+ "operation": "Cancel Workflow Run",
+ "description": "Cancels the run of a workflow."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/runs/operations/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow Run Operation",
+ "operation": "Get Workflow Run Operation Status",
+ "description": "Reads the workflow run operation status."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/runs/actions/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow Run Action",
+ "operation": "Get Workflow Run Action",
+ "description": "Reads the workflow run action."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/runs/actions/repetitions/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow Run Action Repetition",
+ "operation": "Get Workflow Run Action Repetition",
+ "description": "Reads the workflow run action repetition."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/runs/actions/scoperepetitions/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow Run Action Scope Repetition",
+ "operation": "Get Workflow Run Action Scope Repetition",
+ "description": "Reads the workflow run action scope repetition."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/runs/actions/requestHistories/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow run action request history",
+ "operation": "Gets the workflow run action request history",
+ "description": "Reads the workflow run action request history."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/runs/actions/repetitions/requestHistories/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow run repetition action request history",
+ "operation": "Gets the workflow run repetition action request history",
+ "description": "Reads the workflow run repetition action request history."
+ }
+ },
+ {
+ "origin": "System",
+ "name": "Microsoft.Logic/workflows/providers/Microsoft.Insights/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow Diagnostic Setting",
+ "operation": "Get Workflow Diagnostic Setting",
+ "description": "Reads the workflow diagnostic settings."
+ }
+ },
+ {
+ "origin": "System",
+ "name": "Microsoft.Logic/workflows/providers/Microsoft.Insights/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow Diagnostic Setting",
+ "operation": "Set Workflow Diagnostic Setting",
+ "description": "Creates or updates the workflow diagnostic setting."
+ }
+ },
+ {
+ "origin": "System",
+ "name": "Microsoft.Logic/workflows/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow Metric Definition",
+ "operation": "Get Workflow Metric Definition",
+ "description": "Reads the workflow metric definitions."
+ },
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "RunsStarted",
+ "displayName": "Runs Started",
+ "displayDescription": "Number of workflow runs started.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "RunsCompleted",
+ "displayName": "Runs Completed",
+ "displayDescription": "Number of workflow runs completed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "RunsSucceeded",
+ "displayName": "Runs Succeeded",
+ "displayDescription": "Number of workflow runs succeeded.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "RunsFailed",
+ "displayName": "Runs Failed",
+ "displayDescription": "Number of workflow runs failed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "RunsCancelled",
+ "displayName": "Runs Cancelled",
+ "displayDescription": "Number of workflow runs cancelled.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "RunLatency",
+ "displayName": "Run Latency",
+ "displayDescription": "Latency of completed workflow runs.",
+ "unit": "Seconds",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": false
+ },
+ {
+ "name": "RunSuccessLatency",
+ "displayName": "Run Success Latency",
+ "displayDescription": "Latency of succeeded workflow runs.",
+ "unit": "Seconds",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": false
+ },
+ {
+ "name": "RunThrottledEvents",
+ "displayName": "Run Throttled Events",
+ "displayDescription": "Number of workflow action or trigger throttled events.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "RunFailurePercentage",
+ "displayName": "Run Failure Percentage",
+ "displayDescription": "Percentage of workflow runs failed.",
+ "unit": "Percent",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "ActionsStarted",
+ "displayName": "Actions Started ",
+ "displayDescription": "Number of workflow actions started.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "ActionsCompleted",
+ "displayName": "Actions Completed ",
+ "displayDescription": "Number of workflow actions completed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "ActionsSucceeded",
+ "displayName": "Actions Succeeded ",
+ "displayDescription": "Number of workflow actions succeeded.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "ActionsFailed",
+ "displayName": "Actions Failed ",
+ "displayDescription": "Number of workflow actions failed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "ActionsSkipped",
+ "displayName": "Actions Skipped ",
+ "displayDescription": "Number of workflow actions skipped.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "ActionLatency",
+ "displayName": "Action Latency ",
+ "displayDescription": "Latency of completed workflow actions.",
+ "unit": "Seconds",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": false
+ },
+ {
+ "name": "ActionSuccessLatency",
+ "displayName": "Action Success Latency ",
+ "displayDescription": "Latency of succeeded workflow actions.",
+ "unit": "Seconds",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": false
+ },
+ {
+ "name": "ActionThrottledEvents",
+ "displayName": "Action Throttled Events",
+ "displayDescription": "Number of workflow action throttled events..",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "TriggersStarted",
+ "displayName": "Triggers Started ",
+ "displayDescription": "Number of workflow triggers started.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "TriggersCompleted",
+ "displayName": "Triggers Completed ",
+ "displayDescription": "Number of workflow triggers completed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "TriggersSucceeded",
+ "displayName": "Triggers Succeeded ",
+ "displayDescription": "Number of workflow triggers succeeded.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "TriggersFailed",
+ "displayName": "Triggers Failed ",
+ "displayDescription": "Number of workflow triggers failed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "TriggersSkipped",
+ "displayName": "Triggers Skipped",
+ "displayDescription": "Number of workflow triggers skipped.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "TriggersFired",
+ "displayName": "Triggers Fired ",
+ "displayDescription": "Number of workflow triggers fired.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "TriggerLatency",
+ "displayName": "Trigger Latency ",
+ "displayDescription": "Latency of completed workflow triggers.",
+ "unit": "Seconds",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": false
+ },
+ {
+ "name": "TriggerFireLatency",
+ "displayName": "Trigger Fire Latency ",
+ "displayDescription": "Latency of fired workflow triggers.",
+ "unit": "Seconds",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": false
+ },
+ {
+ "name": "TriggerSuccessLatency",
+ "displayName": "Trigger Success Latency ",
+ "displayDescription": "Latency of succeeded workflow triggers.",
+ "unit": "Seconds",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": false
+ },
+ {
+ "name": "TriggerThrottledEvents",
+ "displayName": "Trigger Throttled Events",
+ "displayDescription": "Number of workflow trigger throttled events.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "BillableActionExecutions",
+ "displayName": "Billable Action Executions",
+ "displayDescription": "Number of workflow action executions getting billed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "BillableTriggerExecutions",
+ "displayName": "Billable Trigger Executions",
+ "displayDescription": "Number of workflow trigger executions getting billed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "TotalBillableExecutions",
+ "displayName": "Total Billable Executions",
+ "displayDescription": "Number of workflow executions getting billed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "BillableNativeActionExecutions",
+ "displayName": "Billable Native Action Executions",
+ "displayDescription": "Number of native workflow action executions getting billed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "BillableNativeTriggerExecutions",
+ "displayName": "Billable Native Trigger Executions",
+ "displayDescription": "Number of native workflow trigger executions getting billed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "TotalBillableNativeExecutions",
+ "displayName": "Total Native Billable Executions",
+ "displayDescription": "Number of native workflow executions getting billed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "BillableStandardActionExecutions",
+ "displayName": "Billable Standard Action Executions",
+ "displayDescription": "Number of standard workflow action executions getting billed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "BillableStandardTriggerExecutions",
+ "displayName": "Billable Standard Trigger Executions",
+ "displayDescription": "Number of standard workflow trigger executions getting billed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ },
+ {
+ "name": "TotalBillableStandardExecutions",
+ "displayName": "Total Standard Billable Executions",
+ "displayDescription": "Number of standard workflow executions getting billed.",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "dimensions": [],
+ "availabilities": [
+ {
+ "timeGrain": "PT1M",
+ "blobDuration": "PT1H"
+ }
+ ],
+ "fillGapWithZero": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "origin": "System",
+ "name": "Microsoft.Logic/workflows/providers/Microsoft.Insights/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow Log Definition",
+ "operation": "Get Workflow Log Definition",
+ "description": "Reads the workflow log definitions."
+ },
+ "properties": {
+ "serviceSpecification": {
+ "logSpecifications": [
+ {
+ "name": "WorkflowRuntime",
+ "displayName": "Workflow runtime diagnostic events",
+ "description": "Diagnostic events related to workflow runtime executions.",
+ "blobDuration": "PT1H"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/runs/actions/listExpressionTraces/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow Run Action",
+ "operation": "List Workflow Run Action Expression Traces",
+ "description": "Gets the workflow run action expression traces."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/workflows/runs/actions/repetitions/listExpressionTraces/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Workflow Run Action Repetition",
+ "operation": "List Workflow Run Action Repetition Expression Traces",
+ "description": "Gets the workflow run action repetition expression traces."
+ }
+ },
+ {
+ "origin": "System",
+ "name": "Microsoft.Logic/integrationAccounts/providers/Microsoft.Insights/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Log Definition",
+ "operation": "Get Integration Account Log Definition",
+ "description": "Reads the Integration Account log definitions."
+ },
+ "properties": {
+ "serviceSpecification": {
+ "logSpecifications": [
+ {
+ "name": "IntegrationAccountTrackingEvents",
+ "displayName": "Integration Account track events",
+ "description": "Track events related to Integration Account.",
+ "blobDuration": "PT1H"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account",
+ "operation": "Get Integration Account",
+ "description": "Reads the integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/write",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account",
+ "operation": "Set Integration Account",
+ "description": "Creates or updates the integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/delete",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account",
+ "operation": "Delete Integration Account",
+ "description": "Deletes the integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/regenerateAccessKey/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account",
+ "operation": "Regenerate Access Key",
+ "description": "Regenerates the access key secrets."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/listCallbackUrl/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account",
+ "operation": "List Integration Account Callback URL",
+ "description": "Gets the callback URL for integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/listKeyVaultKeys/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account",
+ "operation": "List Key Vault Keys",
+ "description": "Gets the keys in the key vault."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/logTrackingEvents/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account",
+ "operation": "Log Integration Account Tracking Events",
+ "description": "Logs the tracking events in the integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/join/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account",
+ "operation": "Join Integration Account",
+ "description": "Joins the Integration Account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/partners/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Partner",
+ "operation": "Get Integration Account Partner",
+ "description": "Reads the parter in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/partners/write",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Partner",
+ "operation": "Set Integration Account Partner",
+ "description": "Creates or updates the partner in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/partners/delete",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Partner",
+ "operation": "Delete Integration Account Partner",
+ "description": "Deletes the partner in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/partners/listContentCallbackUrl/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Partner",
+ "operation": "List Integration Account Partner Content Callback URL",
+ "description": "Gets the callback URL for partner content in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/agreements/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Agreement",
+ "operation": "Get Integration Account Agreement",
+ "description": "Reads the agreement in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/agreements/write",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Agreement",
+ "operation": "Set Integration Account Agreement",
+ "description": "Creates or updates the agreement in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/agreements/delete",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Agreement",
+ "operation": "Delete Integration Account Agreement",
+ "description": "Deletes the agreement in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/agreements/listContentCallbackUrl/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Agreement",
+ "operation": "List Integration Account Agreement Content Callback URL",
+ "description": "Gets the callback URL for agreement content in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/certificates/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Certificate",
+ "operation": "Get Integration Account Certificate",
+ "description": "Reads the certificate in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/certificates/write",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Certificate",
+ "operation": "Set Integration Account Certificate",
+ "description": "Creates or updates the certificate in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/certificates/delete",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Certificate",
+ "operation": "Delete Integration Account Certificate",
+ "description": "Deletes the certificate in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/schemas/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Schema",
+ "operation": "Get Integration Account Schema",
+ "description": "Reads the schema in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/schemas/write",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Schema",
+ "operation": "Set Integration Account Schema",
+ "description": "Creates or updates the schema in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/schemas/delete",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Schema",
+ "operation": "Delete Integration Account Schema",
+ "description": "Deletes the schema in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/schemas/listContentCallbackUrl/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Schema",
+ "operation": "List Integration Account Schema Content Callback URL",
+ "description": "Gets the callback URL for schema content in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/maps/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Map",
+ "operation": "Get Integration Account Map",
+ "description": "Reads the map in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/maps/write",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Map",
+ "operation": "Set Integration Account Map",
+ "description": "Creates or updates the map in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/maps/delete",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Map",
+ "operation": "Delete Integration Account Map",
+ "description": "Deletes the map in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/maps/listContentCallbackUrl/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Map",
+ "operation": "List Integration Account Map Content Callback URL",
+ "description": "Gets the callback URL for map content in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/assemblies/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Assembly",
+ "operation": "Get Integration Account Assembly",
+ "description": "Reads the assembly in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/assemblies/write",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Assembly",
+ "operation": "Set Integration Account Assembly",
+ "description": "Creates or updates the assembly in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/assemblies/delete",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Assembly",
+ "operation": "Delete Integration Account Assembly",
+ "description": "Deletes the assembly in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/assemblies/listContentCallbackUrl/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Assembly",
+ "operation": "List Integration Account Assembly Content Callback URL",
+ "description": "Gets the callback URL for assembly content in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/batchConfigurations/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Batch Configuration",
+ "operation": "Get Integration Account Batch Configuration",
+ "description": "Reads the batch configuration in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/batchConfigurations/write",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Batch Configuration",
+ "operation": "Set Integration Account Batch Configuration",
+ "description": "Creates or updates the batch configuration in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/batchConfigurations/delete",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Batch Configuration",
+ "operation": "Delete Integration Account Batch Configuration",
+ "description": "Deletes the batch configuration in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/sessions/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Session",
+ "operation": "Get Integration Account Session",
+ "description": "Reads the batch configuration in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/sessions/write",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Session",
+ "operation": "Set Integration Account Session",
+ "description": "Creates or updates the session in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationAccounts/sessions/delete",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Account Session",
+ "operation": "Delete Integration Account Session",
+ "description": "Deletes the session in integration account."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationServiceEnvironments/read",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Service Environment",
+ "operation": "Get Integration Service Environment",
+ "description": "Reads the integration service environment."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationServiceEnvironments/write",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Service Environment",
+ "operation": "Set Integration Service Environment",
+ "description": "Creates or updates the integration service environment."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationServiceEnvironments/delete",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Service Environment",
+ "operation": "Delete Integration Service Environment",
+ "description": "Deletes the integration service environment."
+ }
+ },
+ {
+ "name": "Microsoft.Logic/integrationServiceEnvironments/join/action",
+ "display": {
+ "provider": "Microsoft Logic",
+ "resource": "Integration Service Environment",
+ "operation": "Join Integration Service Environment",
+ "description": "Joins the Integration Service Environment."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitionsRequestHistories_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitionsRequestHistories_Get.json
new file mode 100644
index 000000000000..34adc41b6245
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitionsRequestHistories_Get.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "test-resource-group",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "test-workflow",
+ "runName": "08586776228332053161046300351",
+ "actionName": "HTTP_Webhook",
+ "repetitionName": "000001",
+ "requestHistoryName": "08586611142732800686"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "startTime": "2018-10-25T18:36:51.9206732Z",
+ "endTime": "2018-10-25T18:36:52.1863033Z",
+ "request": {
+ "headers": {
+ "Accept-Language": "en-US",
+ "User-Agent": "azure-logic-apps/1.0,(workflow 80244732be3648f59d2084fd979cdd56; version 08586611142904036539)",
+ "x-ms-execution-location": "brazilsouth",
+ "x-ms-workflow-id": "80244732be3648f59d2084fd979cdd56",
+ "x-ms-workflow-version": "08586611142904036539",
+ "x-ms-workflow-name": "test-workflow",
+ "x-ms-workflow-system-id": "/locations/brazilsouth/scaleunits/prod-17/workflows/80244732be3648f59d2084fd979cdd56",
+ "x-ms-workflow-run-id": "08586611142736787787412824395CU21",
+ "x-ms-workflow-run-tracking-id": "b4cd2e77-f949-4d8c-8753-791407aebde8",
+ "x-ms-workflow-operation-name": "HTTP_Webhook",
+ "x-ms-workflow-subscription-id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "x-ms-workflow-resourcegroup-name": "test-resource-group",
+ "x-ms-workflow-subscription-capacity": "Large",
+ "x-ms-tracking-id": "ad484925-4148-4dd0-9488-07aed418b256",
+ "x-ms-correlation-id": "ad484925-4148-4dd0-9488-07aed418b256",
+ "x-ms-client-request-id": "ad484925-4148-4dd0-9488-07aed418b256",
+ "x-ms-client-tracking-id": "08586611142736787787412824395CU21",
+ "x-ms-action-tracking-id": "ad27f634-6523-492f-924e-9a75e28619c8"
+ },
+ "uri": "http://tempuri.org",
+ "method": "GET"
+ },
+ "response": {
+ "headers": {
+ "Cache-Control": "private",
+ "Date": "Thu, 25 Oct 2018 18:36:51 GMT",
+ "Location": "http://www.bing.com/",
+ "Server": "Microsoft-IIS/10.0",
+ "X-AspNet-Version": "4.0.30319",
+ "X-Powered-By": "ASP.NET"
+ },
+ "statusCode": 302,
+ "bodyLink": {
+ "uri": "https://tempuri.org",
+ "contentVersion": "2LOOAR8Eh2pd7AvRHXUhRg==",
+ "contentSize": 137,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "2LOOAR8Eh2pd7AvRHXUhRg=="
+ }
+ }
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/runs/08586611142736787787412824395CU21/actions/HTTP_Webhook/requestHistories/08586611142732800686",
+ "name": "08586611142732800686",
+ "type": "Microsoft.Logic/workflows/runs/actions/requestHistories"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitionsRequestHistories_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitionsRequestHistories_List.json
new file mode 100644
index 000000000000..521a80fac5f4
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitionsRequestHistories_List.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "test-resource-group",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "test-workflow",
+ "runName": "08586776228332053161046300351",
+ "actionName": "HTTP_Webhook",
+ "repetitionName": "000001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "startTime": "2018-10-25T18:36:51.9206732Z",
+ "endTime": "2018-10-25T18:36:52.1863033Z",
+ "request": {
+ "headers": {
+ "Accept-Language": "en-US",
+ "User-Agent": "azure-logic-apps/1.0,(workflow 80244732be3648f59d2084fd979cdd56; version 08586611142904036539)",
+ "x-ms-execution-location": "brazilsouth",
+ "x-ms-workflow-id": "80244732be3648f59d2084fd979cdd56",
+ "x-ms-workflow-version": "08586611142904036539",
+ "x-ms-workflow-name": "test-workflow",
+ "x-ms-workflow-system-id": "/locations/brazilsouth/scaleunits/prod-17/workflows/80244732be3648f59d2084fd979cdd56",
+ "x-ms-workflow-run-id": "08586611142736787787412824395CU21",
+ "x-ms-workflow-run-tracking-id": "b4cd2e77-f949-4d8c-8753-791407aebde8",
+ "x-ms-workflow-operation-name": "HTTP_Webhook",
+ "x-ms-workflow-subscription-id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "x-ms-workflow-resourcegroup-name": "test-resource-group",
+ "x-ms-workflow-subscription-capacity": "Large",
+ "x-ms-tracking-id": "ad484925-4148-4dd0-9488-07aed418b256",
+ "x-ms-correlation-id": "ad484925-4148-4dd0-9488-07aed418b256",
+ "x-ms-client-request-id": "ad484925-4148-4dd0-9488-07aed418b256",
+ "x-ms-client-tracking-id": "08586611142736787787412824395CU21",
+ "x-ms-action-tracking-id": "ad27f634-6523-492f-924e-9a75e28619c8"
+ },
+ "uri": "http://tempuri.org",
+ "method": "GET"
+ },
+ "response": {
+ "headers": {
+ "Cache-Control": "private",
+ "Date": "Thu, 25 Oct 2018 18:36:51 GMT",
+ "Location": "http://www.bing.com/",
+ "Server": "Microsoft-IIS/10.0",
+ "X-AspNet-Version": "4.0.30319",
+ "X-Powered-By": "ASP.NET"
+ },
+ "statusCode": 302,
+ "bodyLink": {
+ "uri": "https://tempuri.org",
+ "contentVersion": "2LOOAR8Eh2pd7AvRHXUhRg==",
+ "contentSize": 137,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "2LOOAR8Eh2pd7AvRHXUhRg=="
+ }
+ }
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/runs/08586611142736787787412824395CU21/actions/HTTP_Webhook/requestHistories/08586611142732800686",
+ "name": "08586611142732800686",
+ "type": "Microsoft.Logic/workflows/runs/actions/requestHistories"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitions_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitions_Get.json
new file mode 100644
index 000000000000..7547d2fffef0
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitions_Get.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testFlow",
+ "runName": "08586776228332053161046300351",
+ "actionName": "testAction",
+ "repetitionName": "000001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "repetitionIndexes": [
+ {
+ "scopeName": "For_each",
+ "itemIndex": 1
+ }
+ ],
+ "trackingId": "f84f23eb-b331-4772-9f39-cc307fa83bc3",
+ "inputsLink": {
+ "uri": "https://prod-08.northcentralus.logic.azure.com:443/workflows/2dfde2fce2584c49bea17ef0b04c95f4/runs/08586776228332053161046300351/actions/testAction/repetitions/000001/contents/ActionInputs?api-version=2016-10-01&se=2018-04-18T21%3A00%3A00.0000000Z&sp=%2Fruns%2F08586776228332053161046300351%2Factions%2FtestAction%2Frepetitions%2F000001%2Fcontents%2FActionInputs%2Fread&sv=1.0&sig=dLmnt50joimEMK4k9rR6njHQh94iSFJ9rrDxFbkEg5M",
+ "contentVersion": "OA3i83YHGYVch+N8BQJIRQ==",
+ "contentSize": 6,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "OA3i83YHGYVch+N8BQJIRQ=="
+ }
+ },
+ "outputsLink": {
+ "uri": "https://prod-08.northcentralus.logic.azure.com:443/workflows/2dfde2fce2584c49bea17ef0b04c95f4/runs/08586776228332053161046300351/actions/testAction/repetitions/000001/contents/ActionOutputs?api-version=2016-10-01&se=2018-04-18T21%3A00%3A00.0000000Z&sp=%2Fruns%2F08586776228332053161046300351%2Factions%2FtestAction%2Frepetitions%2F000001%2Fcontents%2FActionOutputs%2Fread&sv=1.0&sig=B3-X5sqIAv1Lb31GOD34ZgIRUXGuiM2QllWiNwXFYAw",
+ "contentVersion": "OA3i83YHGYVch+N8BQJIRQ==",
+ "contentSize": 6,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "OA3i83YHGYVch+N8BQJIRQ=="
+ }
+ },
+ "startTime": "2018-04-18T17:05:57.0929911Z",
+ "endTime": "2018-04-18T17:05:57.1015421Z",
+ "correlation": {
+ "actionTrackingId": "f84f23eb-b331-4772-9f39-cc307fa83bc3",
+ "clientTrackingId": "08586775357427610445444523191"
+ },
+ "status": "Succeeded",
+ "code": "OK"
+ },
+ "id": "api/management/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/workflows/testFlow/runs/08586776228332053161046300351/actions/testAction/repetitions/000001",
+ "name": "000001",
+ "type": "Microsoft.Logic/workflows/runs/actions/repetitions"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitions_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitions_List.json
new file mode 100644
index 000000000000..4548849b4cef
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitions_List.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testFlow",
+ "runName": "08586776228332053161046300351",
+ "actionName": "testAction"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "repetitionIndexes": [
+ {
+ "scopeName": "For_each",
+ "itemIndex": 0
+ }
+ ],
+ "trackingId": "0d8152bb-e198-44a9-bde8-5138eea16dd4",
+ "inputsLink": {
+ "uri": "https://prod-08.northcentralus.logic.azure.com:443/workflows/2dfde2fce2584c49bea17ef0b04c95f4/runs/08586776228332053161046300351/actions/testAction/repetitions/000000/contents/ActionInputs?api-version=2016-10-01&se=2018-04-18T21%3A00%3A00.0000000Z&sp=%2Fruns%2F08586776228332053161046300351%2Factions%2FtestAction%2Frepetitions%2F000000%2Fcontents%2FActionInputs%2Fread&sv=1.0&sig=vw4BDdYp4Ap5RXdM7tY_wl9C38DeAHfnixLBEOpideA",
+ "contentVersion": "8q1zMKS5ZyHBrPF+qF1xXw==",
+ "contentSize": 8,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "8q1zMKS5ZyHBrPF+qF1xXw=="
+ }
+ },
+ "outputsLink": {
+ "uri": "https://prod-08.northcentralus.logic.azure.com:443/workflows/2dfde2fce2584c49bea17ef0b04c95f4/runs/08586776228332053161046300351/actions/testAction/repetitions/000000/contents/ActionOutputs?api-version=2016-10-01&se=2018-04-18T21%3A00%3A00.0000000Z&sp=%2Fruns%2F08586776228332053161046300351%2Factions%2FtestAction%2Frepetitions%2F000000%2Fcontents%2FActionOutputs%2Fread&sv=1.0&sig=y8Wq7jbu85tmlMo_1zpRyqNJuoCaQCFQtZ3bgSovLY0",
+ "contentVersion": "8q1zMKS5ZyHBrPF+qF1xXw==",
+ "contentSize": 8,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "8q1zMKS5ZyHBrPF+qF1xXw=="
+ }
+ },
+ "startTime": "2018-04-18T17:05:57.217991Z",
+ "endTime": "2018-04-18T17:05:57.2264835Z",
+ "correlation": {
+ "actionTrackingId": "0d8152bb-e198-44a9-bde8-5138eea16dd4",
+ "clientTrackingId": "08586775357427610445444523191"
+ },
+ "status": "Succeeded",
+ "code": "OK"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/workflows/testFlow/runs/08586776228332053161046300351/actions/testAction/repetitions/000000",
+ "name": "000000",
+ "type": "Microsoft.Logic/workflows/runs/actions/repetitions"
+ },
+ {
+ "properties": {
+ "repetitionIndexes": [
+ {
+ "scopeName": "For_each",
+ "itemIndex": 1
+ }
+ ],
+ "trackingId": "f84f23eb-b331-4772-9f39-cc307fa83bc3",
+ "inputsLink": {
+ "uri": "https://prod-08.northcentralus.logic.azure.com:443/workflows/2dfde2fce2584c49bea17ef0b04c95f4/runs/08586776228332053161046300351/actions/testAction/repetitions/000001/contents/ActionInputs?api-version=2016-10-01&se=2018-04-18T21%3A00%3A00.0000000Z&sp=%2Fruns%2F08586776228332053161046300351%2Factions%2FtestAction%2Frepetitions%2F000001%2Fcontents%2FActionInputs%2Fread&sv=1.0&sig=dLmnt50joimEMK4k9rR6njHQh94iSFJ9rrDxFbkEg5M",
+ "contentVersion": "OA3i83YHGYVch+N8BQJIRQ==",
+ "contentSize": 6,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "OA3i83YHGYVch+N8BQJIRQ=="
+ }
+ },
+ "outputsLink": {
+ "uri": "https://prod-08.northcentralus.logic.azure.com:443/workflows/2dfde2fce2584c49bea17ef0b04c95f4/runs/08586776228332053161046300351/actions/testAction/repetitions/000001/contents/ActionOutputs?api-version=2016-10-01&se=2018-04-18T21%3A00%3A00.0000000Z&sp=%2Fruns%2F08586776228332053161046300351%2Factions%2FtestAction%2Frepetitions%2F000001%2Fcontents%2FActionOutputs%2Fread&sv=1.0&sig=B3-X5sqIAv1Lb31GOD34ZgIRUXGuiM2QllWiNwXFYAw",
+ "contentVersion": "OA3i83YHGYVch+N8BQJIRQ==",
+ "contentSize": 6,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "OA3i83YHGYVch+N8BQJIRQ=="
+ }
+ },
+ "startTime": "2018-04-18T17:05:57.0929911Z",
+ "endTime": "2018-04-18T17:05:57.1015421Z",
+ "correlation": {
+ "actionTrackingId": "f84f23eb-b331-4772-9f39-cc307fa83bc3",
+ "clientTrackingId": "08586775357427610445444523191"
+ },
+ "status": "Succeeded",
+ "code": "OK"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/workflows/testFlow/runs/08586776228332053161046300351/actions/testAction/repetitions/000001",
+ "name": "000001",
+ "type": "Microsoft.Logic/workflows/runs/actions/repetitions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitions_ListExpressionTraces.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitions_ListExpressionTraces.json
new file mode 100644
index 000000000000..deaed7455684
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRepetitions_ListExpressionTraces.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testFlow",
+ "runName": "08586776228332053161046300351",
+ "actionName": "testAction",
+ "repetitionName": "000001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "inputs": [
+ {
+ "path": "",
+ "text": "items('For_each')?['OccuringLocation']?['Environment']",
+ "value": "PROD"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRequestHistories_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRequestHistories_Get.json
new file mode 100644
index 000000000000..edd046923c40
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRequestHistories_Get.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "test-resource-group",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "test-workflow",
+ "runName": "08586776228332053161046300351",
+ "actionName": "HTTP_Webhook",
+ "requestHistoryName": "08586611142732800686"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "startTime": "2018-10-25T18:36:51.9206732Z",
+ "endTime": "2018-10-25T18:36:52.1863033Z",
+ "request": {
+ "headers": {
+ "Accept-Language": "en-US",
+ "User-Agent": "azure-logic-apps/1.0,(workflow 80244732be3648f59d2084fd979cdd56; version 08586611142904036539)",
+ "x-ms-execution-location": "brazilsouth",
+ "x-ms-workflow-id": "80244732be3648f59d2084fd979cdd56",
+ "x-ms-workflow-version": "08586611142904036539",
+ "x-ms-workflow-name": "test-workflow",
+ "x-ms-workflow-system-id": "/locations/brazilsouth/scaleunits/prod-17/workflows/80244732be3648f59d2084fd979cdd56",
+ "x-ms-workflow-run-id": "08586611142736787787412824395CU21",
+ "x-ms-workflow-run-tracking-id": "b4cd2e77-f949-4d8c-8753-791407aebde8",
+ "x-ms-workflow-operation-name": "HTTP_Webhook",
+ "x-ms-workflow-subscription-id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "x-ms-workflow-resourcegroup-name": "test-resource-group",
+ "x-ms-workflow-subscription-capacity": "Large",
+ "x-ms-tracking-id": "ad484925-4148-4dd0-9488-07aed418b256",
+ "x-ms-correlation-id": "ad484925-4148-4dd0-9488-07aed418b256",
+ "x-ms-client-request-id": "ad484925-4148-4dd0-9488-07aed418b256",
+ "x-ms-client-tracking-id": "08586611142736787787412824395CU21",
+ "x-ms-action-tracking-id": "ad27f634-6523-492f-924e-9a75e28619c8"
+ },
+ "uri": "http://tempuri.org",
+ "method": "GET"
+ },
+ "response": {
+ "headers": {
+ "Cache-Control": "private",
+ "Date": "Thu, 25 Oct 2018 18:36:51 GMT",
+ "Location": "http://www.bing.com/",
+ "Server": "Microsoft-IIS/10.0",
+ "X-AspNet-Version": "4.0.30319",
+ "X-Powered-By": "ASP.NET"
+ },
+ "statusCode": 302,
+ "bodyLink": {
+ "uri": "https://tempuri.org",
+ "contentVersion": "2LOOAR8Eh2pd7AvRHXUhRg==",
+ "contentSize": 137,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "2LOOAR8Eh2pd7AvRHXUhRg=="
+ }
+ }
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/runs/08586611142736787787412824395CU21/actions/HTTP_Webhook/requestHistories/08586611142732800686",
+ "name": "08586611142732800686",
+ "type": "Microsoft.Logic/workflows/runs/actions/requestHistories"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRequestHistories_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRequestHistories_List.json
new file mode 100644
index 000000000000..c5c9796df4ec
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionRequestHistories_List.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "test-resource-group",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "test-workflow",
+ "runName": "08586776228332053161046300351",
+ "actionName": "HTTP_Webhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "startTime": "2018-10-25T18:36:51.9206732Z",
+ "endTime": "2018-10-25T18:36:52.1863033Z",
+ "request": {
+ "headers": {
+ "Accept-Language": "en-US",
+ "User-Agent": "azure-logic-apps/1.0,(workflow 80244732be3648f59d2084fd979cdd56; version 08586611142904036539)",
+ "x-ms-execution-location": "brazilsouth",
+ "x-ms-workflow-id": "80244732be3648f59d2084fd979cdd56",
+ "x-ms-workflow-version": "08586611142904036539",
+ "x-ms-workflow-name": "test-workflow",
+ "x-ms-workflow-system-id": "/locations/brazilsouth/scaleunits/prod-17/workflows/80244732be3648f59d2084fd979cdd56",
+ "x-ms-workflow-run-id": "08586611142736787787412824395CU21",
+ "x-ms-workflow-run-tracking-id": "b4cd2e77-f949-4d8c-8753-791407aebde8",
+ "x-ms-workflow-operation-name": "HTTP_Webhook",
+ "x-ms-workflow-subscription-id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "x-ms-workflow-resourcegroup-name": "test-resource-group",
+ "x-ms-workflow-subscription-capacity": "Large",
+ "x-ms-tracking-id": "ad484925-4148-4dd0-9488-07aed418b256",
+ "x-ms-correlation-id": "ad484925-4148-4dd0-9488-07aed418b256",
+ "x-ms-client-request-id": "ad484925-4148-4dd0-9488-07aed418b256",
+ "x-ms-client-tracking-id": "08586611142736787787412824395CU21",
+ "x-ms-action-tracking-id": "ad27f634-6523-492f-924e-9a75e28619c8"
+ },
+ "uri": "http://tempuri.org",
+ "method": "GET"
+ },
+ "response": {
+ "headers": {
+ "Cache-Control": "private",
+ "Date": "Thu, 25 Oct 2018 18:36:51 GMT",
+ "Location": "http://www.bing.com/",
+ "Server": "Microsoft-IIS/10.0",
+ "X-AspNet-Version": "4.0.30319",
+ "X-Powered-By": "ASP.NET"
+ },
+ "statusCode": 302,
+ "bodyLink": {
+ "uri": "https://tempuri.org",
+ "contentVersion": "2LOOAR8Eh2pd7AvRHXUhRg==",
+ "contentSize": 137,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "2LOOAR8Eh2pd7AvRHXUhRg=="
+ }
+ }
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/runs/08586611142736787787412824395CU21/actions/HTTP_Webhook/requestHistories/08586611142732800686",
+ "name": "08586611142732800686",
+ "type": "Microsoft.Logic/workflows/runs/actions/requestHistories"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionScopeRepetitions_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionScopeRepetitions_Get.json
new file mode 100644
index 000000000000..cd6b21e64ecd
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionScopeRepetitions_Get.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testFlow",
+ "runName": "08586776228332053161046300351",
+ "actionName": "for_each",
+ "repetitionName": "000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "repetitionIndexes": [
+ {
+ "scopeName": "For_each",
+ "itemIndex": 0
+ }
+ ],
+ "startTime": "2018-04-18T17:05:57.209588Z",
+ "endTime": "2018-04-18T17:05:57.6240967Z",
+ "correlation": {
+ "actionTrackingId": "5c0e7c24-4891-44e8-b631-8084c5531dd5",
+ "clientTrackingId": "08586775357427610445444523191"
+ },
+ "status": "Succeeded",
+ "code": "NotSpecified"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/workflows/testFlow/runs/08586776228332053161046300351/actions/for_each/scopeRepetitions/000000",
+ "name": "000000",
+ "type": "Microsoft.Logic/workflows/runs/actions/scopeRepetitions"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionScopeRepetitions_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionScopeRepetitions_List.json
new file mode 100644
index 000000000000..19109638ad52
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActionScopeRepetitions_List.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testFlow",
+ "runName": "08586776228332053161046300351",
+ "actionName": "for_each"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "repetitionIndexes": [
+ {
+ "scopeName": "For_each",
+ "itemIndex": 0
+ }
+ ],
+ "startTime": "2018-04-18T17:05:57.209588Z",
+ "endTime": "2018-04-18T17:05:57.6240967Z",
+ "correlation": {
+ "actionTrackingId": "5c0e7c24-4891-44e8-b631-8084c5531dd5",
+ "clientTrackingId": "08586775357427610445444523191"
+ },
+ "status": "Succeeded",
+ "code": "NotSpecified"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/workflows/testFlow/runs/08586776228332053161046300351/actions/for_each/scopeRepetitions/000000",
+ "name": "000000",
+ "type": "Microsoft.Logic/workflows/runs/actions/scopeRepetitions"
+ },
+ {
+ "properties": {
+ "repetitionIndexes": [
+ {
+ "scopeName": "For_each",
+ "itemIndex": 1
+ }
+ ],
+ "startTime": "2018-04-18T17:05:57.0686808Z",
+ "endTime": "2018-04-18T17:05:57.2272796Z",
+ "correlation": {
+ "actionTrackingId": "1682d0bd-7189-4478-b333-fe364a80bd69",
+ "clientTrackingId": "08586775357427610445444523191"
+ },
+ "status": "Succeeded",
+ "code": "NotSpecified"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/workflows/testFlow/runs/08586776228332053161046300351/actions/for_each/scopeRepetitions/000001",
+ "name": "000001",
+ "type": "Microsoft.Logic/workflows/runs/actions/scopeRepetitions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActions_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActions_Get.json
new file mode 100644
index 000000000000..e12aae1ee147
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActions_Get.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow",
+ "runName": "08586676746934337772206998657CU22",
+ "actionName": "HTTP"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "inputsLink": {
+ "uri": "https://tempuri.org",
+ "contentVersion": "5XUACojv0aBfuP56os3CWw==",
+ "contentSize": 46,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "XXUACojv0aBfuP56os3CWw=="
+ }
+ },
+ "outputsLink": {
+ "uri": "https://tempuri.org",
+ "contentVersion": "6X6KRrevI6AAxEvo9FeBYQ==",
+ "contentSize": 11873,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "XX6KRrevI6AAxEvo9FeBYQ=="
+ }
+ },
+ "startTime": "2018-08-10T20:16:32.305236Z",
+ "endTime": "2018-08-10T20:16:32.5450625Z",
+ "correlation": {
+ "actionTrackingId": "56063357-45dd-4278-9be5-8220ce0cc9ca",
+ "clientTrackingId": "08586676746934337772206998657CU22"
+ },
+ "status": "Succeeded",
+ "code": "OK"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/runs/08586676746934337772206998657CU22/actions/HTTP",
+ "name": "HTTP",
+ "type": "Microsoft.Logic/workflows/runs/actions"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActions_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActions_List.json
new file mode 100644
index 000000000000..2c4628254a0c
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActions_List.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow",
+ "runName": "08586676746934337772206998657CU22"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "inputsLink": {
+ "uri": "https://tempuri.org",
+ "contentVersion": "5XUACojv0aBfuP56os3CWw==",
+ "contentSize": 46,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "XXUACojv0aBfuP56os3CWw=="
+ }
+ },
+ "outputsLink": {
+ "uri": "https://tempuri.org",
+ "contentVersion": "6X6KRrevI6AAxEvo9FeBYQ==",
+ "contentSize": 11873,
+ "contentHash": {
+ "algorithm": "md5",
+ "value": "XX6KRrevI6AAxEvo9FeBYQ=="
+ }
+ },
+ "startTime": "2018-08-10T20:16:32.305236Z",
+ "endTime": "2018-08-10T20:16:32.5450625Z",
+ "correlation": {
+ "actionTrackingId": "56063357-45dd-4278-9be5-8220ce0cc9ca",
+ "clientTrackingId": "08586676746934337772206998657CU22"
+ },
+ "status": "Succeeded",
+ "code": "OK"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/runs/08586676746934337772206998657CU22/actions/HTTP",
+ "name": "HTTP",
+ "type": "Microsoft.Logic/workflows/runs/actions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActions_ListExpressionTraces.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActions_ListExpressionTraces.json
new file mode 100644
index 000000000000..793a3fe63cc5
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunActions_ListExpressionTraces.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testFlow",
+ "runName": "08586776228332053161046300351",
+ "actionName": "testAction",
+ "repetitionName": "000001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "inputs": [
+ {
+ "path": "",
+ "text": "add(4, 4)",
+ "value": 8
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunOperations_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunOperations_Get.json
new file mode 100644
index 000000000000..018eacbf0ce5
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRunOperations_Get.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testFlow",
+ "runName": "08586774142730039209110422528",
+ "operationId": "ebdcbbde-c4db-43ec-987c-fd0f7726f43b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "waitEndTime": "2018-04-20T02:50:12.4741081Z",
+ "startTime": "2018-04-20T02:50:12.4741081Z",
+ "endTime": "2018-04-20T02:50:13.7177644Z",
+ "status": "Succeeded",
+ "correlation": {
+ "clientTrackingId": "08586774142730039209110422528"
+ },
+ "workflow": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/workflows/testFlow/versions/08586993867806980512",
+ "name": "08586993867806980512",
+ "type": "Microsoft.Logic/workflows/versions"
+ },
+ "trigger": {
+ "name": "Recurrence",
+ "startTime": "2018-04-20T02:50:12.460076Z",
+ "endTime": "2018-04-20T02:50:12.460076Z",
+ "scheduledTime": "2018-04-20T02:50:12.1412543Z",
+ "correlation": {
+ "clientTrackingId": "08586774142730039209110422528"
+ },
+ "code": "OK",
+ "status": "Succeeded"
+ },
+ "outputs": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/workflows/testFlow/runs/08586774142730039209110422528",
+ "name": "08586774142730039209110422528",
+ "type": "Microsoft.Logic/workflows/runs"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRuns_Cancel.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRuns_Cancel.json
new file mode 100644
index 000000000000..1c32a60b6e8d
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRuns_Cancel.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow",
+ "runName": "08586676746934337772206998657CU22"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRuns_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRuns_Get.json
new file mode 100644
index 000000000000..931c94b4beef
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRuns_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow",
+ "runName": "08586676746934337772206998657CU22"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "waitEndTime": "2018-08-10T20:16:32.044238Z",
+ "startTime": "2018-08-10T20:16:32.044238Z",
+ "endTime": "2018-08-10T20:16:32.5779999Z",
+ "status": "Succeeded",
+ "correlation": {
+ "clientTrackingId": "08586676746934337772206998657CU22"
+ },
+ "workflow": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/versions/08586676754160363885",
+ "name": "08586676754160363885",
+ "type": "Microsoft.Logic/workflows/versions"
+ },
+ "trigger": {
+ "name": "Recurrence",
+ "startTime": "2018-08-10T20:16:32.0387927Z",
+ "endTime": "2018-08-10T20:16:32.0387927Z",
+ "scheduledTime": "2018-08-10T20:16:31.6344174Z",
+ "correlation": {
+ "clientTrackingId": "08586676746934337772206998657CU22"
+ },
+ "code": "OK",
+ "status": "Succeeded"
+ },
+ "outputs": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/runs/08586676746934337772206998657CU22",
+ "name": "08586676746934337772206998657CU22",
+ "type": "Microsoft.Logic/workflows/runs"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRuns_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRuns_List.json
new file mode 100644
index 000000000000..f6a5453c1ed9
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowRuns_List.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "waitEndTime": "2018-08-10T20:16:32.044238Z",
+ "startTime": "2018-08-10T20:16:32.044238Z",
+ "endTime": "2018-08-10T20:16:32.5779999Z",
+ "status": "Succeeded",
+ "correlation": {
+ "clientTrackingId": "08586676746934337772206998657CU22"
+ },
+ "workflow": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/versions/08586676754160363885",
+ "name": "08586676754160363885",
+ "type": "Microsoft.Logic/workflows/versions"
+ },
+ "trigger": {
+ "name": "Recurrence",
+ "startTime": "2018-08-10T20:16:32.0387927Z",
+ "endTime": "2018-08-10T20:16:32.0387927Z",
+ "scheduledTime": "2018-08-10T20:16:31.6344174Z",
+ "correlation": {
+ "clientTrackingId": "08586676746934337772206998657CU22"
+ },
+ "code": "OK",
+ "status": "Succeeded"
+ },
+ "outputs": {}
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/runs/08586676746934337772206998657CU22",
+ "name": "08586676746934337772206998657CU22",
+ "type": "Microsoft.Logic/workflows/runs"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggerHistories_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggerHistories_Get.json
new file mode 100644
index 000000000000..04f7c341dd01
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggerHistories_Get.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testWorkflowName",
+ "triggerName": "testTriggerName",
+ "historyName": "08586676746934337772206998657CU22"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": {
+ "properties": {
+ "startTime": "2018-08-10T20:16:32.0387927Z",
+ "endTime": "2018-08-10T20:16:32.2987996Z",
+ "scheduledTime": "2018-08-10T20:16:31.6344174Z",
+ "status": "Succeeded",
+ "code": "OK",
+ "correlation": {
+ "clientTrackingId": "08586676746934337772206998657CU22"
+ },
+ "fired": true,
+ "run": {
+ "name": "08586676746934337772206998657CU22",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/workflows/testWorkflowName/runs/08586676746934337772206998657CU22",
+ "type": "Microsoft.Logic/workflows/runs"
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/workflows/testWorkflowName/triggers/testTriggerName/histories/08586676746934337772206998657CU22",
+ "name": "08586676746934337772206998657CU22",
+ "type": "Microsoft.Logic/workflows/triggers/histories"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggerHistories_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggerHistories_List.json
new file mode 100644
index 000000000000..68ec3fabab36
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggerHistories_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testWorkflowName",
+ "triggerName": "testTriggerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "startTime": "2018-08-10T20:16:32.0387927Z",
+ "endTime": "2018-08-10T20:16:32.2987996Z",
+ "scheduledTime": "2018-08-10T20:16:31.6344174Z",
+ "status": "Succeeded",
+ "code": "OK",
+ "correlation": {
+ "clientTrackingId": "08586676746934337772206998657CU22"
+ },
+ "fired": true,
+ "run": {
+ "name": "08586676746934337772206998657CU22",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/workflows/testWorkflowName/runs/08586676746934337772206998657CU22",
+ "type": "Microsoft.Logic/workflows/runs"
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testResourceGroup/providers/Microsoft.Logic/workflows/testWorkflowName/triggers/testTriggerName/histories/08586676746934337772206998657CU22",
+ "name": "08586676746934337772206998657CU22",
+ "type": "Microsoft.Logic/workflows/triggers/histories"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggerHistories_Resubmit.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggerHistories_Resubmit.json
new file mode 100644
index 000000000000..49558ec16a73
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggerHistories_Resubmit.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testWorkflowName",
+ "triggerName": "testTriggerName",
+ "historyName": "testHistoryName"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_Get.json
new file mode 100644
index 000000000000..41879341b4d3
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow",
+ "triggerName": "manual"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdTime": "2018-08-10T17:32:30.2496336Z",
+ "changedTime": "2018-08-10T18:47:49.5288666Z",
+ "state": "Enabled",
+ "workflow": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/versions/08586676800160476478",
+ "name": "08586676800160476478",
+ "type": "Microsoft.Logic/workflows/versions"
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/triggers/manual",
+ "name": "manual",
+ "type": "Microsoft.Logic/workflows/triggers"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_GetSchemaJson.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_GetSchemaJson.json
new file mode 100644
index 000000000000..4efc29dc5697
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_GetSchemaJson.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testWorkflow",
+ "triggerName": "testTrigger"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "title": "JsonTitle",
+ "content": "JsonContent"
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_List.json
new file mode 100644
index 000000000000..55064520353c
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_List.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdTime": "2018-08-10T17:32:30.2496336Z",
+ "changedTime": "2018-08-10T18:47:49.5288666Z",
+ "state": "Enabled",
+ "workflow": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/versions/08586676800160476478",
+ "name": "08586676800160476478",
+ "type": "Microsoft.Logic/workflows/versions"
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow/triggers/manual",
+ "name": "manual",
+ "type": "Microsoft.Logic/workflows/triggers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_ListCallbackUrl.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_ListCallbackUrl.json
new file mode 100644
index 000000000000..528edd212a99
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_ListCallbackUrl.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow",
+ "triggerName": "manual"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "http://test-host:100/workflows/fb9c8d79b15f41ce9b12861862f43546/versions/08587100027316071865/triggers/manualTrigger/paths/invoke?api-version=2015-08-01-preview&sp=%2Fversions%2F08587100027316071865%2Ftriggers%2FmanualTrigger%2Frun&sv=1.0&sig=IxEQ_ygZf6WNEQCbjV0Vs6p6Y4DyNEJVAa86U5B4xhk",
+ "method": "POST",
+ "basePath": "http://test-host:100/workflows/fb9c8d79b15f41ce9b12861862f43546/versions/08587100027316071865/triggers/manualTrigger/paths/invoke",
+ "queries": {
+ "api-version": "2018-07-01-preview",
+ "sp": "/versions/08587100027316071865/triggers/manualTrigger/run",
+ "sv": "1.0",
+ "sig": "IxEQ_ygZf6WNEQCbjV0Vs6p6Y4DyNEJVAa86U5B4xhk"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_Reset.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_Reset.json
new file mode 100644
index 000000000000..9791dbb062be
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_Reset.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testWorkflow",
+ "triggerName": "testTrigger"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_Run.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_Run.json
new file mode 100644
index 000000000000..beaf47699d0a
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_Run.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow",
+ "triggerName": "manual"
+ },
+ "responses": {
+ "default": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_SetState.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_SetState.json
new file mode 100644
index 000000000000..517e5f10f6f0
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowTriggers_SetState.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testWorkflow",
+ "triggerName": "testTrigger",
+ "setState": {
+ "source": {
+ "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sourceResGroup/providers/Microsoft.Logic/workflows/sourceWorkflow/triggers/sourceTrigger"
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowVersionTriggers_ListCallbackUrl.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowVersionTriggers_ListCallbackUrl.json
new file mode 100644
index 000000000000..a6e0de741e87
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowVersionTriggers_ListCallbackUrl.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testWorkflowName",
+ "versionId": "testWorkflowVersionId",
+ "triggerName": "testTriggerName",
+ "parameters": {
+ "notAfter": "2017-03-05T08:00:00Z",
+ "keyType": "Primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "http://test-host:100/workflows/fb9c8d79b15f41ce9b12861862f43546/versions/08587100027316071865/triggers/manualTrigger/paths/invoke?api-version=2015-08-01-preview&sp=%2Fversions%2F08587100027316071865%2Ftriggers%2FmanualTrigger%2Frun&sv=1.0&sig=IxEQ_ygZf6WNEQCbjV0Vs6p6Y4DyNEJVAa86U5B4xhk",
+ "method": "POST",
+ "basePath": "http://test-host:100/workflows/fb9c8d79b15f41ce9b12861862f43546/versions/08587100027316071865/triggers/manualTrigger/paths/invoke",
+ "queries": {
+ "api-version": "2015-08-01-preview",
+ "sp": "/versions/08587100027316071865/triggers/manualTrigger/run",
+ "sv": "1.0",
+ "sig": "IxEQ_ygZf6WNEQCbjV0Vs6p6Y4DyNEJVAa86U5B4xhk"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowVersions_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowVersions_Get.json
new file mode 100644
index 000000000000..788a1069df7a
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowVersions_Get.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow",
+ "versionId": "08586676824806722526"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdTime": "2018-04-25T01:39:21.4365247Z",
+ "changedTime": "2018-08-09T22:54:54.3533634Z",
+ "state": "Enabled",
+ "version": "08586677515911718341",
+ "accessEndpoint": "http://tempuri.org",
+ "integrationAccount": {
+ "name": "test-integration-account",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationAccounts/test-integration-account",
+ "type": "Microsoft.Logic/integrationAccounts"
+ },
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {},
+ "triggers": {},
+ "actions": {},
+ "outputs": {}
+ },
+ "parameters": {},
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "13.84.159.168"
+ },
+ {
+ "address": "13.65.86.56"
+ },
+ {
+ "address": "13.65.82.190"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "104.210.153.89"
+ },
+ {
+ "address": "13.85.79.155"
+ },
+ {
+ "address": "13.65.39.247"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.84.145.61"
+ }
+ ]
+ }
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow",
+ "name": "test-workflow",
+ "type": "Microsoft.Logic/workflows",
+ "location": "brazilsouth",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowVersions_List.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowVersions_List.json
new file mode 100644
index 000000000000..17d91043f76e
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/WorkflowVersions_List.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdTime": "2018-04-25T01:39:21.4365247Z",
+ "changedTime": "2018-08-09T22:54:54.3533634Z",
+ "state": "Enabled",
+ "version": "08586677515911718341",
+ "accessEndpoint": "http://tempuri.org",
+ "integrationAccount": {
+ "name": "test-integration-account",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationAccounts/test-integration-account",
+ "type": "Microsoft.Logic/integrationAccounts"
+ },
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {},
+ "triggers": {},
+ "actions": {},
+ "outputs": {}
+ },
+ "parameters": {},
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "13.84.159.168"
+ },
+ {
+ "address": "13.65.86.56"
+ },
+ {
+ "address": "13.65.82.190"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "104.210.153.89"
+ },
+ {
+ "address": "13.85.79.155"
+ },
+ {
+ "address": "13.65.39.247"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.84.145.61"
+ }
+ ]
+ }
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow",
+ "name": "test-workflow",
+ "type": "Microsoft.Logic/workflows",
+ "location": "brazilsouth",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_CreateOrUpdate.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_CreateOrUpdate.json
new file mode 100644
index 000000000000..57d9d5822ec0
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_CreateOrUpdate.json
@@ -0,0 +1,193 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow",
+ "workflow": {
+ "properties": {
+ "integrationAccount": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationAccounts/test-integration-account"
+ },
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "$connections": {
+ "defaultValue": {},
+ "type": "Object"
+ }
+ },
+ "triggers": {
+ "manual": {
+ "type": "Request",
+ "kind": "Http",
+ "inputs": {
+ "schema": {}
+ }
+ }
+ },
+ "actions": {
+ "Find_pet_by_ID": {
+ "runAfter": {},
+ "type": "ApiConnection",
+ "inputs": {
+ "host": {
+ "connection": {
+ "name": "@parameters('$connections')['test-custom-connector']['connectionId']"
+ }
+ },
+ "method": "get",
+ "path": "/pet/@{encodeURIComponent('1')}"
+ }
+ }
+ },
+ "outputs": {}
+ },
+ "parameters": {
+ "$connections": {
+ "value": {
+ "test-custom-connector": {
+ "connectionId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Web/connections/test-custom-connector",
+ "connectionName": "test-custom-connector",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/brazilsouth/managedApis/test-custom-connector"
+ }
+ }
+ }
+ }
+ },
+ "location": "brazilsouth",
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdTime": "2018-04-25T01:39:21.4365247Z",
+ "changedTime": "2018-08-09T22:54:54.3533634Z",
+ "state": "Enabled",
+ "version": "08586677515911718341",
+ "accessEndpoint": "http://tempuri.org",
+ "integrationAccount": {
+ "name": "test-integration-account",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationAccounts/test-integration-account",
+ "type": "Microsoft.Logic/integrationAccounts"
+ },
+ "integrationServiceEnvironment": {
+ "name": "test-integration-service-environment",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationServiceEnvironments/test-integration-service-environment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {},
+ "triggers": {},
+ "actions": {},
+ "outputs": {}
+ },
+ "parameters": {},
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "13.84.159.168"
+ },
+ {
+ "address": "13.65.86.56"
+ },
+ {
+ "address": "13.65.82.190"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "104.210.153.89"
+ },
+ {
+ "address": "13.85.79.155"
+ },
+ {
+ "address": "13.65.39.247"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.84.145.61"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdTime": "2018-04-25T01:39:21.4365247Z",
+ "changedTime": "2018-08-09T22:54:54.3533634Z",
+ "state": "Enabled",
+ "version": "08586677515911718341",
+ "accessEndpoint": "http://tempuri.org",
+ "integrationAccount": {
+ "name": "test-integration-account",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationAccounts/test-integration-account",
+ "type": "Microsoft.Logic/integrationAccounts"
+ },
+ "integrationServiceEnvironment": {
+ "name": "test-integration-service-environment",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationServiceEnvironments/test-integration-service-environment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {},
+ "triggers": {},
+ "actions": {},
+ "outputs": {}
+ },
+ "parameters": {},
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "13.84.159.168"
+ },
+ {
+ "address": "13.65.86.56"
+ },
+ {
+ "address": "13.65.82.190"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "104.210.153.89"
+ },
+ {
+ "address": "13.85.79.155"
+ },
+ {
+ "address": "13.65.39.247"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.84.145.61"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Delete.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Delete.json
new file mode 100644
index 000000000000..a6c014c7381b
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Disable.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Disable.json
new file mode 100644
index 000000000000..d6731b23ff2a
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Disable.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Enable.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Enable.json
new file mode 100644
index 000000000000..d6731b23ff2a
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Enable.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_GenerateUpgradedDefinition.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_GenerateUpgradedDefinition.json
new file mode 100644
index 000000000000..de83fbfa61eb
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_GenerateUpgradedDefinition.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow",
+ "parameters": {
+ "targetSchemaVersion": "2016-06-01"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "$connections": {
+ "defaultValue": {},
+ "type": "Object"
+ }
+ },
+ "triggers": {},
+ "actions": {},
+ "outputs": {}
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Get.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Get.json
new file mode 100644
index 000000000000..26aefb6bb1ad
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Get.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdTime": "2018-04-25T01:39:21.4365247Z",
+ "changedTime": "2018-08-09T22:54:54.3533634Z",
+ "state": "Enabled",
+ "version": "08586677515911718341",
+ "accessEndpoint": "http://tempuri.org",
+ "integrationAccount": {
+ "name": "test-integration-account",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationAccounts/test-integration-account",
+ "type": "Microsoft.Logic/integrationAccounts"
+ },
+ "integrationServiceEnvironment": {
+ "name": "test-integration-service-environment",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationServiceEnvironments/test-integration-service-environment",
+ "type": "Microsoft.Logic/integrationServiceEnvironments"
+ },
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2018-07-01-preview/workflowdefinition.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {},
+ "triggers": {},
+ "actions": {},
+ "outputs": {}
+ },
+ "parameters": {},
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "13.84.159.168"
+ },
+ {
+ "address": "13.65.86.56"
+ },
+ {
+ "address": "13.65.82.190"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "104.210.153.89"
+ },
+ {
+ "address": "13.85.79.155"
+ },
+ {
+ "address": "13.65.39.247"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.84.145.61"
+ }
+ ]
+ }
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow",
+ "name": "test-workflow",
+ "type": "Microsoft.Logic/workflows",
+ "location": "brazilsouth",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ListByResourceGroup.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ListByResourceGroup.json
new file mode 100644
index 000000000000..7a5f36944c93
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ListByResourceGroup.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdTime": "2018-04-25T01:39:21.4365247Z",
+ "changedTime": "2018-08-09T22:54:54.3533634Z",
+ "state": "Enabled",
+ "version": "08586677515911718341",
+ "accessEndpoint": "http://tempuri.org",
+ "integrationAccount": {
+ "name": "test-integration-account",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationAccounts/test-integration-account",
+ "type": "Microsoft.Logic/integrationAccounts"
+ },
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {},
+ "triggers": {},
+ "actions": {},
+ "outputs": {}
+ },
+ "parameters": {},
+ "accessControl": {},
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "13.84.159.168"
+ },
+ {
+ "address": "13.65.86.56"
+ },
+ {
+ "address": "13.65.82.190"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "104.210.153.89"
+ },
+ {
+ "address": "13.85.79.155"
+ },
+ {
+ "address": "13.65.39.247"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.84.145.61"
+ }
+ ]
+ }
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow",
+ "name": "test-workflow",
+ "type": "Microsoft.Logic/workflows",
+ "location": "brazilsouth",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ListBySubscription.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ListBySubscription.json
new file mode 100644
index 000000000000..2d302992f3c6
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ListBySubscription.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdTime": "2018-04-25T01:39:21.4365247Z",
+ "changedTime": "2018-08-09T22:54:54.3533634Z",
+ "state": "Enabled",
+ "version": "08586677515911718341",
+ "accessEndpoint": "http://tempuri.org",
+ "integrationAccount": {
+ "name": "test-integration-account",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationAccounts/test-integration-account",
+ "type": "Microsoft.Logic/integrationAccounts"
+ },
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {},
+ "triggers": {},
+ "actions": {},
+ "outputs": {}
+ },
+ "parameters": {},
+ "accessControl": {},
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "13.84.159.168"
+ },
+ {
+ "address": "13.65.86.56"
+ },
+ {
+ "address": "13.65.82.190"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "104.210.153.89"
+ },
+ {
+ "address": "13.85.79.155"
+ },
+ {
+ "address": "13.65.39.247"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.84.145.61"
+ }
+ ]
+ }
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow",
+ "name": "test-workflow",
+ "type": "Microsoft.Logic/workflows",
+ "location": "brazilsouth",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ListCallbackUrl.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ListCallbackUrl.json
new file mode 100644
index 000000000000..54317be43c1c
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ListCallbackUrl.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testWorkflow",
+ "listCallbackUrl": {
+ "notAfter": "2018-04-19T16:00:00Z",
+ "keyType": "Primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "https://prod-03.westus.logic.azure.com/workflows/d4690301f3b340de9330256bb2e83974/triggers/requestTrigger/paths/invoke?api-version=2018-07-01-preview&se=2018-04-19T16%3A00%3A00.0000000Z&sp=%2Ftriggers%2FrequestTrigger%2Frun&sv=1.0&sig=JXbHjs3qzLPDyk-IM_VzsN-WL_mNql3v_uWbBbKgtVk",
+ "method": "POST",
+ "basePath": "https://prod-03.westus.logic.azure.com/workflows/d4690301f3b340de9330256bb2e83974",
+ "queries": {
+ "api-version": "2018-07-01-preview",
+ "se": "2018-04-19T16:00:00.0000000Z",
+ "sp": "//*",
+ "sv": "1.0",
+ "sig": "JXbHjs3qzLPDyk-IM_VzsN-WL_mNql3v_uWbBbKgtVk"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ListSwagger.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ListSwagger.json
new file mode 100644
index 000000000000..a5206603139a
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ListSwagger.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testWorkflowName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "swagger": "2.0",
+ "info": {
+ "title": "flow",
+ "description": "Azure Logic App."
+ },
+ "host": "test-host",
+ "basePath": "/workflows/2e420261710e423490d5d502fe9c4abb/triggers",
+ "schemes": [
+ "http"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/simpleManualTrigger/paths/invoke": {
+ "post": {
+ "description": "Trigger a run of the logic app.",
+ "operationId": "simpleManualTrigger-invoke",
+ "parameters": [
+ {
+ "name": "api-version",
+ "in": "query",
+ "description": "The service API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "sp",
+ "in": "query",
+ "description": "The permissions; generally 'read' or 'write'.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "sv",
+ "in": "query",
+ "description": "The version number of the query parameters.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "sig",
+ "in": "query",
+ "description": "The SHA 256 hash of the entire request URI with an internal key.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "The Logic App Response.",
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Move.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Move.json
new file mode 100644
index 000000000000..85550c5b54e2
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Move.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testWorkflow",
+ "move": {
+ "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/newResourceGroup/providers/Microsoft.Logic/workflows/newWorkflowName"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_RegenerateAccessKey.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_RegenerateAccessKey.json
new file mode 100644
index 000000000000..fbf3b4a25499
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_RegenerateAccessKey.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "resourceGroupName": "testResourceGroup",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "workflowName": "testWorkflowName",
+ "keyType": {
+ "keyType": "Primary"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Update.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Update.json
new file mode 100644
index 000000000000..ae2ca279220f
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_Update.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow",
+ "workflow": {
+ "properties": {
+ "integrationAccount": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationAccounts/test-integration-account"
+ },
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "$connections": {
+ "defaultValue": {},
+ "type": "Object"
+ }
+ },
+ "triggers": {
+ "manual": {
+ "type": "Request",
+ "kind": "Http",
+ "inputs": {
+ "schema": {}
+ }
+ }
+ },
+ "actions": {
+ "Find_pet_by_ID": {
+ "runAfter": {},
+ "type": "ApiConnection",
+ "inputs": {
+ "host": {
+ "connection": {
+ "name": "@parameters('$connections')['test-custom-connector']['connectionId']"
+ }
+ },
+ "method": "get",
+ "path": "/pet/@{encodeURIComponent('1')}"
+ }
+ }
+ },
+ "outputs": {}
+ },
+ "parameters": {
+ "$connections": {
+ "value": {
+ "test-custom-connector": {
+ "connectionId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Web/connections/test-custom-connector",
+ "connectionName": "test-custom-connector",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/brazilsouth/managedApis/test-custom-connector"
+ }
+ }
+ }
+ }
+ },
+ "location": "brazilsouth",
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdTime": "2018-04-25T01:39:21.4365247Z",
+ "changedTime": "2018-08-09T22:54:54.3533634Z",
+ "state": "Enabled",
+ "version": "08586677515911718341",
+ "accessEndpoint": "http://tempuri.org",
+ "integrationAccount": {
+ "name": "test-integration-account",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationAccounts/test-integration-account",
+ "type": "Microsoft.Logic/integrationAccounts"
+ },
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {},
+ "triggers": {},
+ "actions": {},
+ "outputs": {}
+ },
+ "parameters": {},
+ "endpointsConfiguration": {
+ "workflow": {
+ "outgoingIpAddresses": [
+ {
+ "address": "13.84.159.168"
+ },
+ {
+ "address": "13.65.86.56"
+ },
+ {
+ "address": "13.65.82.190"
+ }
+ ],
+ "accessEndpointIpAddresses": [
+ {
+ "address": "104.210.153.89"
+ },
+ {
+ "address": "13.85.79.155"
+ },
+ {
+ "address": "13.65.39.247"
+ }
+ ]
+ },
+ "connector": {
+ "outgoingIpAddresses": [
+ {
+ "address": "40.84.145.61"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ValidateByLocation.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ValidateByLocation.json
new file mode 100644
index 000000000000..ba6aa2f78c69
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ValidateByLocation.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "location": "brazilsouth",
+ "workflowName": "test-workflow",
+ "validate": {
+ "properties": {
+ "integrationAccount": {
+ "name": "test-integration-account",
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationAccounts/test-integration-account",
+ "type": "Microsoft.Logic/integrationAccounts"
+ },
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {},
+ "triggers": {},
+ "actions": {},
+ "outputs": {}
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow",
+ "name": "test-workflow",
+ "type": "Microsoft.Logic/workflows",
+ "location": "brazilsouth",
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ValidateByResourceGroup.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ValidateByResourceGroup.json
new file mode 100644
index 000000000000..5cc3c89d8da1
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/Workflows_ValidateByResourceGroup.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "test-resource-group",
+ "workflowName": "test-workflow",
+ "validate": {
+ "properties": {
+ "integrationAccount": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/integrationAccounts/test-integration-account"
+ },
+ "definition": {
+ "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {},
+ "triggers": {},
+ "actions": {},
+ "outputs": {}
+ }
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-resource-group/providers/Microsoft.Logic/workflows/test-workflow",
+ "name": "test-workflow",
+ "location": "brazilsouth",
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json
new file mode 100644
index 000000000000..c5cf4d81a7f2
--- /dev/null
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json
@@ -0,0 +1,12667 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "LogicManagementClient",
+ "description": "REST API for Azure Logic Apps.",
+ "version": "2019-05-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Logic/workflows": {
+ "get": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_ListBySubscription",
+ "description": "Gets a list of workflows by subscription.",
+ "x-ms-examples": {
+ "List all workflows in a subscription": {
+ "$ref": "./examples/Workflows_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$filter",
+ "description": "The filter to apply on the operation. Options for filters include: State, Trigger, and ReferencedResourceId.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/WorkflowFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows": {
+ "get": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_ListByResourceGroup",
+ "description": "Gets a list of workflows by resource group.",
+ "x-ms-examples": {
+ "List all workflows in a resource group": {
+ "$ref": "./examples/Workflows_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$filter",
+ "description": "The filter to apply on the operation. Options for filters include: State, Trigger, and ReferencedResourceId.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/WorkflowFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}": {
+ "get": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_Get",
+ "description": "Gets a workflow.",
+ "x-ms-examples": {
+ "Get a workflow": {
+ "$ref": "./examples/Workflows_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Workflow"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_CreateOrUpdate",
+ "description": "Creates or updates a workflow.",
+ "x-ms-examples": {
+ "Create or update a workflow": {
+ "$ref": "./examples/Workflows_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "workflow",
+ "description": "The workflow.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Workflow"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Workflow"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Workflow"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_Update",
+ "description": "Updates a workflow.",
+ "x-ms-examples": {
+ "Patch a workflow": {
+ "$ref": "./examples/Workflows_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "workflow",
+ "description": "The workflow.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Workflow"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Workflow"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_Delete",
+ "description": "Deletes a workflow.",
+ "x-ms-examples": {
+ "Delete a workflow": {
+ "$ref": "./examples/Workflows_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/disable": {
+ "post": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_Disable",
+ "description": "Disables a workflow.",
+ "x-ms-examples": {
+ "Disable a workflow": {
+ "$ref": "./examples/Workflows_Disable.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/enable": {
+ "post": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_Enable",
+ "description": "Enables a workflow.",
+ "x-ms-examples": {
+ "Enable a workflow": {
+ "$ref": "./examples/Workflows_Enable.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/generateUpgradedDefinition": {
+ "post": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_GenerateUpgradedDefinition",
+ "description": "Generates the upgraded definition for a workflow.",
+ "x-ms-examples": {
+ "Generate an upgraded definition": {
+ "$ref": "./examples/Workflows_GenerateUpgradedDefinition.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "parameters",
+ "description": "Parameters for generating an upgraded definition.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GenerateUpgradedDefinitionParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Object"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listCallbackUrl": {
+ "post": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_ListCallbackUrl",
+ "description": "Get the workflow callback Url.",
+ "x-ms-examples": {
+ "Get callback url": {
+ "$ref": "./examples/Workflows_ListCallbackUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "listCallbackUrl",
+ "description": "Which callback url to list.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GetCallbackUrlParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowTriggerCallbackUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listSwagger": {
+ "post": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_ListSwagger",
+ "description": "Gets an OpenAPI definition for the workflow.",
+ "x-ms-examples": {
+ "Get the swagger for a workflow": {
+ "$ref": "./examples/Workflows_ListSwagger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Object"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move": {
+ "post": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_Move",
+ "x-ms-long-running-operation": true,
+ "description": "Moves an existing workflow.",
+ "x-ms-examples": {
+ "Move a workflow": {
+ "$ref": "./examples/Workflows_Move.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "move",
+ "description": "The workflow to move.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Workflow"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/regenerateAccessKey": {
+ "post": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_RegenerateAccessKey",
+ "description": "Regenerates the callback URL access key for request triggers.",
+ "x-ms-examples": {
+ "Regenerate the callback URL access key for request triggers": {
+ "$ref": "./examples/Workflows_RegenerateAccessKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "keyType",
+ "description": "The access key type.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateActionParameter"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/validate": {
+ "post": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_ValidateByResourceGroup",
+ "description": "Validates the workflow.",
+ "x-ms-examples": {
+ "Validate a workflow": {
+ "$ref": "./examples/Workflows_ValidateByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "validate",
+ "description": "The workflow.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Workflow"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions": {
+ "get": {
+ "tags": [
+ "WorkflowVersions"
+ ],
+ "operationId": "WorkflowVersions_List",
+ "description": "Gets a list of workflow versions.",
+ "x-ms-examples": {
+ "List a workflows versions": {
+ "$ref": "./examples/WorkflowVersions_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowVersionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}": {
+ "get": {
+ "tags": [
+ "WorkflowVersions"
+ ],
+ "operationId": "WorkflowVersions_Get",
+ "description": "Gets a workflow version.",
+ "x-ms-examples": {
+ "Get a workflow version": {
+ "$ref": "./examples/WorkflowVersions_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "versionId",
+ "description": "The workflow versionId.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers": {
+ "get": {
+ "tags": [
+ "WorkflowTriggers"
+ ],
+ "operationId": "WorkflowTriggers_List",
+ "description": "Gets a list of workflow triggers.",
+ "x-ms-examples": {
+ "List workflow triggers": {
+ "$ref": "./examples/WorkflowTriggers_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$filter",
+ "description": "The filter to apply on the operation.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowTriggerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/WorkflowTriggerFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}": {
+ "get": {
+ "tags": [
+ "WorkflowTriggers"
+ ],
+ "operationId": "WorkflowTriggers_Get",
+ "description": "Gets a workflow trigger.",
+ "x-ms-examples": {
+ "Get a workflow trigger": {
+ "$ref": "./examples/WorkflowTriggers_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "triggerName",
+ "description": "The workflow trigger name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowTrigger"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/reset": {
+ "post": {
+ "tags": [
+ "WorkflowTriggers"
+ ],
+ "operationId": "WorkflowTriggers_Reset",
+ "description": "Resets a workflow trigger.",
+ "x-ms-examples": {
+ "Reset trigger": {
+ "$ref": "./examples/WorkflowTriggers_Reset.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "triggerName",
+ "description": "The workflow trigger name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/run": {
+ "post": {
+ "tags": [
+ "WorkflowTriggers"
+ ],
+ "operationId": "WorkflowTriggers_Run",
+ "description": "Runs a workflow trigger.",
+ "x-ms-examples": {
+ "Run a workflow trigger": {
+ "$ref": "./examples/WorkflowTriggers_Run.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "triggerName",
+ "description": "The workflow trigger name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "All status codes are acceptable.",
+ "schema": {
+ "$ref": "#/definitions/Object"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/schemas/json": {
+ "get": {
+ "tags": [
+ "WorkflowTriggers"
+ ],
+ "operationId": "WorkflowTriggers_GetSchemaJson",
+ "description": "Get the trigger schema as JSON.",
+ "x-ms-examples": {
+ "Get trigger schema": {
+ "$ref": "./examples/WorkflowTriggers_GetSchemaJson.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "triggerName",
+ "description": "The workflow trigger name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JsonSchema"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/setState": {
+ "post": {
+ "tags": [
+ "WorkflowTriggers"
+ ],
+ "operationId": "WorkflowTriggers_SetState",
+ "description": "Sets the state of a workflow trigger.",
+ "x-ms-examples": {
+ "Set trigger state": {
+ "$ref": "./examples/WorkflowTriggers_SetState.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "triggerName",
+ "description": "The workflow trigger name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "setState",
+ "description": "The workflow trigger state.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SetTriggerStateActionDefinition"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl": {
+ "post": {
+ "tags": [
+ "WorkflowTriggers"
+ ],
+ "operationId": "WorkflowTriggers_ListCallbackUrl",
+ "description": "Get the callback URL for a workflow trigger.",
+ "x-ms-examples": {
+ "Get the callback URL for a trigger": {
+ "$ref": "./examples/WorkflowTriggers_ListCallbackUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "triggerName",
+ "description": "The workflow trigger name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowTriggerCallbackUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}/triggers/{triggerName}/listCallbackUrl": {
+ "post": {
+ "tags": [
+ "WorkflowTriggers"
+ ],
+ "operationId": "WorkflowVersionTriggers_ListCallbackUrl",
+ "description": "Get the callback url for a trigger of a workflow version.",
+ "x-ms-examples": {
+ "Get the callback url for a trigger of a workflow version": {
+ "$ref": "./examples/WorkflowVersionTriggers_ListCallbackUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "versionId",
+ "description": "The workflow versionId.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "triggerName",
+ "description": "The workflow trigger name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "description": "The callback URL parameters.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/GetCallbackUrlParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowTriggerCallbackUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories": {
+ "get": {
+ "tags": [
+ "WorkflowTriggerHistories"
+ ],
+ "operationId": "WorkflowTriggerHistories_List",
+ "description": "Gets a list of workflow trigger histories.",
+ "x-ms-examples": {
+ "List a workflow trigger history": {
+ "$ref": "./examples/WorkflowTriggerHistories_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "triggerName",
+ "description": "The workflow trigger name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$filter",
+ "description": "The filter to apply on the operation. Options for filters include: Status, StartTime, and ClientTrackingId.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowTriggerHistoryListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/WorkflowTriggerHistoryFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}": {
+ "get": {
+ "tags": [
+ "WorkflowTriggerHistories"
+ ],
+ "operationId": "WorkflowTriggerHistories_Get",
+ "description": "Gets a workflow trigger history.",
+ "x-ms-examples": {
+ "Get a workflow trigger history": {
+ "$ref": "./examples/WorkflowTriggerHistories_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "triggerName",
+ "description": "The workflow trigger name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "historyName",
+ "description": "The workflow trigger history name. Corresponds to the run name for triggers that resulted in a run.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowTriggerHistory"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}/resubmit": {
+ "post": {
+ "tags": [
+ "WorkflowTriggerHistories"
+ ],
+ "operationId": "WorkflowTriggerHistories_Resubmit",
+ "description": "Resubmits a workflow run based on the trigger history.",
+ "x-ms-examples": {
+ "Resubmit a workflow run based on the trigger history": {
+ "$ref": "./examples/WorkflowTriggerHistories_Resubmit.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "triggerName",
+ "description": "The workflow trigger name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "historyName",
+ "description": "The workflow trigger history name. Corresponds to the run name for triggers that resulted in a run.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs": {
+ "get": {
+ "tags": [
+ "WorkflowRuns"
+ ],
+ "operationId": "WorkflowRuns_List",
+ "description": "Gets a list of workflow runs.",
+ "x-ms-examples": {
+ "List workflow runs": {
+ "$ref": "./examples/WorkflowRuns_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$filter",
+ "description": "The filter to apply on the operation. Options for filters include: Status, StartTime, and ClientTrackingId.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowRunListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/WorkflowRunFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}": {
+ "get": {
+ "tags": [
+ "WorkflowRuns"
+ ],
+ "operationId": "WorkflowRuns_Get",
+ "description": "Gets a workflow run.",
+ "x-ms-examples": {
+ "Get a run for a workflow": {
+ "$ref": "./examples/WorkflowRuns_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowRun"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/cancel": {
+ "post": {
+ "tags": [
+ "WorkflowRuns"
+ ],
+ "operationId": "WorkflowRuns_Cancel",
+ "description": "Cancels a workflow run.",
+ "x-ms-examples": {
+ "Cancel a workflow run": {
+ "$ref": "./examples/WorkflowRuns_Cancel.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions": {
+ "get": {
+ "tags": [
+ "WorkflowRunActions"
+ ],
+ "operationId": "WorkflowRunActions_List",
+ "description": "Gets a list of workflow run actions.",
+ "x-ms-examples": {
+ "List a workflow run actions": {
+ "$ref": "./examples/WorkflowRunActions_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$filter",
+ "description": "The filter to apply on the operation. Options for filters include: Status.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowRunActionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/WorkflowRunActionFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}": {
+ "get": {
+ "tags": [
+ "WorkflowRunActions"
+ ],
+ "operationId": "WorkflowRunActions_Get",
+ "description": "Gets a workflow run action.",
+ "x-ms-examples": {
+ "Get a workflow run action": {
+ "$ref": "./examples/WorkflowRunActions_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionName",
+ "description": "The workflow action name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowRunAction"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/listExpressionTraces": {
+ "post": {
+ "tags": [
+ "WorkflowRunActions"
+ ],
+ "operationId": "WorkflowRunActions_ListExpressionTraces",
+ "description": "Lists a workflow run expression trace.",
+ "x-ms-examples": {
+ "List expression traces": {
+ "$ref": "./examples/WorkflowRunActions_ListExpressionTraces.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionName",
+ "description": "The workflow action name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExpressionTraces"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null,
+ "itemName": "inputs"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions": {
+ "get": {
+ "tags": [
+ "WorkflowRunActions"
+ ],
+ "operationId": "WorkflowRunActionRepetitions_List",
+ "description": "Get all of a workflow run action repetitions.",
+ "x-ms-examples": {
+ "List repetitions": {
+ "$ref": "./examples/WorkflowRunActionRepetitions_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionName",
+ "description": "The workflow action name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowRunActionRepetitionDefinitionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}": {
+ "get": {
+ "tags": [
+ "WorkflowRunActions"
+ ],
+ "operationId": "WorkflowRunActionRepetitions_Get",
+ "description": "Get a workflow run action repetition.",
+ "x-ms-examples": {
+ "Get a repetition": {
+ "$ref": "./examples/WorkflowRunActionRepetitions_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionName",
+ "description": "The workflow action name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "repetitionName",
+ "description": "The workflow repetition.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowRunActionRepetitionDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/listExpressionTraces": {
+ "post": {
+ "tags": [
+ "WorkflowRunActions"
+ ],
+ "operationId": "WorkflowRunActionRepetitions_ListExpressionTraces",
+ "description": "Lists a workflow run expression trace.",
+ "x-ms-examples": {
+ "List expression traces for a repetition": {
+ "$ref": "./examples/WorkflowRunActionRepetitions_ListExpressionTraces.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionName",
+ "description": "The workflow action name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "repetitionName",
+ "description": "The workflow repetition.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExpressionTraces"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null,
+ "itemName": "inputs"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/requestHistories": {
+ "get": {
+ "tags": [
+ "WorkflowRunActions"
+ ],
+ "operationId": "WorkflowRunActionRepetitionsRequestHistories_List",
+ "description": "List a workflow run repetition request history.",
+ "x-ms-examples": {
+ "List repetition request history": {
+ "$ref": "./examples/WorkflowRunActionRepetitionsRequestHistories_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionName",
+ "description": "The workflow action name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "repetitionName",
+ "description": "The workflow repetition.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RequestHistoryListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/requestHistories/{requestHistoryName}": {
+ "get": {
+ "tags": [
+ "WorkflowRunActions"
+ ],
+ "operationId": "WorkflowRunActionRepetitionsRequestHistories_Get",
+ "description": "Gets a workflow run repetition request history.",
+ "x-ms-examples": {
+ "Get a repetition request history": {
+ "$ref": "./examples/WorkflowRunActionRepetitionsRequestHistories_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionName",
+ "description": "The workflow action name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "repetitionName",
+ "description": "The workflow repetition.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "requestHistoryName",
+ "description": "The request history name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RequestHistory"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/requestHistories": {
+ "get": {
+ "tags": [
+ "WorkflowRunActions"
+ ],
+ "operationId": "WorkflowRunActionRequestHistories_List",
+ "description": "List a workflow run request history.",
+ "x-ms-examples": {
+ "List a request history": {
+ "$ref": "./examples/WorkflowRunActionRequestHistories_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionName",
+ "description": "The workflow action name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RequestHistoryListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/requestHistories/{requestHistoryName}": {
+ "get": {
+ "tags": [
+ "WorkflowRunActions"
+ ],
+ "operationId": "WorkflowRunActionRequestHistories_Get",
+ "description": "Gets a workflow run request history.",
+ "x-ms-examples": {
+ "Get a request history": {
+ "$ref": "./examples/WorkflowRunActionRequestHistories_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionName",
+ "description": "The workflow action name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "requestHistoryName",
+ "description": "The request history name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RequestHistory"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions": {
+ "get": {
+ "tags": [
+ "WorkflowRunActions"
+ ],
+ "operationId": "WorkflowRunActionScopeRepetitions_List",
+ "description": "List the workflow run action scoped repetitions.",
+ "x-ms-examples": {
+ "List the scoped repetitions": {
+ "$ref": "./examples/WorkflowRunActionScopeRepetitions_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionName",
+ "description": "The workflow action name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowRunActionRepetitionDefinitionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions/{repetitionName}": {
+ "get": {
+ "tags": [
+ "WorkflowRunActions"
+ ],
+ "operationId": "WorkflowRunActionScopeRepetitions_Get",
+ "description": "Get a workflow run action scoped repetition.",
+ "x-ms-examples": {
+ "Get a scoped repetition": {
+ "$ref": "./examples/WorkflowRunActionScopeRepetitions_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionName",
+ "description": "The workflow action name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "repetitionName",
+ "description": "The workflow repetition.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowRunActionRepetitionDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "WorkflowRunOperations"
+ ],
+ "operationId": "WorkflowRunOperations_Get",
+ "description": "Gets an operation for a run.",
+ "x-ms-examples": {
+ "Get a run operation": {
+ "$ref": "./examples/WorkflowRunOperations_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runName",
+ "description": "The workflow run name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "description": "The workflow operation id.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowRun"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/locations/{location}/workflows/{workflowName}/validate": {
+ "post": {
+ "tags": [
+ "Workflows"
+ ],
+ "operationId": "Workflows_ValidateByLocation",
+ "description": "Validates the workflow definition.",
+ "x-ms-examples": {
+ "Validate a workflow": {
+ "$ref": "./examples/Workflows_ValidateByLocation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "location",
+ "description": "The workflow location.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "workflowName",
+ "description": "The workflow name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts": {
+ "get": {
+ "tags": [
+ "IntegrationAccounts"
+ ],
+ "operationId": "IntegrationAccounts_ListBySubscription",
+ "description": "Gets a list of integration accounts by subscription.",
+ "x-ms-examples": {
+ "List integration accounts by subscription": {
+ "$ref": "./examples/IntegrationAccounts_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts": {
+ "get": {
+ "tags": [
+ "IntegrationAccounts"
+ ],
+ "operationId": "IntegrationAccounts_ListByResourceGroup",
+ "description": "Gets a list of integration accounts by resource group.",
+ "x-ms-examples": {
+ "List integration accounts by resource group name": {
+ "$ref": "./examples/IntegrationAccounts_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}": {
+ "get": {
+ "tags": [
+ "IntegrationAccounts"
+ ],
+ "operationId": "IntegrationAccounts_Get",
+ "description": "Gets an integration account.",
+ "x-ms-examples": {
+ "Get integration account by name": {
+ "$ref": "./examples/IntegrationAccounts_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IntegrationAccounts"
+ ],
+ "operationId": "IntegrationAccounts_CreateOrUpdate",
+ "description": "Creates or updates an integration account.",
+ "x-ms-examples": {
+ "Create or update an integration account": {
+ "$ref": "./examples/IntegrationAccounts_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "integrationAccount",
+ "description": "The integration account.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccount"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccount"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "IntegrationAccounts"
+ ],
+ "operationId": "IntegrationAccounts_Update",
+ "description": "Updates an integration account.",
+ "x-ms-examples": {
+ "Patch an integration account": {
+ "$ref": "./examples/IntegrationAccounts_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "integrationAccount",
+ "description": "The integration account.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccount"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IntegrationAccounts"
+ ],
+ "operationId": "IntegrationAccounts_Delete",
+ "description": "Deletes an integration account.",
+ "x-ms-examples": {
+ "Delete an integration account": {
+ "$ref": "./examples/IntegrationAccounts_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies": {
+ "get": {
+ "tags": [
+ "IntegrationAccountAssemblies"
+ ],
+ "operationId": "IntegrationAccountAssemblies_List",
+ "description": "List the assemblies for an integration account.",
+ "x-ms-examples": {
+ "List integration account assemblies": {
+ "$ref": "./examples/IntegrationAccountAssemblies_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AssemblyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}": {
+ "get": {
+ "tags": [
+ "IntegrationAccountAssemblies"
+ ],
+ "operationId": "IntegrationAccountAssemblies_Get",
+ "description": "Get an assembly for an integration account.",
+ "x-ms-examples": {
+ "Get an integration account assembly": {
+ "$ref": "./examples/IntegrationAccountAssemblies_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "assemblyArtifactName",
+ "description": "The assembly artifact name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AssemblyDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IntegrationAccountAssemblies"
+ ],
+ "operationId": "IntegrationAccountAssemblies_CreateOrUpdate",
+ "description": "Create or update an assembly for an integration account.",
+ "x-ms-examples": {
+ "Create or update an account assembly": {
+ "$ref": "./examples/IntegrationAccountAssemblies_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "assemblyArtifactName",
+ "description": "The assembly artifact name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "assemblyArtifact",
+ "description": "The assembly artifact.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AssemblyDefinition"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AssemblyDefinition"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/AssemblyDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IntegrationAccountAssemblies"
+ ],
+ "operationId": "IntegrationAccountAssemblies_Delete",
+ "description": "Delete an assembly for an integration account.",
+ "x-ms-examples": {
+ "Delete an integration account assembly": {
+ "$ref": "./examples/IntegrationAccountAssemblies_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "assemblyArtifactName",
+ "description": "The assembly artifact name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}/listContentCallbackUrl": {
+ "post": {
+ "tags": [
+ "IntegrationAccountAssemblies"
+ ],
+ "operationId": "IntegrationAccountAssemblies_ListContentCallbackUrl",
+ "description": "Get the content callback url for an integration account assembly.",
+ "x-ms-examples": {
+ "Get the callback url for an integration account assembly": {
+ "$ref": "./examples/IntegrationAccountAssemblies_ListContentCallbackUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "assemblyArtifactName",
+ "description": "The assembly artifact name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowTriggerCallbackUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations": {
+ "get": {
+ "tags": [
+ "IntegrationAccountBatchConfigurations"
+ ],
+ "operationId": "IntegrationAccountBatchConfigurations_List",
+ "description": "List the batch configurations for an integration account.",
+ "x-ms-examples": {
+ "List batch configurations": {
+ "$ref": "./examples/IntegrationAccountBatchConfigurations_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BatchConfigurationCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}": {
+ "get": {
+ "tags": [
+ "IntegrationAccountBatchConfigurations"
+ ],
+ "operationId": "IntegrationAccountBatchConfigurations_Get",
+ "description": "Get a batch configuration for an integration account.",
+ "x-ms-examples": {
+ "Get a batch configuration": {
+ "$ref": "./examples/IntegrationAccountBatchConfigurations_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "batchConfigurationName",
+ "description": "The batch configuration name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BatchConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IntegrationAccountBatchConfigurations"
+ ],
+ "operationId": "IntegrationAccountBatchConfigurations_CreateOrUpdate",
+ "description": "Create or update a batch configuration for an integration account.",
+ "x-ms-examples": {
+ "Create or update a batch configuration": {
+ "$ref": "./examples/IntegrationAccountBatchConfigurations_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "batchConfigurationName",
+ "description": "The batch configuration name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "batchConfiguration",
+ "description": "The batch configuration.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BatchConfiguration"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BatchConfiguration"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/BatchConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IntegrationAccountBatchConfigurations"
+ ],
+ "operationId": "IntegrationAccountBatchConfigurations_Delete",
+ "description": "Delete a batch configuration for an integration account.",
+ "x-ms-examples": {
+ "Delete a batch configuration": {
+ "$ref": "./examples/IntegrationAccountBatchConfigurations_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "batchConfigurationName",
+ "description": "The batch configuration name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl": {
+ "post": {
+ "tags": [
+ "IntegrationAccounts"
+ ],
+ "operationId": "IntegrationAccounts_ListCallbackUrl",
+ "description": "Gets the integration account callback URL.",
+ "x-ms-examples": {
+ "List IntegrationAccount callback URL": {
+ "$ref": "./examples/IntegrationAccounts_ListCallbackUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "parameters",
+ "description": "The callback URL parameters.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GetCallbackUrlParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CallbackUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listKeyVaultKeys": {
+ "post": {
+ "tags": [
+ "IntegrationAccounts"
+ ],
+ "operationId": "IntegrationAccounts_ListKeyVaultKeys",
+ "description": "Gets the integration account's Key Vault keys.",
+ "x-ms-examples": {
+ "Get Integration Account callback URL": {
+ "$ref": "./examples/IntegrationAccounts_ListKeyVaultKeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "listKeyVaultKeys",
+ "description": "The key vault parameters.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ListKeyVaultKeysDefinition"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultKeyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/logTrackingEvents": {
+ "post": {
+ "tags": [
+ "IntegrationAccounts"
+ ],
+ "operationId": "IntegrationAccounts_LogTrackingEvents",
+ "description": "Logs the integration account's tracking events.",
+ "x-ms-examples": {
+ "Log a tracked event": {
+ "$ref": "./examples/IntegrationAccounts_LogTrackingEvents.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "logTrackingEvents",
+ "description": "The callback URL parameters.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TrackingEventsDefinition"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/regenerateAccessKey": {
+ "post": {
+ "tags": [
+ "IntegrationAccounts"
+ ],
+ "operationId": "IntegrationAccounts_RegenerateAccessKey",
+ "description": "Regenerates the integration account access key.",
+ "x-ms-examples": {
+ "Regenerate access key": {
+ "$ref": "./examples/IntegrationAccounts_RegenerateAccessKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "regenerateAccessKey",
+ "description": "The access key type.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateActionParameter"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas": {
+ "get": {
+ "tags": [
+ "IntegrationAccountSchemas"
+ ],
+ "operationId": "IntegrationAccountSchemas_List",
+ "description": "Gets a list of integration account schemas.",
+ "x-ms-examples": {
+ "Get schemas by integration account name": {
+ "$ref": "./examples/IntegrationAccountSchemas_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$filter",
+ "description": "The filter to apply on the operation. Options for filters include: SchemaType.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountSchemaListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/IntegrationAccountSchemaFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}": {
+ "get": {
+ "tags": [
+ "IntegrationAccountSchemas"
+ ],
+ "operationId": "IntegrationAccountSchemas_Get",
+ "description": "Gets an integration account schema.",
+ "x-ms-examples": {
+ "Get schema by name": {
+ "$ref": "./examples/IntegrationAccountSchemas_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "schemaName",
+ "description": "The integration account schema name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountSchema"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IntegrationAccountSchemas"
+ ],
+ "operationId": "IntegrationAccountSchemas_CreateOrUpdate",
+ "description": "Creates or updates an integration account schema.",
+ "x-ms-examples": {
+ "Create or update schema": {
+ "$ref": "./examples/IntegrationAccountSchemas_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "schemaName",
+ "description": "The integration account schema name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "schema",
+ "description": "The integration account schema.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountSchema"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountSchema"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountSchema"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IntegrationAccountSchemas"
+ ],
+ "operationId": "IntegrationAccountSchemas_Delete",
+ "description": "Deletes an integration account schema.",
+ "x-ms-examples": {
+ "Delete a schema by name": {
+ "$ref": "./examples/IntegrationAccountSchemas_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "schemaName",
+ "description": "The integration account schema name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}/listContentCallbackUrl": {
+ "post": {
+ "tags": [
+ "IntegrationAccountSchemas"
+ ],
+ "operationId": "IntegrationAccountSchemas_ListContentCallbackUrl",
+ "description": "Get the content callback url.",
+ "x-ms-examples": {
+ "Get the content callback url": {
+ "$ref": "./examples/IntegrationAccountSchemas_ListContentCallbackUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "schemaName",
+ "description": "The integration account schema name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "listContentCallbackUrl",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GetCallbackUrlParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowTriggerCallbackUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps": {
+ "get": {
+ "tags": [
+ "IntegrationAccountMaps"
+ ],
+ "operationId": "IntegrationAccountMaps_List",
+ "description": "Gets a list of integration account maps.",
+ "x-ms-examples": {
+ "Get maps by integration account name": {
+ "$ref": "./examples/IntegrationAccountMaps_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$filter",
+ "description": "The filter to apply on the operation. Options for filters include: MapType.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountMapListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/IntegrationAccountMapFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}": {
+ "get": {
+ "tags": [
+ "IntegrationAccountMaps"
+ ],
+ "operationId": "IntegrationAccountMaps_Get",
+ "description": "Gets an integration account map.",
+ "x-ms-examples": {
+ "Get map by name": {
+ "$ref": "./examples/IntegrationAccountMaps_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mapName",
+ "description": "The integration account map name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountMap"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IntegrationAccountMaps"
+ ],
+ "operationId": "IntegrationAccountMaps_CreateOrUpdate",
+ "description": "Creates or updates an integration account map.",
+ "x-ms-examples": {
+ "Create or update a map": {
+ "$ref": "./examples/IntegrationAccountMaps_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mapName",
+ "description": "The integration account map name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "map",
+ "description": "The integration account map.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountMap"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountMap"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountMap"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IntegrationAccountMaps"
+ ],
+ "operationId": "IntegrationAccountMaps_Delete",
+ "description": "Deletes an integration account map.",
+ "x-ms-examples": {
+ "Delete a map": {
+ "$ref": "./examples/IntegrationAccountMaps_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mapName",
+ "description": "The integration account map name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}/listContentCallbackUrl": {
+ "post": {
+ "tags": [
+ "IntegrationAccountMaps"
+ ],
+ "operationId": "IntegrationAccountMaps_ListContentCallbackUrl",
+ "description": "Get the content callback url.",
+ "x-ms-examples": {
+ "Get the content callback url": {
+ "$ref": "./examples/IntegrationAccountMaps_ListContentCallbackUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mapName",
+ "description": "The integration account map name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "listContentCallbackUrl",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GetCallbackUrlParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowTriggerCallbackUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners": {
+ "get": {
+ "tags": [
+ "IntegrationAccountPartners"
+ ],
+ "operationId": "IntegrationAccountPartners_List",
+ "description": "Gets a list of integration account partners.",
+ "x-ms-examples": {
+ "Get partners by integration account name": {
+ "$ref": "./examples/IntegrationAccountPartners_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$filter",
+ "description": "The filter to apply on the operation. Options for filters include: PartnerType.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountPartnerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/IntegrationAccountPartnerFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}": {
+ "get": {
+ "tags": [
+ "IntegrationAccountPartners"
+ ],
+ "operationId": "IntegrationAccountPartners_Get",
+ "description": "Gets an integration account partner.",
+ "x-ms-examples": {
+ "Get partner by name": {
+ "$ref": "./examples/IntegrationAccountPartners_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerName",
+ "description": "The integration account partner name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountPartner"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IntegrationAccountPartners"
+ ],
+ "operationId": "IntegrationAccountPartners_CreateOrUpdate",
+ "description": "Creates or updates an integration account partner.",
+ "x-ms-examples": {
+ "Create or update a partner": {
+ "$ref": "./examples/IntegrationAccountPartners_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerName",
+ "description": "The integration account partner name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "partner",
+ "description": "The integration account partner.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountPartner"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountPartner"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountPartner"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IntegrationAccountPartners"
+ ],
+ "operationId": "IntegrationAccountPartners_Delete",
+ "description": "Deletes an integration account partner.",
+ "x-ms-examples": {
+ "Delete a partner": {
+ "$ref": "./examples/IntegrationAccountPartners_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerName",
+ "description": "The integration account partner name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}/listContentCallbackUrl": {
+ "post": {
+ "tags": [
+ "IntegrationAccountPartners"
+ ],
+ "operationId": "IntegrationAccountPartners_ListContentCallbackUrl",
+ "description": "Get the content callback url.",
+ "x-ms-examples": {
+ "Get the content callback url": {
+ "$ref": "./examples/IntegrationAccountPartners_ListContentCallbackUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerName",
+ "description": "The integration account partner name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "listContentCallbackUrl",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GetCallbackUrlParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowTriggerCallbackUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements": {
+ "get": {
+ "tags": [
+ "IntegrationAccountAgreements"
+ ],
+ "operationId": "IntegrationAccountAgreements_List",
+ "description": "Gets a list of integration account agreements.",
+ "x-ms-examples": {
+ "Get agreements by integration account name": {
+ "$ref": "./examples/IntegrationAccountAgreements_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$filter",
+ "description": "The filter to apply on the operation. Options for filters include: AgreementType.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountAgreementListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/IntegrationAccountAgreementFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}": {
+ "get": {
+ "tags": [
+ "IntegrationAccountAgreements"
+ ],
+ "operationId": "IntegrationAccountAgreements_Get",
+ "description": "Gets an integration account agreement.",
+ "x-ms-examples": {
+ "Get agreement by name": {
+ "$ref": "./examples/IntegrationAccountAgreements_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "agreementName",
+ "description": "The integration account agreement name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountAgreement"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IntegrationAccountAgreements"
+ ],
+ "operationId": "IntegrationAccountAgreements_CreateOrUpdate",
+ "description": "Creates or updates an integration account agreement.",
+ "x-ms-examples": {
+ "Create or update an agreement": {
+ "$ref": "./examples/IntegrationAccountAgreements_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "agreementName",
+ "description": "The integration account agreement name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "agreement",
+ "description": "The integration account agreement.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountAgreement"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountAgreement"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountAgreement"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IntegrationAccountAgreements"
+ ],
+ "operationId": "IntegrationAccountAgreements_Delete",
+ "description": "Deletes an integration account agreement.",
+ "x-ms-examples": {
+ "Delete an agreement": {
+ "$ref": "./examples/IntegrationAccountAgreements_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "agreementName",
+ "description": "The integration account agreement name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}/listContentCallbackUrl": {
+ "post": {
+ "tags": [
+ "IntegrationAccountAgreements"
+ ],
+ "operationId": "IntegrationAccountAgreements_ListContentCallbackUrl",
+ "description": "Get the content callback url.",
+ "x-ms-examples": {
+ "Get the content callback url": {
+ "$ref": "./examples/IntegrationAccountAgreements_ListContentCallbackUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "agreementName",
+ "description": "The integration account agreement name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "listContentCallbackUrl",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GetCallbackUrlParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkflowTriggerCallbackUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates": {
+ "get": {
+ "tags": [
+ "IntegrationAccountCertificates"
+ ],
+ "operationId": "IntegrationAccountCertificates_List",
+ "description": "Gets a list of integration account certificates.",
+ "x-ms-examples": {
+ "Get certificates by integration account name": {
+ "$ref": "./examples/IntegrationAccountCertificates_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountCertificateListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}": {
+ "get": {
+ "tags": [
+ "IntegrationAccountCertificates"
+ ],
+ "operationId": "IntegrationAccountCertificates_Get",
+ "description": "Gets an integration account certificate.",
+ "x-ms-examples": {
+ "Get certificate by name": {
+ "$ref": "./examples/IntegrationAccountCertificates_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "description": "The integration account certificate name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountCertificate"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IntegrationAccountCertificates"
+ ],
+ "operationId": "IntegrationAccountCertificates_CreateOrUpdate",
+ "description": "Creates or updates an integration account certificate.",
+ "x-ms-examples": {
+ "Create or update a certificate": {
+ "$ref": "./examples/IntegrationAccountCertificates_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "description": "The integration account certificate name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "certificate",
+ "description": "The integration account certificate.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountCertificate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountCertificate"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountCertificate"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IntegrationAccountCertificates"
+ ],
+ "operationId": "IntegrationAccountCertificates_Delete",
+ "description": "Deletes an integration account certificate.",
+ "x-ms-examples": {
+ "Delete a certificate": {
+ "$ref": "./examples/IntegrationAccountCertificates_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "description": "The integration account certificate name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions": {
+ "get": {
+ "tags": [
+ "IntegrationAccountSessions"
+ ],
+ "operationId": "IntegrationAccountSessions_List",
+ "x-ms-examples": {
+ "Get a list of integration account sessions": {
+ "$ref": "./examples/IntegrationAccountSessions_List.json"
+ }
+ },
+ "description": "Gets a list of integration account sessions.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$filter",
+ "description": "The filter to apply on the operation. Options for filters include: ChangedTime.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountSessionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/IntegrationAccountSessionFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}": {
+ "get": {
+ "tags": [
+ "IntegrationAccountSessions"
+ ],
+ "operationId": "IntegrationAccountSessions_Get",
+ "x-ms-examples": {
+ "Get an integration account session": {
+ "$ref": "./examples/IntegrationAccountSessions_Get.json"
+ }
+ },
+ "description": "Gets an integration account session.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "sessionName",
+ "description": "The integration account session name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountSession"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IntegrationAccountSessions"
+ ],
+ "operationId": "IntegrationAccountSessions_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create or update an integration account session": {
+ "$ref": "./examples/IntegrationAccountSessions_CreateOrUpdate.json"
+ }
+ },
+ "description": "Creates or updates an integration account session.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "sessionName",
+ "description": "The integration account session name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "session",
+ "description": "The integration account session.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountSession"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountSession"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/IntegrationAccountSession"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IntegrationAccountSessions"
+ ],
+ "operationId": "IntegrationAccountSessions_Delete",
+ "x-ms-examples": {
+ "Delete an integration account session": {
+ "$ref": "./examples/IntegrationAccountSessions_Delete.json"
+ }
+ },
+ "description": "Deletes an integration account session.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationAccountName",
+ "description": "The integration account name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "sessionName",
+ "description": "The integration account session name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationServiceEnvironments": {
+ "get": {
+ "tags": [
+ "integrationServiceEnvironments"
+ ],
+ "operationId": "IntegrationServiceEnvironments_ListBySubscription",
+ "description": "Gets a list of integration service environments by subscription.",
+ "x-ms-examples": {
+ "List integration service environments by subscription": {
+ "$ref": "./examples/IntegrationServiceEnvironments_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentListResult"
+ }
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments": {
+ "get": {
+ "tags": [
+ "IntegrationServiceEnvironments"
+ ],
+ "operationId": "IntegrationServiceEnvironments_ListByResourceGroup",
+ "description": "Gets a list of integration service environments by resource group.",
+ "x-ms-examples": {
+ "List integration service environments by resource group name": {
+ "$ref": "./examples/IntegrationServiceEnvironments_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroup",
+ "description": "The resource group.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$top",
+ "description": "The number of items to be included in the result.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentListResult"
+ }
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}": {
+ "get": {
+ "tags": [
+ "IntegrationServiceEnvironments"
+ ],
+ "operationId": "IntegrationServiceEnvironments_Get",
+ "description": "Gets an integration service environment.",
+ "x-ms-examples": {
+ "Get integration service environment by name": {
+ "$ref": "./examples/IntegrationServiceEnvironments_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroup",
+ "description": "The resource group.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationServiceEnvironmentName",
+ "description": "The integration service environment name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationServiceEnvironment"
+ }
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IntegrationServiceEnvironments"
+ ],
+ "operationId": "IntegrationServiceEnvironments_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "description": "Creates or updates an integration service environment.",
+ "x-ms-examples": {
+ "Create or update an integration service environment": {
+ "$ref": "./examples/IntegrationServiceEnvironments_Put.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroup",
+ "description": "The resource group.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationServiceEnvironmentName",
+ "description": "The integration service environment name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "integrationServiceEnvironment",
+ "description": "The integration service environment.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IntegrationServiceEnvironment"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationServiceEnvironment"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/IntegrationServiceEnvironment"
+ }
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "IntegrationServiceEnvironments"
+ ],
+ "operationId": "IntegrationServiceEnvironments_Update",
+ "description": "Updates an integration service environment.",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Patch an integration service environment": {
+ "$ref": "./examples/IntegrationServiceEnvironments_Patch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroup",
+ "description": "The resource group.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationServiceEnvironmentName",
+ "description": "The integration service environment name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "integrationServiceEnvironment",
+ "description": "The integration service environment.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IntegrationServiceEnvironment"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationServiceEnvironment"
+ }
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IntegrationServiceEnvironments"
+ ],
+ "operationId": "IntegrationServiceEnvironments_Delete",
+ "description": "Deletes an integration service environment.",
+ "x-ms-examples": {
+ "Delete an integration account": {
+ "$ref": "./examples/IntegrationServiceEnvironments_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroup",
+ "description": "The resource group.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationServiceEnvironmentName",
+ "description": "The integration service environment name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/skus": {
+ "get": {
+ "tags": [
+ "integrationServiceEnvironmentSkus"
+ ],
+ "operationId": "IntegrationServiceEnvironmentSkus_List",
+ "description": "Gets a list of integration service environment Skus.",
+ "x-ms-examples": {
+ "List integration service environment skus": {
+ "$ref": "./examples/IntegrationServiceEnvironments_Skus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroup",
+ "description": "The resource group.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationServiceEnvironmentName",
+ "description": "The integration service environment name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentSkuList"
+ }
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/restart": {
+ "post": {
+ "tags": [
+ "integrationServiceEnvironmentRestart"
+ ],
+ "operationId": "IntegrationServiceEnvironments_Restart",
+ "description": "Restarts an integration service environment.",
+ "x-ms-examples": {
+ "Restarts an integration service environment": {
+ "$ref": "./examples/IntegrationServiceEnvironments_Restart.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroup",
+ "description": "The resource group.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationServiceEnvironmentName",
+ "description": "The integration service environment name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/health/network": {
+ "get": {
+ "tags": [
+ "integrationServiceEnvironmentNetworkHealth"
+ ],
+ "operationId": "IntegrationServiceEnvironmentNetworkHealth_Get",
+ "description": "Gets the integration service environment network health.",
+ "x-ms-examples": {
+ "Gets the integration service environment network health": {
+ "$ref": "./examples/IntegrationServiceEnvironments_NetworkHealth.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroup",
+ "description": "The resource group.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationServiceEnvironmentName",
+ "description": "The integration service environment name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkHealth"
+ }
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis": {
+ "get": {
+ "tags": [
+ "integrationServiceEnvironmentManagedApis"
+ ],
+ "operationId": "IntegrationServiceEnvironmentManagedApis_List",
+ "description": "Gets the integration service environment managed Apis.",
+ "x-ms-examples": {
+ "Gets the integration service environment managed Apis": {
+ "$ref": "./examples/IntegrationServiceEnvironments_ManagedApis_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroup",
+ "description": "The resource group.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationServiceEnvironmentName",
+ "description": "The integration service environment name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedApiListResult"
+ }
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}": {
+ "get": {
+ "tags": [
+ "integrationServiceEnvironmentManagedApi"
+ ],
+ "operationId": "IntegrationServiceEnvironmentManagedApis_Get",
+ "description": "Gets the integration service environment managed Api.",
+ "x-ms-examples": {
+ "Gets the integration service environment managed Apis": {
+ "$ref": "./examples/IntegrationServiceEnvironments_ManagedApis_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroup",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationServiceEnvironmentName",
+ "description": "The integration service environment name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "apiName",
+ "description": "The api name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedApi"
+ }
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "integrationServiceEnvironmentManagedApi"
+ ],
+ "operationId": "IntegrationServiceEnvironmentManagedApis_Put",
+ "description": "Puts the integration service environment managed Api.",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Gets the integration service environment managed Apis": {
+ "$ref": "./examples/IntegrationServiceEnvironments_ManagedApis_Put.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroup",
+ "description": "The resource group name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationServiceEnvironmentName",
+ "description": "The integration service environment name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "apiName",
+ "description": "The api name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedApi"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ManagedApi"
+ }
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "integrationServiceEnvironmentManagedApi"
+ ],
+ "operationId": "IntegrationServiceEnvironmentManagedApis_Delete",
+ "description": "Deletes the integration service environment managed Api.",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes the integration service environment managed Apis": {
+ "$ref": "./examples/IntegrationServiceEnvironments_ManagedApis_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroup",
+ "description": "The resource group.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationServiceEnvironmentName",
+ "description": "The integration service environment name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "apiName",
+ "description": "The api name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}/apiOperations": {
+ "get": {
+ "tags": [
+ "integrationServiceEnvironmentManagedApis"
+ ],
+ "operationId": "IntegrationServiceEnvironmentManagedApiOperations_List",
+ "description": "Gets the managed Api operations.",
+ "x-ms-examples": {
+ "Gets the integration service environment managed Apis": {
+ "$ref": "./examples/IntegrationServiceEnvironments_ManagedApis_ListApiOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroup",
+ "description": "The resource group.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "integrationServiceEnvironmentName",
+ "description": "The integration service environment name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "apiName",
+ "description": "The api name.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ApiOperationListResult"
+ }
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Logic/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Logic REST API operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "List Microsoft.Logic operations": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Logic error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource id."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the resource name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "The base resource type."
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource id."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "The sub resource type."
+ },
+ "Object": {
+ "type": "object",
+ "properties": {}
+ },
+ "ResourceReference": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The resource id."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the resource name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the resource type."
+ }
+ },
+ "description": "The resource reference."
+ },
+ "Workflow": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkflowProperties",
+ "description": "The workflow properties."
+ }
+ },
+ "description": "The workflow type.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "WorkflowProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/WorkflowProvisioningState",
+ "readOnly": true,
+ "description": "Gets the provisioning state."
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the created time."
+ },
+ "changedTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the changed time."
+ },
+ "state": {
+ "$ref": "#/definitions/WorkflowState",
+ "description": "The state."
+ },
+ "version": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the version."
+ },
+ "accessEndpoint": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the access endpoint."
+ },
+ "endpointsConfiguration": {
+ "$ref": "#/definitions/FlowEndpointsConfiguration",
+ "description": "The endpoints configuration."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The sku."
+ },
+ "integrationAccount": {
+ "$ref": "#/definitions/ResourceReference",
+ "description": "The integration account."
+ },
+ "integrationServiceEnvironment": {
+ "$ref": "#/definitions/ResourceReference",
+ "description": "The integration service environment."
+ },
+ "definition": {
+ "$ref": "#/definitions/Object",
+ "description": "The definition."
+ },
+ "parameters": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/WorkflowParameter"
+ },
+ "description": "The parameters."
+ }
+ },
+ "description": "The workflow properties."
+ },
+ "WorkflowFilter": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "$ref": "#/definitions/WorkflowState",
+ "description": "The state of workflows."
+ }
+ },
+ "description": "The workflow filter."
+ },
+ "WorkflowListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Workflow"
+ },
+ "description": "The list of workflows."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of workflows."
+ },
+ "WorkflowVersion": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkflowVersionProperties",
+ "description": "The workflow version properties."
+ }
+ },
+ "description": "The workflow version.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "WorkflowVersionProperties": {
+ "type": "object",
+ "properties": {
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the created time."
+ },
+ "changedTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the changed time."
+ },
+ "state": {
+ "$ref": "#/definitions/WorkflowState",
+ "description": "The state."
+ },
+ "version": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the version."
+ },
+ "accessEndpoint": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the access endpoint."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The sku."
+ },
+ "integrationAccount": {
+ "$ref": "#/definitions/ResourceReference",
+ "description": "The integration account."
+ },
+ "definition": {
+ "$ref": "#/definitions/Object",
+ "description": "The definition."
+ },
+ "parameters": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/WorkflowParameter"
+ },
+ "description": "The parameters."
+ }
+ },
+ "description": "The workflow version properties."
+ },
+ "WorkflowVersionListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkflowVersion",
+ "description": "The workflow version."
+ },
+ "description": "A list of workflow versions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of workflow versions."
+ },
+ "WorkflowTrigger": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkflowTriggerProperties",
+ "description": "The workflow trigger properties."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the workflow trigger name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the workflow trigger type."
+ }
+ },
+ "description": "The workflow trigger.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ]
+ },
+ "WorkflowTriggerProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/WorkflowTriggerProvisioningState",
+ "readOnly": true,
+ "description": "Gets the provisioning state."
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the created time."
+ },
+ "changedTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the changed time."
+ },
+ "state": {
+ "$ref": "#/definitions/WorkflowState",
+ "readOnly": true,
+ "description": "Gets the state."
+ },
+ "status": {
+ "$ref": "#/definitions/WorkflowStatus",
+ "readOnly": true,
+ "description": "Gets the status."
+ },
+ "lastExecutionTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the last execution time."
+ },
+ "nextExecutionTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the next execution time."
+ },
+ "recurrence": {
+ "$ref": "#/definitions/WorkflowTriggerRecurrence",
+ "readOnly": true,
+ "description": "Gets the workflow trigger recurrence."
+ },
+ "workflow": {
+ "$ref": "#/definitions/ResourceReference",
+ "readOnly": true,
+ "description": "Gets the reference to workflow."
+ }
+ },
+ "description": "The workflow trigger properties."
+ },
+ "WorkflowTriggerFilter": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "$ref": "#/definitions/WorkflowState",
+ "description": "The state of workflow trigger."
+ }
+ },
+ "description": "The workflow trigger filter."
+ },
+ "WorkflowTriggerListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkflowTrigger"
+ },
+ "description": "A list of workflow triggers."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of workflow triggers."
+ },
+ "WorkflowTriggerCallbackUrl": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the workflow trigger callback URL."
+ },
+ "method": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the workflow trigger callback URL HTTP method."
+ },
+ "basePath": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the workflow trigger callback URL base path."
+ },
+ "relativePath": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the workflow trigger callback URL relative path."
+ },
+ "relativePathParameters": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Gets the workflow trigger callback URL relative path parameters."
+ },
+ "queries": {
+ "$ref": "#/definitions/WorkflowTriggerListCallbackUrlQueries",
+ "description": "Gets the workflow trigger callback URL query parameters."
+ }
+ },
+ "description": "The workflow trigger callback URL."
+ },
+ "WorkflowTriggerListCallbackUrlQueries": {
+ "type": "object",
+ "properties": {
+ "api-version": {
+ "type": "string",
+ "description": "The api version."
+ },
+ "sp": {
+ "type": "string",
+ "description": "The SAS permissions."
+ },
+ "sv": {
+ "type": "string",
+ "description": "The SAS version."
+ },
+ "sig": {
+ "type": "string",
+ "description": "The SAS signature."
+ },
+ "se": {
+ "type": "string",
+ "description": "The SAS timestamp."
+ }
+ },
+ "description": "Gets the workflow trigger callback URL query parameters."
+ },
+ "WorkflowTriggerHistory": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkflowTriggerHistoryProperties",
+ "description": "Gets the workflow trigger history properties."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the workflow trigger history name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the workflow trigger history type."
+ }
+ },
+ "description": "The workflow trigger history.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ]
+ },
+ "WorkflowTriggerHistoryProperties": {
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the start time."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the end time."
+ },
+ "status": {
+ "$ref": "#/definitions/WorkflowStatus",
+ "readOnly": true,
+ "description": "Gets the status."
+ },
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the code."
+ },
+ "error": {
+ "$ref": "#/definitions/Object",
+ "readOnly": true,
+ "description": "Gets the error."
+ },
+ "trackingId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the tracking id."
+ },
+ "correlation": {
+ "$ref": "#/definitions/Correlation",
+ "description": "The run correlation."
+ },
+ "inputsLink": {
+ "$ref": "#/definitions/ContentLink",
+ "readOnly": true,
+ "description": "Gets the link to input parameters."
+ },
+ "outputsLink": {
+ "$ref": "#/definitions/ContentLink",
+ "readOnly": true,
+ "description": "Gets the link to output parameters."
+ },
+ "fired": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "The value indicating whether trigger was fired."
+ },
+ "run": {
+ "$ref": "#/definitions/ResourceReference",
+ "readOnly": true,
+ "description": "Gets the reference to workflow run."
+ }
+ },
+ "description": "The workflow trigger history properties."
+ },
+ "WorkflowTriggerHistoryListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkflowTriggerHistory"
+ },
+ "description": "A list of workflow trigger histories."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of workflow trigger histories."
+ },
+ "WorkflowTriggerHistoryFilter": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/WorkflowStatus",
+ "description": "The status of workflow trigger history."
+ }
+ },
+ "description": "The workflow trigger history filter."
+ },
+ "WorkflowRun": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkflowRunProperties",
+ "description": "The workflow run properties."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the workflow run name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the workflow run type."
+ }
+ },
+ "description": "The workflow run.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ]
+ },
+ "WorkflowRunProperties": {
+ "type": "object",
+ "properties": {
+ "waitEndTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the wait end time."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the start time."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the end time."
+ },
+ "status": {
+ "$ref": "#/definitions/WorkflowStatus",
+ "readOnly": true,
+ "description": "Gets the status."
+ },
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the code."
+ },
+ "error": {
+ "$ref": "#/definitions/Object",
+ "readOnly": true,
+ "description": "Gets the error."
+ },
+ "correlationId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the correlation id."
+ },
+ "correlation": {
+ "$ref": "#/definitions/Correlation",
+ "description": "The run correlation."
+ },
+ "workflow": {
+ "$ref": "#/definitions/ResourceReference",
+ "readOnly": true,
+ "description": "Gets the reference to workflow version."
+ },
+ "trigger": {
+ "$ref": "#/definitions/WorkflowRunTrigger",
+ "readOnly": true,
+ "description": "Gets the fired trigger."
+ },
+ "outputs": {
+ "type": "object",
+ "readOnly": true,
+ "additionalProperties": {
+ "$ref": "#/definitions/WorkflowOutputParameter",
+ "description": "The workflow output parameter."
+ },
+ "description": "Gets the outputs."
+ },
+ "response": {
+ "$ref": "#/definitions/WorkflowRunTrigger",
+ "readOnly": true,
+ "description": "Gets the response of the flow run."
+ }
+ },
+ "description": "The workflow run properties."
+ },
+ "WorkflowRunFilter": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/WorkflowStatus",
+ "description": "The status of workflow run."
+ }
+ },
+ "description": "The workflow run filter."
+ },
+ "WorkflowRunListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkflowRun"
+ },
+ "description": "A list of workflow runs."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of workflow runs."
+ },
+ "WorkflowRunAction": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkflowRunActionProperties",
+ "description": "The workflow run action properties."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the workflow run action name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the workflow run action type."
+ }
+ },
+ "description": "The workflow run action.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ]
+ },
+ "WorkflowRunActionProperties": {
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the start time."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the end time."
+ },
+ "status": {
+ "$ref": "#/definitions/WorkflowStatus",
+ "readOnly": true,
+ "description": "Gets the status."
+ },
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the code."
+ },
+ "error": {
+ "$ref": "#/definitions/Object",
+ "readOnly": true,
+ "description": "Gets the error."
+ },
+ "trackingId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the tracking id."
+ },
+ "correlation": {
+ "$ref": "#/definitions/Correlation",
+ "description": "The correlation properties."
+ },
+ "inputsLink": {
+ "$ref": "#/definitions/ContentLink",
+ "readOnly": true,
+ "description": "Gets the link to inputs."
+ },
+ "outputsLink": {
+ "$ref": "#/definitions/ContentLink",
+ "readOnly": true,
+ "description": "Gets the link to outputs."
+ },
+ "trackedProperties": {
+ "$ref": "#/definitions/Object",
+ "readOnly": true,
+ "description": "Gets the tracked properties."
+ },
+ "retryHistory": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RetryHistory"
+ },
+ "description": "Gets the retry histories."
+ }
+ },
+ "description": "The workflow run action properties."
+ },
+ "WorkflowRunActionFilter": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/WorkflowStatus",
+ "description": "The status of workflow run action."
+ }
+ },
+ "description": "The workflow run action filter."
+ },
+ "WorkflowRunActionListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkflowRunAction"
+ },
+ "description": "A list of workflow run actions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of workflow run actions."
+ },
+ "SkuName": {
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Free",
+ "Shared",
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ },
+ "description": "The sku name."
+ },
+ "WorkflowState": {
+ "type": "string",
+ "description": "The workflow state.",
+ "enum": [
+ "NotSpecified",
+ "Completed",
+ "Enabled",
+ "Disabled",
+ "Deleted",
+ "Suspended"
+ ],
+ "x-ms-enum": {
+ "name": "WorkflowState",
+ "modelAsString": true
+ }
+ },
+ "WorkflowStatus": {
+ "type": "string",
+ "description": "The workflow status.",
+ "enum": [
+ "NotSpecified",
+ "Paused",
+ "Running",
+ "Waiting",
+ "Succeeded",
+ "Skipped",
+ "Suspended",
+ "Cancelled",
+ "Failed",
+ "Faulted",
+ "TimedOut",
+ "Aborted",
+ "Ignored"
+ ],
+ "x-ms-enum": {
+ "name": "WorkflowStatus",
+ "modelAsString": true
+ }
+ },
+ "ParameterType": {
+ "type": "string",
+ "description": "The parameter type.",
+ "enum": [
+ "NotSpecified",
+ "String",
+ "SecureString",
+ "Int",
+ "Float",
+ "Bool",
+ "Array",
+ "Object",
+ "SecureObject"
+ ],
+ "x-ms-enum": {
+ "name": "ParameterType",
+ "modelAsString": true
+ }
+ },
+ "KeyType": {
+ "type": "string",
+ "description": "The key type.",
+ "enum": [
+ "NotSpecified",
+ "Primary",
+ "Secondary"
+ ],
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": true
+ }
+ },
+ "Sku": {
+ "type": "object",
+ "description": "The sku type.",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/SkuName",
+ "description": "The name."
+ },
+ "plan": {
+ "$ref": "#/definitions/ResourceReference",
+ "description": "The reference to plan."
+ }
+ }
+ },
+ "ContentLink": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "The content link URI."
+ },
+ "contentVersion": {
+ "type": "string",
+ "description": "The content version."
+ },
+ "contentSize": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The content size."
+ },
+ "contentHash": {
+ "$ref": "#/definitions/ContentHash",
+ "description": "The content hash."
+ },
+ "metadata": {
+ "$ref": "#/definitions/Object",
+ "description": "The metadata."
+ }
+ },
+ "description": "The content link."
+ },
+ "ContentHash": {
+ "type": "object",
+ "properties": {
+ "algorithm": {
+ "type": "string",
+ "description": "The algorithm of the content hash."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the content hash."
+ }
+ },
+ "description": "The content hash."
+ },
+ "RegenerateActionParameter": {
+ "type": "object",
+ "properties": {
+ "keyType": {
+ "$ref": "#/definitions/KeyType",
+ "description": "The key type."
+ }
+ },
+ "description": "The access key regenerate action content."
+ },
+ "RetryHistory": {
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Gets the start time."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Gets the end time."
+ },
+ "code": {
+ "type": "string",
+ "description": "Gets the status code."
+ },
+ "clientRequestId": {
+ "type": "string",
+ "description": "Gets the client request Id."
+ },
+ "serviceRequestId": {
+ "type": "string",
+ "description": "Gets the service request Id."
+ },
+ "error": {
+ "$ref": "#/definitions/ErrorResponse",
+ "description": "Gets the error response."
+ }
+ },
+ "description": "The retry history."
+ },
+ "Correlation": {
+ "type": "object",
+ "properties": {
+ "clientTrackingId": {
+ "type": "string",
+ "description": "The client tracking id."
+ }
+ },
+ "description": "The correlation property."
+ },
+ "WorkflowParameter": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/ParameterType",
+ "description": "The type."
+ },
+ "value": {
+ "$ref": "#/definitions/Object",
+ "description": "The value."
+ },
+ "metadata": {
+ "$ref": "#/definitions/Object",
+ "description": "The metadata."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description."
+ }
+ },
+ "description": "The workflow parameters."
+ },
+ "WorkflowOutputParameter": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Object",
+ "readOnly": true,
+ "description": "Gets the error."
+ }
+ },
+ "description": "The workflow output parameter.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkflowParameter"
+ }
+ ]
+ },
+ "RecurrenceFrequency": {
+ "type": "string",
+ "description": "The recurrence frequency.",
+ "enum": [
+ "NotSpecified",
+ "Second",
+ "Minute",
+ "Hour",
+ "Day",
+ "Week",
+ "Month",
+ "Year"
+ ],
+ "x-ms-enum": {
+ "name": "RecurrenceFrequency",
+ "modelAsString": true
+ }
+ },
+ "RecurrenceSchedule": {
+ "type": "object",
+ "properties": {
+ "minutes": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "description": "The minutes."
+ },
+ "hours": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "description": "The hours."
+ },
+ "weekDays": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "DaysOfWeek",
+ "modelAsString": false
+ }
+ },
+ "description": "The days of the week."
+ },
+ "monthDays": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "description": "The month days."
+ },
+ "monthlyOccurrences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecurrenceScheduleOccurrence"
+ },
+ "description": "The monthly occurrences."
+ }
+ },
+ "description": "The recurrence schedule."
+ },
+ "RecurrenceScheduleOccurrence": {
+ "type": "object",
+ "properties": {
+ "day": {
+ "$ref": "#/definitions/DayOfWeek",
+ "description": "The day of the week."
+ },
+ "occurrence": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The occurrence."
+ }
+ },
+ "description": "The recurrence schedule occurrence."
+ },
+ "WorkflowTriggerRecurrence": {
+ "type": "object",
+ "properties": {
+ "frequency": {
+ "$ref": "#/definitions/RecurrenceFrequency",
+ "description": "The frequency."
+ },
+ "interval": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The interval."
+ },
+ "startTime": {
+ "type": "string",
+ "description": "The start time."
+ },
+ "endTime": {
+ "type": "string",
+ "description": "The end time."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "The time zone."
+ },
+ "schedule": {
+ "$ref": "#/definitions/RecurrenceSchedule",
+ "description": "The recurrence schedule."
+ }
+ },
+ "description": "The workflow trigger recurrence."
+ },
+ "WorkflowRunTrigger": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the name."
+ },
+ "inputs": {
+ "$ref": "#/definitions/Object",
+ "readOnly": true,
+ "description": "Gets the inputs."
+ },
+ "inputsLink": {
+ "$ref": "#/definitions/ContentLink",
+ "readOnly": true,
+ "description": "Gets the link to inputs."
+ },
+ "outputs": {
+ "$ref": "#/definitions/Object",
+ "readOnly": true,
+ "description": "Gets the outputs."
+ },
+ "outputsLink": {
+ "$ref": "#/definitions/ContentLink",
+ "readOnly": true,
+ "description": "Gets the link to outputs."
+ },
+ "scheduledTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the scheduled time."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the start time."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the end time."
+ },
+ "trackingId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the tracking id."
+ },
+ "correlation": {
+ "$ref": "#/definitions/Correlation",
+ "description": "The run correlation."
+ },
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the code."
+ },
+ "status": {
+ "$ref": "#/definitions/WorkflowStatus",
+ "readOnly": true,
+ "description": "Gets the status."
+ },
+ "error": {
+ "$ref": "#/definitions/Object",
+ "readOnly": true,
+ "description": "Gets the error."
+ },
+ "trackedProperties": {
+ "$ref": "#/definitions/Object",
+ "readOnly": true,
+ "description": "Gets the tracked properties."
+ }
+ },
+ "description": "The workflow run trigger."
+ },
+ "WorkflowTriggerProvisioningState": {
+ "type": "string",
+ "description": "The workflow trigger provisioning state.",
+ "enum": [
+ "NotSpecified",
+ "Accepted",
+ "Running",
+ "Ready",
+ "Creating",
+ "Created",
+ "Deleting",
+ "Deleted",
+ "Canceled",
+ "Failed",
+ "Succeeded",
+ "Moving",
+ "Updating",
+ "Registering",
+ "Registered",
+ "Unregistering",
+ "Unregistered",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "WorkflowTriggerProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "WorkflowProvisioningState": {
+ "type": "string",
+ "description": "The workflow provisioning state.",
+ "enum": [
+ "NotSpecified",
+ "Accepted",
+ "Running",
+ "Ready",
+ "Creating",
+ "Created",
+ "Deleting",
+ "Deleted",
+ "Canceled",
+ "Failed",
+ "Succeeded",
+ "Moving",
+ "Updating",
+ "Registering",
+ "Registered",
+ "Unregistering",
+ "Unregistered",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "WorkflowProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "DayOfWeek": {
+ "type": "string",
+ "description": "The day of the week.",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ },
+ "GenerateUpgradedDefinitionParameters": {
+ "type": "object",
+ "properties": {
+ "targetSchemaVersion": {
+ "type": "string",
+ "description": "The target schema version."
+ }
+ },
+ "description": "The parameters to generate upgraded definition."
+ },
+ "ApiTier": {
+ "description": "The Api tier.",
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Enterprise",
+ "Standard",
+ "Premium"
+ ],
+ "x-ms-enum": {
+ "name": "ApiTier",
+ "modelAsString": true
+ }
+ },
+ "ApiOperationAnnotation": {
+ "type": "object",
+ "description": "The Api Operation Annotation.",
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/StatusAnnotation"
+ },
+ "family": {
+ "type": "string",
+ "description": "The family."
+ },
+ "revision": {
+ "type": "integer",
+ "description": "The revision."
+ }
+ }
+ },
+ "SwaggerXml": {
+ "type": "object",
+ "description": "The Swagger XML.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The xml element or attribute name."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The xml namespace."
+ },
+ "prefix": {
+ "type": "string",
+ "description": "The name prefix."
+ },
+ "attribute": {
+ "type": "boolean",
+ "description": "Indicates whether the property should be an attribute instead of an element."
+ },
+ "wrapped": {
+ "type": "boolean",
+ "description": "Indicates whether the array elements are wrapped in a container element."
+ },
+ "extensions": {
+ "type": "object",
+ "description": "The vendor extensions.",
+ "additionalProperties": {
+ "$ref": "#/definitions/Object"
+ }
+ }
+ }
+ },
+ "SwaggerExternalDocumentation": {
+ "type": "object",
+ "description": "The swagger external documentation",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "The document description."
+ },
+ "uri": {
+ "description": "The documentation Uri.",
+ "type": "string"
+ },
+ "extensions": {
+ "type": "object",
+ "description": "The vendor extensions.",
+ "additionalProperties": {
+ "$ref": "#/definitions/Object"
+ }
+ }
+ }
+ },
+ "SwaggerCustomDynamicSchema": {
+ "type": "object",
+ "description": "The swagger custom dynamic schema.",
+ "properties": {
+ "operationId": {
+ "type": "string",
+ "description": "The operation id to fetch dynamic schema."
+ },
+ "valuePath": {
+ "type": "string",
+ "description": "Json pointer to the dynamic schema on the response body."
+ },
+ "parameters": {
+ "type": "object",
+ "description": "The operation parameters.",
+ "additionalProperties": {
+ "$ref": "#/definitions/Object"
+ }
+ }
+ }
+ },
+ "SwaggerCustomDynamicProperties": {
+ "type": "object",
+ "description": "The swagger custom dynamic properties.",
+ "properties": {
+ "operationId": {
+ "type": "string",
+ "description": "The operation id to fetch dynamic schema."
+ },
+ "valuePath": {
+ "type": "string",
+ "description": "Json pointer to the dynamic schema on the response body."
+ },
+ "parameters": {
+ "type": "object",
+ "description": "The operation parameters.",
+ "additionalProperties": {
+ "$ref": "#/definitions/SwaggerCustomDynamicProperties"
+ }
+ }
+ }
+ },
+ "SwaggerCustomDynamicList": {
+ "type": "object",
+ "description": "The swagger custom dynamic list.",
+ "properties": {
+ "operationId": {
+ "type": "string",
+ "description": "The operation id to fetch dynamic schema."
+ },
+ "builtInOperation": {
+ "type": "string",
+ "description": "The built in operation."
+ },
+ "itemsPath": {
+ "type": "string",
+ "description": "The path to a response property (relative to the response object, not the response body) which contains an array of dynamic value items."
+ },
+ "itemValuePath": {
+ "type": "string",
+ "description": "The path to a property which defines the value which should be used."
+ },
+ "itemTitlePath": {
+ "type": "string",
+ "description": "The path to an item property which defines the display name of the item."
+ },
+ "parameters": {
+ "type": "object",
+ "description": "The parameters.",
+ "additionalProperties": {
+ "$ref": "#/definitions/SwaggerCustomDynamicProperties"
+ }
+ }
+ }
+ },
+ "SwaggerCustomDynamicTree": {
+ "type": "object",
+ "description": "The swagger custom dynamic tree.",
+ "properties": {
+ "settings": {
+ "description": "The tree settings",
+ "$ref": "#/definitions/SwaggerCustomDynamicTreeSettings"
+ },
+ "open": {
+ "description": "The tree on-open configuration",
+ "$ref": "#/definitions/SwaggerCustomDynamicTreeCommand"
+ },
+ "browse": {
+ "description": "The tree on-browse configuration",
+ "$ref": "#/definitions/SwaggerCustomDynamicTreeCommand"
+ }
+ }
+ },
+ "SwaggerCustomDynamicTreeParameter": {
+ "type": "object",
+ "description": "The swagger custom dynamic tree parameter.",
+ "properties": {
+ "selectedItemValuePath": {
+ "type": "string",
+ "description": "Gets or sets a path to a property in the currently selected item to pass as a value to a parameter for the given operation."
+ },
+ "value": {
+ "$ref": "#/definitions/Object",
+ "description": "The parameter value."
+ },
+ "parameterReference": {
+ "type": "string",
+ "description": "The parameter reference."
+ },
+ "required": {
+ "type": "boolean",
+ "description": "Indicates whether the parameter is required."
+ }
+ }
+ },
+ "SwaggerCustomDynamicTreeCommand": {
+ "type": "object",
+ "description": "The swagger tree command.",
+ "properties": {
+ "operationId": {
+ "type": "string",
+ "description": "The path to an item property which defines the display name of the item."
+ },
+ "itemsPath": {
+ "type": "string",
+ "description": "The path to an item property which defines the display name of the item."
+ },
+ "itemValuePath": {
+ "type": "string",
+ "description": "The path to an item property which defines the display name of the item."
+ },
+ "itemTitlePath": {
+ "type": "string",
+ "description": "The path to an item property which defines the display name of the item."
+ },
+ "itemFullTitlePath": {
+ "type": "string",
+ "description": "The path to an item property which defines the display name of the item."
+ },
+ "itemIsParent": {
+ "type": "string",
+ "description": "The path to an item property which defines the display name of the item."
+ },
+ "selectableFilter": {
+ "type": "string",
+ "description": "The path to an item property which defines the display name of the item."
+ },
+ "parameters": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/SwaggerCustomDynamicTreeParameter"
+ }
+ }
+ }
+ },
+ "SwaggerCustomDynamicTreeSettings": {
+ "type": "object",
+ "description": "The swagger custom dynamic tree settings.",
+ "properties": {
+ "CanSelectParentNodes": {
+ "type": "boolean",
+ "description": "Indicates whether parent nodes can be selected."
+ },
+ "CanSelectLeafNodes": {
+ "type": "boolean",
+ "description": "Indicates whether leaf nodes can be selected."
+ }
+ }
+ },
+ "SwaggerSchemaType": {
+ "type": "string",
+ "enum": [
+ "String",
+ "Number",
+ "Integer",
+ "Boolean",
+ "Array",
+ "File",
+ "Object",
+ "Null"
+ ],
+ "x-ms-enum": {
+ "name": "SwaggerSchemaType",
+ "modelAsString": true
+ },
+ "description": "The swagger schema type."
+ },
+ "SwaggerSchema": {
+ "type": "object",
+ "description": "The swagger schema.",
+ "properties": {
+ "ref": {
+ "type": "string",
+ "description": "The reference."
+ },
+ "type": {
+ "$ref": "#/definitions/SwaggerSchemaType",
+ "description": "The type"
+ },
+ "title": {
+ "type": "string",
+ "description": "The title."
+ },
+ "items": {
+ "description": "The items schema.",
+ "$ref": "#/definitions/SwaggerSchema"
+ },
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The object properties",
+ "additionalProperties": {
+ "$ref": "#/definitions/SwaggerSchema"
+ }
+ },
+ "additionalProperties": {
+ "description": "The additional properties.",
+ "$ref": "#/definitions/Object"
+ },
+ "required": {
+ "type": "array",
+ "description": "The object required properties.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "maxProperties": {
+ "type": "integer",
+ "description": "The maximum number of allowed properties."
+ },
+ "minProperties": {
+ "type": "integer",
+ "description": "The minimum number of allowed properties."
+ },
+ "allOf": {
+ "type": "array",
+ "description": "The schemas which must pass validation when this schema is used.",
+ "items": {
+ "$ref": "#/definitions/SwaggerSchema"
+ }
+ },
+ "discriminator": {
+ "type": "string",
+ "description": "The discriminator."
+ },
+ "readOnly": {
+ "type": "boolean",
+ "description": "Indicates whether this property must be present in the a request."
+ },
+ "xml": {
+ "$ref": "#/definitions/SwaggerXml",
+ "description": "The xml representation format for a property."
+ },
+ "externalDocs": {
+ "$ref": "#/definitions/SwaggerExternalDocumentation",
+ "description": "The external documentation."
+ },
+ "example": {
+ "description": "The example value.",
+ "$ref": "#/definitions/Object"
+ },
+ "notificationUrlExtension": {
+ "type": "boolean",
+ "description": "Indicates the notification url extension. If this is set, the property's value should be a callback url for a webhook."
+ },
+ "dynamicSchemaOld": {
+ "$ref": "#/definitions/SwaggerCustomDynamicSchema",
+ "description": "The dynamic schema configuration."
+ },
+ "dynamicSchemaNew": {
+ "$ref": "#/definitions/SwaggerCustomDynamicProperties",
+ "description": "The dynamic schema configuration."
+ },
+ "dynamicListNew": {
+ "$ref": "#/definitions/SwaggerCustomDynamicList",
+ "description": "The dynamic list."
+ },
+ "dynamicTree": {
+ "$ref": "#/definitions/SwaggerCustomDynamicTree",
+ "description": "The dynamic values tree configuration."
+ }
+ }
+ },
+ "ApiOperationPropertiesDefinition": {
+ "type": "object",
+ "description": "The api operations properties",
+ "properties": {
+ "summary": {
+ "type": "string",
+ "description": "The summary of the api operation."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the api operation."
+ },
+ "visibility": {
+ "type": "string",
+ "description": "The visibility of the api operation."
+ },
+ "trigger": {
+ "type": "string",
+ "description": "The trigger type of api operation."
+ },
+ "triggerHint": {
+ "type": "string",
+ "description": "The trigger hint for the api operation."
+ },
+ "pageable": {
+ "type": "boolean",
+ "description": "Indicates whether the api operation is pageable."
+ },
+ "annotation": {
+ "$ref": "#/definitions/ApiOperationAnnotation",
+ "description": "The annotation of api operation."
+ },
+ "api": {
+ "$ref": "#/definitions/ApiReference",
+ "description": "The api reference."
+ },
+ "inputsDefinition": {
+ "$ref": "#/definitions/SwaggerSchema",
+ "description": "The operation inputs definition schema."
+ },
+ "responsesDefinition": {
+ "type": "object",
+ "description": "The operation responses definition schemas.",
+ "additionalProperties": {
+ "$ref": "#/definitions/SwaggerSchema"
+ }
+ },
+ "isWebhook": {
+ "type": "boolean",
+ "description": "Indicates whether the API operation is webhook or not."
+ },
+ "isNotification": {
+ "type": "boolean",
+ "description": "Indicates whether the API operation is notification or not."
+ }
+ }
+ },
+ "ApiOperation": {
+ "type": "object",
+ "description": "The api operation.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ApiOperationPropertiesDefinition"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ApiOperationListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiOperation"
+ },
+ "description": "The api operation definitions for an API."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of managed API operations."
+ },
+ "StatusAnnotation": {
+ "type": "string",
+ "description": "The status annotation.",
+ "enum": [
+ "NotSpecified",
+ "Preview",
+ "Production"
+ ],
+ "x-ms-enum": {
+ "name": "StatusAnnotation",
+ "modelAsString": true
+ }
+ },
+ "ApiReference": {
+ "type": "object",
+ "description": "The Api reference.",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The display name of the api."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the api."
+ },
+ "iconUri": {
+ "type": "string",
+ "description": "The icon uri of the api."
+ },
+ "swagger": {
+ "$ref": "#/definitions/Object",
+ "description": "The swagger of the api."
+ },
+ "brandColor": {
+ "type": "string",
+ "description": "The brand color of the api."
+ },
+ "category": {
+ "$ref": "#/definitions/ApiTier",
+ "description": "The tier."
+ },
+ "integrationServiceEnvironment": {
+ "$ref": "#/definitions/ResourceReference",
+ "description": "The integration service environment reference."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceReference"
+ }
+ ]
+ },
+ "ManagedApiListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedApi"
+ },
+ "description": "The managed APIs."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of managed APIs."
+ },
+ "ApiResourceProperties": {
+ "type": "object",
+ "description": "The API resource properties.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name"
+ },
+ "connectionParameters": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/Object"
+ },
+ "description": "The connection parameters."
+ },
+ "metadata": {
+ "$ref": "#/definitions/ApiResourceMetadata",
+ "description": "The metadata."
+ },
+ "runtimeUrls": {
+ "type": "array",
+ "description": "The runtime urls.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "generalInformation": {
+ "$ref": "#/definitions/ApiResourceGeneralInformation",
+ "description": "The api general information."
+ },
+ "capabilities": {
+ "type": "array",
+ "description": "The capabilities.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "backendService": {
+ "$ref": "#/definitions/ApiResourceBackendService",
+ "description": "The backend service."
+ },
+ "policies": {
+ "$ref": "#/definitions/ApiResourcePolicies",
+ "description": "The policies for the API."
+ },
+ "apiDefinitionUrl": {
+ "type": "string",
+ "description": "The API definition."
+ },
+ "apiDefinitions": {
+ "$ref": "#/definitions/ApiResourceDefinitions",
+ "description": "The api definitions."
+ },
+ "integrationServiceEnvironment": {
+ "$ref": "#/definitions/ResourceReference",
+ "description": "The integration service environment reference."
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/WorkflowProvisioningState",
+ "description": "The provisioning state."
+ },
+ "category": {
+ "$ref": "#/definitions/ApiTier",
+ "description": "The category."
+ }
+ }
+ },
+ "ApiResourcePolicies": {
+ "type": "object",
+ "description": "The API resource policies.",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "The API level only policies XML as embedded content."
+ },
+ "contentLink": {
+ "type": "string",
+ "description": "The content link to the policies."
+ }
+ }
+ },
+ "ApiResourceDefinitions": {
+ "type": "object",
+ "description": "The Api resource definition.",
+ "properties": {
+ "originalSwaggerUrl": {
+ "type": "string",
+ "description": "The original swagger url."
+ },
+ "modifiedSwaggerUrl": {
+ "type": "string",
+ "description": "The modified swagger url."
+ }
+ }
+ },
+ "ApiDeploymentParameterMetadataSet": {
+ "type": "object",
+ "description": "The API deployment parameters metadata.",
+ "properties": {
+ "packageContentLink": {
+ "$ref": "#/definitions/ApiDeploymentParameterMetadata",
+ "description": "The package content link parameter."
+ },
+ "redisCacheConnectionString": {
+ "$ref": "#/definitions/ApiDeploymentParameterMetadata",
+ "description": "The package content link parameter."
+ }
+ }
+ },
+ "ApiDeploymentParameterMetadata": {
+ "type": "object",
+ "description": "The API deployment parameter metadata.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type."
+ },
+ "isRequired": {
+ "type": "boolean",
+ "description": "Indicates whether its required."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The display name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description."
+ },
+ "visibility": {
+ "$ref": "#/definitions/ApiDeploymentParameterVisibility",
+ "description": "The visibility."
+ }
+ }
+ },
+ "ApiDeploymentParameterVisibility": {
+ "type": "string",
+ "description": "The Api deployment parameter visibility.",
+ "enum": [
+ "NotSpecified",
+ "Default",
+ "Internal"
+ ],
+ "x-ms-enum": {
+ "name": "ApiDeploymentParameterVisibility",
+ "modelAsString": true
+ }
+ },
+ "ApiResourceBackendService": {
+ "type": "object",
+ "properties": {
+ "serviceUrl": {
+ "type": "string",
+ "description": "The service URL."
+ }
+ },
+ "description": "The API backend service."
+ },
+ "ApiResourceMetadata": {
+ "type": "object",
+ "description": "The api resource metadata.",
+ "properties": {
+ "source": {
+ "type": "string",
+ "description": "The source."
+ },
+ "brandColor": {
+ "type": "string",
+ "description": "The brand color."
+ },
+ "hideKey": {
+ "type": "string",
+ "description": "The hide key."
+ },
+ "tags": {
+ "type": "object",
+ "description": "The tags.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "ApiType": {
+ "$ref": "#/definitions/ApiType",
+ "description": "The api type."
+ },
+ "wsdlService": {
+ "$ref": "#/definitions/WsdlService",
+ "description": "The WSDL service."
+ },
+ "wsdlImportMethod": {
+ "$ref": "#/definitions/WsdlImportMethod",
+ "description": "The WSDL import method."
+ },
+ "connectionType": {
+ "type": "string",
+ "description": "The connection type."
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/WorkflowProvisioningState",
+ "description": "The provisioning state."
+ },
+ "deploymentParameters": {
+ "$ref": "#/definitions/ApiDeploymentParameterMetadataSet",
+ "description": "The connector deployment parameters metadata."
+ }
+ }
+ },
+ "ApiType": {
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Rest",
+ "Soap"
+ ],
+ "x-ms-enum": {
+ "name": "ApiType",
+ "modelAsString": true
+ }
+ },
+ "WsdlService": {
+ "type": "object",
+ "description": "The WSDL service.",
+ "properties": {
+ "qualifiedName": {
+ "type": "string",
+ "description": "The qualified name."
+ },
+ "EndpointQualifiedNames": {
+ "type": "array",
+ "description": "The list of endpoints' qualified names.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "WsdlImportMethod": {
+ "type": "string",
+ "description": "The WSDL import method.",
+ "enum": [
+ "NotSpecified",
+ "SoapToRest",
+ "SoapPassThrough"
+ ],
+ "x-ms-enum": {
+ "name": "WsdlImportMethod",
+ "modelAsString": true
+ }
+ },
+ "ApiResourceGeneralInformation": {
+ "type": "object",
+ "description": "The API general information.",
+ "properties": {
+ "iconUrl": {
+ "type": "string",
+ "description": "The icon url."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The display name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description."
+ },
+ "termsOfUseUrl": {
+ "type": "string",
+ "description": "The terms of use url."
+ },
+ "releaseTag": {
+ "type": "string",
+ "description": "The release tag."
+ },
+ "tier": {
+ "$ref": "#/definitions/ApiTier",
+ "description": "The tier."
+ }
+ }
+ },
+ "ManagedApi": {
+ "type": "object",
+ "description": "The managed api definition.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ApiResourceProperties",
+ "description": "The api resource properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "IntegrationServiceEnvironmentNetworkEndPointAccessibilityState": {
+ "type": "string",
+ "description": "The integration service environment network endpoint accessibility state.",
+ "enum": [
+ "NotSpecified",
+ "Unknown",
+ "Available",
+ "NotAvailable"
+ ],
+ "x-ms-enum": {
+ "name": "IntegrationServiceEnvironmentNetworkEndPointAccessibilityState",
+ "modelAsString": true
+ }
+ },
+ "IntegrationServiceEnvironmentNetworkEndpoint": {
+ "type": "object",
+ "description": "The network endpoint.",
+ "properties": {
+ "accessibility": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkEndPointAccessibilityState",
+ "description": "The accessibility state."
+ },
+ "domainName": {
+ "type": "string",
+ "description": "The domain name."
+ },
+ "ports": {
+ "type": "array",
+ "description": "The ports.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "IntegrationServiceEnvironmentNetworkDependencyCategoryType": {
+ "type": "string",
+ "description": "The integration service environment network dependency category type.",
+ "enum": [
+ "NotSpecified",
+ "AzureStorage",
+ "AzureManagement",
+ "AzureActiveDirectory",
+ "SSLCertificateVerification",
+ "DiagnosticLogsAndMetrics",
+ "IntegrationServiceEnvironmentConnectors",
+ "RedisCache",
+ "AccessEndpoints",
+ "RecoveryService",
+ "SQL",
+ "RegionalService"
+ ],
+ "x-ms-enum": {
+ "name": "IntegrationServiceEnvironmentNetworkDependencyCategoryType",
+ "modelAsString": true
+ }
+ },
+ "IntegrationServiceEnvironmentNetworkDependency": {
+ "type": "object",
+ "description": "The azure async operation resource.",
+ "properties": {
+ "category": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkDependencyCategoryType",
+ "description": "The network dependency category type."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The display name."
+ },
+ "endpoints": {
+ "type": "array",
+ "description": "The endpoints.",
+ "items": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkEndpoint",
+ "description": "The endpoint."
+ }
+ }
+ }
+ },
+ "IntegrationServiceEnvironmentNetworkDependencyHealthState": {
+ "type": "string",
+ "description": "The integration service environment network dependency health state.",
+ "enum": [
+ "NotSpecified",
+ "Healthy",
+ "Unhealthy",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "IntegrationServiceEnvironmentNetworkDependencyHealthState",
+ "modelAsString": true
+ }
+ },
+ "IntegrationServiceEnvironmentNetworkDependencyHealth": {
+ "type": "object",
+ "description": "The integration service environment subnet network health.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ExtendedErrorInfo",
+ "description": "The error if any occurred during the operation."
+ },
+ "state": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkDependencyHealthState",
+ "description": "The network dependency health state."
+ }
+ }
+ },
+ "IntegrationServiceEnvironmentNetworkHealth": {
+ "type": "object",
+ "description": "The integration service environment network health of all the subnets.",
+ "additionalProperties": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentSubnetNetworkHealth",
+ "description": "The integration service environment subnet network health."
+ }
+ },
+ "IntegrationServiceEnvironmentSubnetNetworkHealth": {
+ "type": "object",
+ "description": "The integration service environment subnet network health.",
+ "required": [
+ "networkDependencyHealthState"
+ ],
+ "properties": {
+ "outboundNetworkDependencies": {
+ "description": "The outbound network dependencies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkDependency",
+ "description": "The integration service environment network dependency."
+ }
+ },
+ "outboundNetworkHealth": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkDependencyHealth",
+ "description": "The integration service environment network health."
+ },
+ "networkDependencyHealthState": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkEndPointAccessibilityState",
+ "description": "The integration service environment network health state."
+ }
+ }
+ },
+ "ExtendedErrorInfo": {
+ "type": "object",
+ "description": "The extended error info.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "$ref": "#/definitions/ErrorResponseCode"
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ },
+ "details": {
+ "type": "array",
+ "description": "The error message details.",
+ "items": {
+ "$ref": "#/definitions/ExtendedErrorInfo"
+ }
+ },
+ "innerError": {
+ "$ref": "#/definitions/Object",
+ "description": "The inner error."
+ }
+ }
+ },
+ "ErrorResponseCode": {
+ "type": "string",
+ "description": "The error response code.",
+ "enum": [
+ "NotSpecified",
+ "IntegrationServiceEnvironmentNotFound",
+ "InternalServerError",
+ "InvalidOperationId"
+ ],
+ "x-ms-enum": {
+ "name": "ErrorResponseCode",
+ "modelAsString": true
+ }
+ },
+ "AzureAsyncOperationState": {
+ "type": "string",
+ "description": "The Azure async operation state.",
+ "enum": [
+ "Failed",
+ "Succeeded",
+ "Pending",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "AzureAsyncOperationState",
+ "modelAsString": true
+ }
+ },
+ "IntegrationServiceEnvironmentListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationServiceEnvironment",
+ "description": "The integration service environment."
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of integration service environments."
+ },
+ "IntegrationServiceEnvironment": {
+ "type": "object",
+ "description": "The integration service environment.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentProperties",
+ "description": "The integration service environment properties."
+ },
+ "sku": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentSku",
+ "description": "The sku."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "IntegrationServiceEnvironmentSku": {
+ "type": "object",
+ "description": "The integration service environment sku.",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentSkuName",
+ "description": "The sku name."
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The sku capacity."
+ }
+ }
+ },
+ "IntegrationServiceEnvironmentProperties": {
+ "type": "object",
+ "description": "The integration service environment properties.",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/WorkflowProvisioningState",
+ "description": "The provisioning state."
+ },
+ "state": {
+ "$ref": "#/definitions/WorkflowState",
+ "description": "The integration service environment state."
+ },
+ "integrationServiceEnvironmentId": {
+ "type": "string",
+ "description": "Gets the tracking id."
+ },
+ "endpointsConfiguration": {
+ "$ref": "#/definitions/FlowEndpointsConfiguration",
+ "description": "The endpoints configuration."
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration",
+ "description": "The network configuration."
+ }
+ }
+ },
+ "IntegrationServiceEnvironmentSkuName": {
+ "type": "string",
+ "description": "The integration service environment sku name.",
+ "enum": [
+ "NotSpecified",
+ "Premium",
+ "Developer"
+ ],
+ "x-ms-enum": {
+ "name": "IntegrationServiceEnvironmentSkuName",
+ "modelAsString": true
+ }
+ },
+ "NetworkConfiguration": {
+ "type": "object",
+ "description": "The network configuration.",
+ "properties": {
+ "virtualNetworkAddressSpace": {
+ "type": "string",
+ "description": "Gets the virtual network address space."
+ },
+ "accessEndpoint": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentAccessEndpoint",
+ "description": "The access endpoint."
+ },
+ "subnets": {
+ "type": "array",
+ "description": "The subnets.",
+ "items": {
+ "$ref": "#/definitions/ResourceReference",
+ "description": "The subnet."
+ }
+ }
+ }
+ },
+ "IntegrationServiceEnvironmentAccessEndpoint": {
+ "type": "object",
+ "description": "The integration service environment access endpoint.",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentAccessEndpointType",
+ "description": "The access endpoint type."
+ }
+ }
+ },
+ "IntegrationServiceEnvironmentAccessEndpointType": {
+ "type": "string",
+ "description": "The integration service environment access endpoint type.",
+ "enum": [
+ "NotSpecified",
+ "External",
+ "Internal"
+ ],
+ "x-ms-enum": {
+ "name": "IntegrationServiceEnvironmentAccessEndpointType",
+ "modelAsString": true
+ }
+ },
+ "FlowEndpointsConfiguration": {
+ "type": "object",
+ "description": "The endpoints configuration.",
+ "properties": {
+ "workflow": {
+ "$ref": "#/definitions/FlowEndpoints",
+ "description": "The workflow endpoints."
+ },
+ "connector": {
+ "$ref": "#/definitions/FlowEndpoints",
+ "description": "The connector endpoints."
+ }
+ }
+ },
+ "FlowEndpoints": {
+ "type": "object",
+ "description": "The flow endpoints configuration.",
+ "properties": {
+ "outgoingIpAddresses": {
+ "type": "array",
+ "description": "The outgoing ip address.",
+ "items": {
+ "$ref": "#/definitions/IpAddress",
+ "description": "The ip address."
+ }
+ },
+ "accessEndpointIpAddresses": {
+ "type": "array",
+ "description": "The access endpoint ip address.",
+ "items": {
+ "$ref": "#/definitions/IpAddress",
+ "description": "The ip address."
+ }
+ }
+ }
+ },
+ "IpAddress": {
+ "type": "object",
+ "description": "The ip address.",
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "The address."
+ }
+ }
+ },
+ "IntegrationServiceEnvironmentSkuList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentSkuDefinition"
+ },
+ "description": "The list of integration service environment skus."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of integration service environment skus."
+ },
+ "IntegrationServiceEnvironmentSkuDefinition": {
+ "type": "object",
+ "description": "The integration service environment sku definition.",
+ "properties": {
+ "resourceType": {
+ "description": "The resource type.",
+ "type": "string"
+ },
+ "sku": {
+ "type": "object",
+ "description": "The sku.",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentSkuName",
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "description": "The sku tier."
+ }
+ }
+ },
+ "capacity": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentSkuCapacity",
+ "description": "The sku capacity."
+ }
+ }
+ },
+ "IntegrationServiceEnvironmentSkuCapacity": {
+ "type": "object",
+ "description": "The integration service environment sku capacity.",
+ "properties": {
+ "minimum": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The minimum capacity."
+ },
+ "maximum": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum capacity."
+ },
+ "default": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The default capacity."
+ },
+ "scaleType": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentSkuScaleType",
+ "description": "The sku scale type."
+ }
+ }
+ },
+ "IntegrationServiceEnvironmentSkuScaleType": {
+ "type": "string",
+ "description": "The integration service environment sku scale type.",
+ "enum": [
+ "Manual",
+ "Automatic",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "IntegrationServiceEnvironmentSkuScaleType",
+ "modelAsString": true
+ }
+ },
+ "IntegrationAccountSkuName": {
+ "type": "string",
+ "description": "The integration account sku name.",
+ "enum": [
+ "NotSpecified",
+ "Free",
+ "Basic",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "IntegrationAccountSkuName",
+ "modelAsString": true
+ }
+ },
+ "IntegrationAccount": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IntegrationAccountProperties",
+ "description": "The integration account properties."
+ },
+ "sku": {
+ "$ref": "#/definitions/IntegrationAccountSku",
+ "description": "The sku."
+ }
+ },
+ "description": "The integration account.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "IntegrationAccountProperties": {
+ "type": "object",
+ "description": "The integration account properties.",
+ "properties": {
+ "integrationServiceEnvironment": {
+ "$ref": "#/definitions/IntegrationServiceEnvironment",
+ "description": "The integration service environment."
+ },
+ "state": {
+ "$ref": "#/definitions/WorkflowState",
+ "description": "The workflow state."
+ }
+ }
+ },
+ "IntegrationAccountListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationAccount"
+ },
+ "description": "The list of integration accounts."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of integration accounts."
+ },
+ "GetCallbackUrlParameters": {
+ "type": "object",
+ "properties": {
+ "notAfter": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The expiry time."
+ },
+ "keyType": {
+ "$ref": "#/definitions/KeyType",
+ "description": "The key type."
+ }
+ },
+ "description": "The callback url parameters."
+ },
+ "CallbackUrl": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The URL value."
+ }
+ },
+ "description": "The callback url."
+ },
+ "IntegrationAccountSchema": {
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IntegrationAccountSchemaProperties",
+ "description": "The integration account schema properties."
+ }
+ },
+ "description": "The integration account schema.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "IntegrationAccountSchemaProperties": {
+ "type": "object",
+ "required": [
+ "schemaType"
+ ],
+ "properties": {
+ "schemaType": {
+ "$ref": "#/definitions/SchemaType",
+ "description": "The schema type."
+ },
+ "targetNamespace": {
+ "type": "string",
+ "description": "The target namespace of the schema."
+ },
+ "documentName": {
+ "type": "string",
+ "description": "The document name."
+ },
+ "fileName": {
+ "type": "string",
+ "description": "The file name."
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The created time."
+ },
+ "changedTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The changed time."
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The metadata.",
+ "properties": {}
+ },
+ "content": {
+ "type": "string",
+ "description": "The content.",
+ "properties": {}
+ },
+ "contentType": {
+ "type": "string",
+ "description": "The content type."
+ },
+ "contentLink": {
+ "$ref": "#/definitions/ContentLink",
+ "readOnly": true,
+ "description": "The content link."
+ }
+ },
+ "description": "The integration account schema properties."
+ },
+ "IntegrationAccountSchemaListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationAccountSchema"
+ },
+ "description": "The list of integration account schemas."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of integration account schemas."
+ },
+ "IntegrationAccountSchemaFilter": {
+ "type": "object",
+ "required": [
+ "schemaType"
+ ],
+ "properties": {
+ "schemaType": {
+ "$ref": "#/definitions/SchemaType",
+ "description": "The schema type of integration account schema."
+ }
+ },
+ "description": "The integration account schema filter for odata query."
+ },
+ "SchemaType": {
+ "type": "string",
+ "description": "The schema type.",
+ "enum": [
+ "NotSpecified",
+ "Xml"
+ ],
+ "x-ms-enum": {
+ "name": "SchemaType",
+ "modelAsString": true
+ }
+ },
+ "IntegrationAccountMap": {
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IntegrationAccountMapProperties",
+ "description": "The integration account map properties."
+ }
+ },
+ "description": "The integration account map.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "IntegrationAccountMapProperties": {
+ "type": "object",
+ "required": [
+ "mapType"
+ ],
+ "properties": {
+ "mapType": {
+ "$ref": "#/definitions/MapType",
+ "description": "The map type."
+ },
+ "parametersSchema": {
+ "type": "object",
+ "properties": {
+ "ref": {
+ "type": "string",
+ "description": "The reference name."
+ }
+ },
+ "description": "The parameters schema of integration account map."
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The created time."
+ },
+ "changedTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The changed time."
+ },
+ "content": {
+ "type": "string",
+ "description": "The content.",
+ "properties": {}
+ },
+ "contentType": {
+ "type": "string",
+ "description": "The content type."
+ },
+ "contentLink": {
+ "$ref": "#/definitions/ContentLink",
+ "readOnly": true,
+ "description": "The content link."
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The metadata.",
+ "properties": {}
+ }
+ },
+ "description": "The integration account map."
+ },
+ "IntegrationAccountMapListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationAccountMap"
+ },
+ "description": "The list of integration account maps."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of integration account maps."
+ },
+ "IntegrationAccountMapFilter": {
+ "type": "object",
+ "required": [
+ "mapType"
+ ],
+ "properties": {
+ "mapType": {
+ "$ref": "#/definitions/MapType",
+ "description": "The map type of integration account map."
+ }
+ },
+ "description": "The integration account map filter for odata query."
+ },
+ "MapType": {
+ "type": "string",
+ "description": "The map type.",
+ "enum": [
+ "NotSpecified",
+ "Xslt",
+ "Xslt20",
+ "Xslt30",
+ "Liquid"
+ ],
+ "x-ms-enum": {
+ "name": "MapType",
+ "modelAsString": true
+ }
+ },
+ "IntegrationAccountSku": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/IntegrationAccountSkuName",
+ "description": "The sku name."
+ }
+ },
+ "description": "The integration account sku."
+ },
+ "IntegrationAccountPartnerListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationAccountPartner"
+ },
+ "description": "The list of integration account partners."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of integration account partners."
+ },
+ "IntegrationAccountPartnerFilter": {
+ "type": "object",
+ "required": [
+ "partnerType"
+ ],
+ "properties": {
+ "partnerType": {
+ "$ref": "#/definitions/PartnerType",
+ "description": "The partner type of integration account partner."
+ }
+ },
+ "description": "The integration account partner filter for odata query."
+ },
+ "IntegrationAccountPartner": {
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IntegrationAccountPartnerProperties",
+ "description": "The integration account partner properties."
+ }
+ },
+ "description": "The integration account partner.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "IntegrationAccountPartnerProperties": {
+ "type": "object",
+ "required": [
+ "partnerType",
+ "content"
+ ],
+ "properties": {
+ "partnerType": {
+ "$ref": "#/definitions/PartnerType",
+ "description": "The partner type."
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The created time."
+ },
+ "changedTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The changed time."
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The metadata.",
+ "properties": {}
+ },
+ "content": {
+ "$ref": "#/definitions/PartnerContent",
+ "description": "The partner content."
+ }
+ },
+ "description": "The integration account partner properties."
+ },
+ "PartnerType": {
+ "type": "string",
+ "description": "The partner type.",
+ "enum": [
+ "NotSpecified",
+ "B2B"
+ ],
+ "x-ms-enum": {
+ "name": "PartnerType",
+ "modelAsString": true
+ }
+ },
+ "PartnerContent": {
+ "type": "object",
+ "properties": {
+ "b2b": {
+ "$ref": "#/definitions/B2BPartnerContent",
+ "description": "The B2B partner content."
+ }
+ },
+ "description": "The integration account partner content."
+ },
+ "B2BPartnerContent": {
+ "type": "object",
+ "properties": {
+ "businessIdentities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BusinessIdentity"
+ },
+ "description": "The list of partner business identities."
+ }
+ },
+ "description": "The B2B partner content."
+ },
+ "BusinessIdentity": {
+ "type": "object",
+ "required": [
+ "qualifier",
+ "value"
+ ],
+ "properties": {
+ "qualifier": {
+ "type": "string",
+ "description": "The business identity qualifier e.g. as2identity, ZZ, ZZZ, 31, 32"
+ },
+ "value": {
+ "type": "string",
+ "description": "The user defined business identity value."
+ }
+ },
+ "description": "The integration account partner's business identity."
+ },
+ "IntegrationAccountAgreementListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationAccountAgreement"
+ },
+ "description": "The list of integration account agreements."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of integration account agreements."
+ },
+ "IntegrationAccountAgreementFilter": {
+ "type": "object",
+ "required": [
+ "agreementType"
+ ],
+ "properties": {
+ "agreementType": {
+ "$ref": "#/definitions/AgreementType",
+ "description": "The agreement type of integration account agreement."
+ }
+ },
+ "description": "The integration account agreement filter for odata query."
+ },
+ "IntegrationAccountAgreement": {
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IntegrationAccountAgreementProperties",
+ "description": "The integration account agreement properties."
+ }
+ },
+ "description": "The integration account agreement.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "IntegrationAccountAgreementProperties": {
+ "type": "object",
+ "required": [
+ "hostPartner",
+ "guestPartner",
+ "hostIdentity",
+ "guestIdentity",
+ "agreementType",
+ "content"
+ ],
+ "properties": {
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The created time."
+ },
+ "changedTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The changed time."
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The metadata.",
+ "properties": {}
+ },
+ "agreementType": {
+ "$ref": "#/definitions/AgreementType",
+ "description": "The agreement type."
+ },
+ "hostPartner": {
+ "type": "string",
+ "description": "The integration account partner that is set as host partner for this agreement."
+ },
+ "guestPartner": {
+ "type": "string",
+ "description": "The integration account partner that is set as guest partner for this agreement."
+ },
+ "hostIdentity": {
+ "$ref": "#/definitions/BusinessIdentity",
+ "description": "The business identity of the host partner."
+ },
+ "guestIdentity": {
+ "$ref": "#/definitions/BusinessIdentity",
+ "description": "The business identity of the guest partner."
+ },
+ "content": {
+ "$ref": "#/definitions/AgreementContent",
+ "description": "The agreement content."
+ }
+ },
+ "description": "The integration account agreement properties."
+ },
+ "AgreementType": {
+ "type": "string",
+ "description": "The agreement type.",
+ "enum": [
+ "NotSpecified",
+ "AS2",
+ "X12",
+ "Edifact"
+ ],
+ "x-ms-enum": {
+ "name": "AgreementType",
+ "modelAsString": false
+ }
+ },
+ "AgreementContent": {
+ "type": "object",
+ "properties": {
+ "aS2": {
+ "$ref": "#/definitions/AS2AgreementContent",
+ "description": "The AS2 agreement content."
+ },
+ "x12": {
+ "$ref": "#/definitions/X12AgreementContent",
+ "description": "The X12 agreement content."
+ },
+ "edifact": {
+ "$ref": "#/definitions/EdifactAgreementContent",
+ "description": "The EDIFACT agreement content."
+ }
+ },
+ "description": "The integration account agreement content."
+ },
+ "AS2AgreementContent": {
+ "type": "object",
+ "required": [
+ "receiveAgreement",
+ "sendAgreement"
+ ],
+ "properties": {
+ "receiveAgreement": {
+ "$ref": "#/definitions/AS2OneWayAgreement",
+ "description": "The AS2 one-way receive agreement."
+ },
+ "sendAgreement": {
+ "$ref": "#/definitions/AS2OneWayAgreement",
+ "description": "The AS2 one-way send agreement."
+ }
+ },
+ "description": "The integration account AS2 agreement content."
+ },
+ "AS2OneWayAgreement": {
+ "type": "object",
+ "required": [
+ "senderBusinessIdentity",
+ "receiverBusinessIdentity",
+ "protocolSettings"
+ ],
+ "properties": {
+ "senderBusinessIdentity": {
+ "$ref": "#/definitions/BusinessIdentity",
+ "description": "The sender business identity"
+ },
+ "receiverBusinessIdentity": {
+ "$ref": "#/definitions/BusinessIdentity",
+ "description": "The receiver business identity"
+ },
+ "protocolSettings": {
+ "$ref": "#/definitions/AS2ProtocolSettings",
+ "description": "The AS2 protocol settings."
+ }
+ },
+ "description": "The integration account AS2 one-way agreement."
+ },
+ "AS2ProtocolSettings": {
+ "type": "object",
+ "required": [
+ "messageConnectionSettings",
+ "acknowledgementConnectionSettings",
+ "mdnSettings",
+ "securitySettings",
+ "validationSettings",
+ "envelopeSettings",
+ "errorSettings"
+ ],
+ "properties": {
+ "messageConnectionSettings": {
+ "$ref": "#/definitions/AS2MessageConnectionSettings",
+ "description": "The message connection settings."
+ },
+ "acknowledgementConnectionSettings": {
+ "$ref": "#/definitions/AS2AcknowledgementConnectionSettings",
+ "description": "The acknowledgement connection settings."
+ },
+ "mdnSettings": {
+ "$ref": "#/definitions/AS2MdnSettings",
+ "description": "The MDN settings."
+ },
+ "securitySettings": {
+ "$ref": "#/definitions/AS2SecuritySettings",
+ "description": "The security settings."
+ },
+ "validationSettings": {
+ "$ref": "#/definitions/AS2ValidationSettings",
+ "description": "The validation settings."
+ },
+ "envelopeSettings": {
+ "$ref": "#/definitions/AS2EnvelopeSettings",
+ "description": "The envelope settings."
+ },
+ "errorSettings": {
+ "$ref": "#/definitions/AS2ErrorSettings",
+ "description": "The error settings."
+ }
+ },
+ "description": "The AS2 agreement protocol settings."
+ },
+ "AS2AcknowledgementConnectionSettings": {
+ "type": "object",
+ "required": [
+ "ignoreCertificateNameMismatch",
+ "supportHttpStatusCodeContinue",
+ "keepHttpConnectionAlive",
+ "unfoldHttpHeaders"
+ ],
+ "properties": {
+ "ignoreCertificateNameMismatch": {
+ "type": "boolean",
+ "description": "Indicates whether to ignore mismatch in certificate name."
+ },
+ "supportHttpStatusCodeContinue": {
+ "type": "boolean",
+ "description": "Indicates whether to support HTTP status code 'CONTINUE'."
+ },
+ "keepHttpConnectionAlive": {
+ "type": "boolean",
+ "description": "Indicates whether to keep the connection alive."
+ },
+ "unfoldHttpHeaders": {
+ "type": "boolean",
+ "description": "Indicates whether to unfold the HTTP headers."
+ }
+ },
+ "description": "The AS2 agreement acknowledgement connection settings."
+ },
+ "AS2MessageConnectionSettings": {
+ "type": "object",
+ "required": [
+ "ignoreCertificateNameMismatch",
+ "supportHttpStatusCodeContinue",
+ "keepHttpConnectionAlive",
+ "unfoldHttpHeaders"
+ ],
+ "properties": {
+ "ignoreCertificateNameMismatch": {
+ "type": "boolean",
+ "description": "The value indicating whether to ignore mismatch in certificate name."
+ },
+ "supportHttpStatusCodeContinue": {
+ "type": "boolean",
+ "description": "The value indicating whether to support HTTP status code 'CONTINUE'."
+ },
+ "keepHttpConnectionAlive": {
+ "type": "boolean",
+ "description": "The value indicating whether to keep the connection alive."
+ },
+ "unfoldHttpHeaders": {
+ "type": "boolean",
+ "description": "The value indicating whether to unfold the HTTP headers."
+ }
+ },
+ "description": "The AS2 agreement message connection settings."
+ },
+ "AS2MdnSettings": {
+ "type": "object",
+ "required": [
+ "needMDN",
+ "signMDN",
+ "sendMDNAsynchronously",
+ "signOutboundMDNIfOptional",
+ "sendInboundMDNToMessageBox",
+ "micHashingAlgorithm"
+ ],
+ "properties": {
+ "needMDN": {
+ "type": "boolean",
+ "description": "The value indicating whether to send or request a MDN."
+ },
+ "signMDN": {
+ "type": "boolean",
+ "description": "The value indicating whether the MDN needs to be signed or not."
+ },
+ "sendMDNAsynchronously": {
+ "type": "boolean",
+ "description": "The value indicating whether to send the asynchronous MDN."
+ },
+ "receiptDeliveryUrl": {
+ "type": "string",
+ "description": "The receipt delivery URL."
+ },
+ "dispositionNotificationTo": {
+ "type": "string",
+ "description": "The disposition notification to header value."
+ },
+ "signOutboundMDNIfOptional": {
+ "type": "boolean",
+ "description": "The value indicating whether to sign the outbound MDN if optional."
+ },
+ "mdnText": {
+ "type": "string",
+ "description": "The MDN text."
+ },
+ "sendInboundMDNToMessageBox": {
+ "type": "boolean",
+ "description": "The value indicating whether to send inbound MDN to message box."
+ },
+ "micHashingAlgorithm": {
+ "$ref": "#/definitions/HashingAlgorithm",
+ "description": "The signing or hashing algorithm."
+ }
+ },
+ "description": "The AS2 agreement mdn settings."
+ },
+ "AS2SecuritySettings": {
+ "type": "object",
+ "required": [
+ "overrideGroupSigningCertificate",
+ "enableNRRForInboundEncodedMessages",
+ "enableNRRForInboundDecodedMessages",
+ "enableNRRForOutboundMDN",
+ "enableNRRForOutboundEncodedMessages",
+ "enableNRRForOutboundDecodedMessages",
+ "enableNRRForInboundMDN"
+ ],
+ "properties": {
+ "overrideGroupSigningCertificate": {
+ "type": "boolean",
+ "description": "The value indicating whether to send or request a MDN."
+ },
+ "signingCertificateName": {
+ "type": "string",
+ "description": "The name of the signing certificate."
+ },
+ "encryptionCertificateName": {
+ "type": "string",
+ "description": "The name of the encryption certificate."
+ },
+ "enableNRRForInboundEncodedMessages": {
+ "type": "boolean",
+ "description": "The value indicating whether to enable NRR for inbound encoded messages."
+ },
+ "enableNRRForInboundDecodedMessages": {
+ "type": "boolean",
+ "description": "The value indicating whether to enable NRR for inbound decoded messages."
+ },
+ "enableNRRForOutboundMDN": {
+ "type": "boolean",
+ "description": "The value indicating whether to enable NRR for outbound MDN."
+ },
+ "enableNRRForOutboundEncodedMessages": {
+ "type": "boolean",
+ "description": "The value indicating whether to enable NRR for outbound encoded messages."
+ },
+ "enableNRRForOutboundDecodedMessages": {
+ "type": "boolean",
+ "description": "The value indicating whether to enable NRR for outbound decoded messages."
+ },
+ "enableNRRForInboundMDN": {
+ "type": "boolean",
+ "description": "The value indicating whether to enable NRR for inbound MDN."
+ },
+ "sha2AlgorithmFormat": {
+ "type": "string",
+ "description": "The Sha2 algorithm format. Valid values are Sha2, ShaHashSize, ShaHyphenHashSize, Sha2UnderscoreHashSize."
+ }
+ },
+ "description": "The AS2 agreement security settings."
+ },
+ "AS2ValidationSettings": {
+ "type": "object",
+ "required": [
+ "overrideMessageProperties",
+ "encryptMessage",
+ "signMessage",
+ "compressMessage",
+ "checkDuplicateMessage",
+ "interchangeDuplicatesValidityDays",
+ "checkCertificateRevocationListOnSend",
+ "checkCertificateRevocationListOnReceive",
+ "encryptionAlgorithm"
+ ],
+ "properties": {
+ "overrideMessageProperties": {
+ "type": "boolean",
+ "description": "The value indicating whether to override incoming message properties with those in agreement."
+ },
+ "encryptMessage": {
+ "type": "boolean",
+ "description": "The value indicating whether the message has to be encrypted."
+ },
+ "signMessage": {
+ "type": "boolean",
+ "description": "The value indicating whether the message has to be signed."
+ },
+ "compressMessage": {
+ "type": "boolean",
+ "description": "The value indicating whether the message has to be compressed."
+ },
+ "checkDuplicateMessage": {
+ "type": "boolean",
+ "description": "The value indicating whether to check for duplicate message."
+ },
+ "interchangeDuplicatesValidityDays": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of days to look back for duplicate interchange."
+ },
+ "checkCertificateRevocationListOnSend": {
+ "type": "boolean",
+ "description": "The value indicating whether to check for certificate revocation list on send."
+ },
+ "checkCertificateRevocationListOnReceive": {
+ "type": "boolean",
+ "description": "The value indicating whether to check for certificate revocation list on receive."
+ },
+ "encryptionAlgorithm": {
+ "$ref": "#/definitions/EncryptionAlgorithm",
+ "description": "The encryption algorithm."
+ },
+ "signingAlgorithm": {
+ "$ref": "#/definitions/SigningAlgorithm",
+ "description": "The signing algorithm."
+ }
+ },
+ "description": "The AS2 agreement validation settings."
+ },
+ "AS2EnvelopeSettings": {
+ "type": "object",
+ "required": [
+ "messageContentType",
+ "transmitFileNameInMimeHeader",
+ "fileNameTemplate",
+ "suspendMessageOnFileNameGenerationError",
+ "autogenerateFileName"
+ ],
+ "properties": {
+ "messageContentType": {
+ "type": "string",
+ "description": "The message content type."
+ },
+ "transmitFileNameInMimeHeader": {
+ "type": "boolean",
+ "description": "The value indicating whether to transmit file name in mime header."
+ },
+ "fileNameTemplate": {
+ "type": "string",
+ "description": "The template for file name."
+ },
+ "suspendMessageOnFileNameGenerationError": {
+ "type": "boolean",
+ "description": "The value indicating whether to suspend message on file name generation error."
+ },
+ "autogenerateFileName": {
+ "type": "boolean",
+ "description": "The value indicating whether to auto generate file name."
+ }
+ },
+ "description": "The AS2 agreement envelope settings."
+ },
+ "AS2ErrorSettings": {
+ "type": "object",
+ "required": [
+ "suspendDuplicateMessage",
+ "resendIfMDNNotReceived"
+ ],
+ "properties": {
+ "suspendDuplicateMessage": {
+ "type": "boolean",
+ "description": "The value indicating whether to suspend duplicate message."
+ },
+ "resendIfMDNNotReceived": {
+ "type": "boolean",
+ "description": "The value indicating whether to resend message If MDN is not received."
+ }
+ },
+ "description": "The AS2 agreement error settings."
+ },
+ "X12AgreementContent": {
+ "type": "object",
+ "required": [
+ "receiveAgreement",
+ "sendAgreement"
+ ],
+ "properties": {
+ "receiveAgreement": {
+ "$ref": "#/definitions/X12OneWayAgreement",
+ "description": "The X12 one-way receive agreement."
+ },
+ "sendAgreement": {
+ "$ref": "#/definitions/X12OneWayAgreement",
+ "description": "The X12 one-way send agreement."
+ }
+ },
+ "description": "The X12 agreement content."
+ },
+ "X12OneWayAgreement": {
+ "type": "object",
+ "required": [
+ "senderBusinessIdentity",
+ "receiverBusinessIdentity",
+ "protocolSettings"
+ ],
+ "properties": {
+ "senderBusinessIdentity": {
+ "$ref": "#/definitions/BusinessIdentity",
+ "description": "The sender business identity"
+ },
+ "receiverBusinessIdentity": {
+ "$ref": "#/definitions/BusinessIdentity",
+ "description": "The receiver business identity"
+ },
+ "protocolSettings": {
+ "$ref": "#/definitions/X12ProtocolSettings",
+ "description": "The X12 protocol settings."
+ }
+ },
+ "description": "The X12 one-way agreement."
+ },
+ "X12ProtocolSettings": {
+ "type": "object",
+ "required": [
+ "validationSettings",
+ "framingSettings",
+ "envelopeSettings",
+ "acknowledgementSettings",
+ "messageFilter",
+ "securitySettings",
+ "processingSettings",
+ "schemaReferences"
+ ],
+ "properties": {
+ "validationSettings": {
+ "$ref": "#/definitions/X12ValidationSettings",
+ "description": "The X12 validation settings."
+ },
+ "framingSettings": {
+ "$ref": "#/definitions/X12FramingSettings",
+ "description": "The X12 framing settings."
+ },
+ "envelopeSettings": {
+ "$ref": "#/definitions/X12EnvelopeSettings",
+ "description": "The X12 envelope settings."
+ },
+ "acknowledgementSettings": {
+ "$ref": "#/definitions/X12AcknowledgementSettings",
+ "description": "The X12 acknowledgment settings."
+ },
+ "messageFilter": {
+ "$ref": "#/definitions/X12MessageFilter",
+ "description": "The X12 message filter."
+ },
+ "securitySettings": {
+ "$ref": "#/definitions/X12SecuritySettings",
+ "description": "The X12 security settings."
+ },
+ "processingSettings": {
+ "$ref": "#/definitions/X12ProcessingSettings",
+ "description": "The X12 processing settings."
+ },
+ "envelopeOverrides": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/X12EnvelopeOverride"
+ },
+ "description": "The X12 envelope override settings."
+ },
+ "validationOverrides": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/X12ValidationOverride"
+ },
+ "description": "The X12 validation override settings."
+ },
+ "messageFilterList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/X12MessageIdentifier"
+ },
+ "description": "The X12 message filter list."
+ },
+ "schemaReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/X12SchemaReference"
+ },
+ "description": "The X12 schema references."
+ },
+ "x12DelimiterOverrides": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/X12DelimiterOverrides"
+ },
+ "description": "The X12 delimiter override settings."
+ }
+ },
+ "description": "The X12 agreement protocol settings."
+ },
+ "X12ValidationSettings": {
+ "type": "object",
+ "required": [
+ "validateCharacterSet",
+ "checkDuplicateInterchangeControlNumber",
+ "interchangeControlNumberValidityDays",
+ "checkDuplicateGroupControlNumber",
+ "checkDuplicateTransactionSetControlNumber",
+ "validateEDITypes",
+ "validateXSDTypes",
+ "allowLeadingAndTrailingSpacesAndZeroes",
+ "trimLeadingAndTrailingSpacesAndZeroes",
+ "trailingSeparatorPolicy"
+ ],
+ "properties": {
+ "validateCharacterSet": {
+ "type": "boolean",
+ "description": "The value indicating whether to validate character set in the message."
+ },
+ "checkDuplicateInterchangeControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to check for duplicate interchange control number."
+ },
+ "interchangeControlNumberValidityDays": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The validity period of interchange control number."
+ },
+ "checkDuplicateGroupControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to check for duplicate group control number."
+ },
+ "checkDuplicateTransactionSetControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to check for duplicate transaction set control number."
+ },
+ "validateEDITypes": {
+ "type": "boolean",
+ "description": "The value indicating whether to Whether to validate EDI types."
+ },
+ "validateXSDTypes": {
+ "type": "boolean",
+ "description": "The value indicating whether to Whether to validate XSD types."
+ },
+ "allowLeadingAndTrailingSpacesAndZeroes": {
+ "type": "boolean",
+ "description": "The value indicating whether to allow leading and trailing spaces and zeroes."
+ },
+ "trimLeadingAndTrailingSpacesAndZeroes": {
+ "type": "boolean",
+ "description": "The value indicating whether to trim leading and trailing spaces and zeroes."
+ },
+ "trailingSeparatorPolicy": {
+ "$ref": "#/definitions/TrailingSeparatorPolicy",
+ "description": "The trailing separator policy."
+ }
+ },
+ "description": "The X12 agreement validation settings."
+ },
+ "X12FramingSettings": {
+ "type": "object",
+ "required": [
+ "dataElementSeparator",
+ "componentSeparator",
+ "replaceSeparatorsInPayload",
+ "replaceCharacter",
+ "segmentTerminator",
+ "characterSet",
+ "segmentTerminatorSuffix"
+ ],
+ "properties": {
+ "dataElementSeparator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The data element separator."
+ },
+ "componentSeparator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The component separator."
+ },
+ "replaceSeparatorsInPayload": {
+ "type": "boolean",
+ "description": "The value indicating whether to replace separators in payload."
+ },
+ "replaceCharacter": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The replacement character."
+ },
+ "segmentTerminator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The segment terminator."
+ },
+ "characterSet": {
+ "$ref": "#/definitions/X12CharacterSet",
+ "description": "The X12 character set."
+ },
+ "segmentTerminatorSuffix": {
+ "$ref": "#/definitions/SegmentTerminatorSuffix",
+ "description": "The segment terminator suffix."
+ }
+ },
+ "description": "The X12 agreement framing settings."
+ },
+ "X12EnvelopeSettings": {
+ "type": "object",
+ "required": [
+ "controlStandardsId",
+ "useControlStandardsIdAsRepetitionCharacter",
+ "senderApplicationId",
+ "receiverApplicationId",
+ "controlVersionNumber",
+ "interchangeControlNumberLowerBound",
+ "interchangeControlNumberUpperBound",
+ "rolloverInterchangeControlNumber",
+ "enableDefaultGroupHeaders",
+ "groupControlNumberLowerBound",
+ "groupControlNumberUpperBound",
+ "rolloverGroupControlNumber",
+ "groupHeaderAgencyCode",
+ "groupHeaderVersion",
+ "transactionSetControlNumberLowerBound",
+ "transactionSetControlNumberUpperBound",
+ "rolloverTransactionSetControlNumber",
+ "overwriteExistingTransactionSetControlNumber",
+ "groupHeaderDateFormat",
+ "groupHeaderTimeFormat",
+ "usageIndicator"
+ ],
+ "properties": {
+ "controlStandardsId": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The controls standards id."
+ },
+ "useControlStandardsIdAsRepetitionCharacter": {
+ "type": "boolean",
+ "description": "The value indicating whether to use control standards id as repetition character."
+ },
+ "senderApplicationId": {
+ "type": "string",
+ "description": "The sender application id."
+ },
+ "receiverApplicationId": {
+ "type": "string",
+ "description": "The receiver application id."
+ },
+ "controlVersionNumber": {
+ "type": "string",
+ "description": "The control version number."
+ },
+ "interchangeControlNumberLowerBound": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The interchange control number lower bound."
+ },
+ "interchangeControlNumberUpperBound": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The interchange control number upper bound."
+ },
+ "rolloverInterchangeControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to rollover interchange control number."
+ },
+ "enableDefaultGroupHeaders": {
+ "type": "boolean",
+ "description": "The value indicating whether to enable default group headers."
+ },
+ "functionalGroupId": {
+ "type": "string",
+ "description": "The functional group id."
+ },
+ "groupControlNumberLowerBound": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The group control number lower bound."
+ },
+ "groupControlNumberUpperBound": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The group control number upper bound."
+ },
+ "rolloverGroupControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to rollover group control number."
+ },
+ "groupHeaderAgencyCode": {
+ "type": "string",
+ "description": "The group header agency code."
+ },
+ "groupHeaderVersion": {
+ "type": "string",
+ "description": "The group header version."
+ },
+ "transactionSetControlNumberLowerBound": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The transaction set control number lower bound."
+ },
+ "transactionSetControlNumberUpperBound": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The transaction set control number upper bound."
+ },
+ "rolloverTransactionSetControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to rollover transaction set control number."
+ },
+ "transactionSetControlNumberPrefix": {
+ "type": "string",
+ "description": "The transaction set control number prefix."
+ },
+ "transactionSetControlNumberSuffix": {
+ "type": "string",
+ "description": "The transaction set control number suffix."
+ },
+ "overwriteExistingTransactionSetControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to overwrite existing transaction set control number."
+ },
+ "groupHeaderDateFormat": {
+ "$ref": "#/definitions/X12DateFormat",
+ "description": "The group header date format."
+ },
+ "groupHeaderTimeFormat": {
+ "$ref": "#/definitions/X12TimeFormat",
+ "description": "The group header time format."
+ },
+ "usageIndicator": {
+ "$ref": "#/definitions/UsageIndicator",
+ "description": "The usage indicator."
+ }
+ },
+ "description": "The X12 agreement envelope settings."
+ },
+ "X12AcknowledgementSettings": {
+ "type": "object",
+ "required": [
+ "needTechnicalAcknowledgement",
+ "batchTechnicalAcknowledgements",
+ "needFunctionalAcknowledgement",
+ "batchFunctionalAcknowledgements",
+ "needImplementationAcknowledgement",
+ "batchImplementationAcknowledgements",
+ "needLoopForValidMessages",
+ "sendSynchronousAcknowledgement",
+ "acknowledgementControlNumberLowerBound",
+ "acknowledgementControlNumberUpperBound",
+ "rolloverAcknowledgementControlNumber"
+ ],
+ "properties": {
+ "needTechnicalAcknowledgement": {
+ "type": "boolean",
+ "description": "The value indicating whether technical acknowledgement is needed."
+ },
+ "batchTechnicalAcknowledgements": {
+ "type": "boolean",
+ "description": "The value indicating whether to batch the technical acknowledgements."
+ },
+ "needFunctionalAcknowledgement": {
+ "type": "boolean",
+ "description": "The value indicating whether functional acknowledgement is needed."
+ },
+ "functionalAcknowledgementVersion": {
+ "type": "string",
+ "description": "The functional acknowledgement version."
+ },
+ "batchFunctionalAcknowledgements": {
+ "type": "boolean",
+ "description": "The value indicating whether to batch functional acknowledgements."
+ },
+ "needImplementationAcknowledgement": {
+ "type": "boolean",
+ "description": "The value indicating whether implementation acknowledgement is needed."
+ },
+ "implementationAcknowledgementVersion": {
+ "type": "string",
+ "description": "The implementation acknowledgement version."
+ },
+ "batchImplementationAcknowledgements": {
+ "type": "boolean",
+ "description": "The value indicating whether to batch implementation acknowledgements."
+ },
+ "needLoopForValidMessages": {
+ "type": "boolean",
+ "description": "The value indicating whether a loop is needed for valid messages."
+ },
+ "sendSynchronousAcknowledgement": {
+ "type": "boolean",
+ "description": "The value indicating whether to send synchronous acknowledgement."
+ },
+ "acknowledgementControlNumberPrefix": {
+ "type": "string",
+ "description": "The acknowledgement control number prefix."
+ },
+ "acknowledgementControlNumberSuffix": {
+ "type": "string",
+ "description": "The acknowledgement control number suffix."
+ },
+ "acknowledgementControlNumberLowerBound": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The acknowledgement control number lower bound."
+ },
+ "acknowledgementControlNumberUpperBound": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The acknowledgement control number upper bound."
+ },
+ "rolloverAcknowledgementControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to rollover acknowledgement control number."
+ }
+ },
+ "description": "The X12 agreement acknowledgement settings."
+ },
+ "X12MessageFilter": {
+ "type": "object",
+ "required": [
+ "messageFilterType"
+ ],
+ "properties": {
+ "messageFilterType": {
+ "$ref": "#/definitions/MessageFilterType",
+ "description": "The message filter type."
+ }
+ },
+ "description": "The X12 message filter for odata query."
+ },
+ "X12SecuritySettings": {
+ "type": "object",
+ "required": [
+ "authorizationQualifier",
+ "securityQualifier"
+ ],
+ "properties": {
+ "authorizationQualifier": {
+ "type": "string",
+ "description": "The authorization qualifier."
+ },
+ "authorizationValue": {
+ "type": "string",
+ "description": "The authorization value."
+ },
+ "securityQualifier": {
+ "type": "string",
+ "description": "The security qualifier."
+ },
+ "passwordValue": {
+ "type": "string",
+ "description": "The password value."
+ }
+ },
+ "description": "The X12 agreement security settings."
+ },
+ "X12ProcessingSettings": {
+ "type": "object",
+ "required": [
+ "maskSecurityInfo",
+ "convertImpliedDecimal",
+ "preserveInterchange",
+ "suspendInterchangeOnError",
+ "createEmptyXmlTagsForTrailingSeparators",
+ "useDotAsDecimalSeparator"
+ ],
+ "properties": {
+ "maskSecurityInfo": {
+ "type": "boolean",
+ "description": "The value indicating whether to mask security information."
+ },
+ "convertImpliedDecimal": {
+ "type": "boolean",
+ "description": "The value indicating whether to convert numerical type to implied decimal."
+ },
+ "preserveInterchange": {
+ "type": "boolean",
+ "description": "The value indicating whether to preserve interchange."
+ },
+ "suspendInterchangeOnError": {
+ "type": "boolean",
+ "description": "The value indicating whether to suspend interchange on error."
+ },
+ "createEmptyXmlTagsForTrailingSeparators": {
+ "type": "boolean",
+ "description": "The value indicating whether to create empty xml tags for trailing separators."
+ },
+ "useDotAsDecimalSeparator": {
+ "type": "boolean",
+ "description": "The value indicating whether to use dot as decimal separator."
+ }
+ },
+ "description": "The X12 processing settings."
+ },
+ "X12EnvelopeOverride": {
+ "type": "object",
+ "required": [
+ "targetNamespace",
+ "protocolVersion",
+ "messageId",
+ "responsibleAgencyCode",
+ "headerVersion",
+ "senderApplicationId",
+ "receiverApplicationId",
+ "dateFormat",
+ "timeFormat"
+ ],
+ "properties": {
+ "targetNamespace": {
+ "type": "string",
+ "description": "The target namespace on which this envelope settings has to be applied."
+ },
+ "protocolVersion": {
+ "type": "string",
+ "description": "The protocol version on which this envelope settings has to be applied."
+ },
+ "messageId": {
+ "type": "string",
+ "description": "The message id on which this envelope settings has to be applied."
+ },
+ "responsibleAgencyCode": {
+ "type": "string",
+ "description": "The responsible agency code."
+ },
+ "headerVersion": {
+ "type": "string",
+ "description": "The header version."
+ },
+ "senderApplicationId": {
+ "type": "string",
+ "description": "The sender application id."
+ },
+ "receiverApplicationId": {
+ "type": "string",
+ "description": "The receiver application id."
+ },
+ "functionalIdentifierCode": {
+ "type": "string",
+ "description": "The functional identifier code."
+ },
+ "dateFormat": {
+ "$ref": "#/definitions/X12DateFormat",
+ "description": "The date format."
+ },
+ "timeFormat": {
+ "$ref": "#/definitions/X12TimeFormat",
+ "description": "The time format."
+ }
+ },
+ "description": "The X12 envelope override settings."
+ },
+ "X12ValidationOverride": {
+ "type": "object",
+ "required": [
+ "messageId",
+ "validateEDITypes",
+ "validateXSDTypes",
+ "allowLeadingAndTrailingSpacesAndZeroes",
+ "validateCharacterSet",
+ "trimLeadingAndTrailingSpacesAndZeroes",
+ "trailingSeparatorPolicy"
+ ],
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "description": "The message id on which the validation settings has to be applied."
+ },
+ "validateEDITypes": {
+ "type": "boolean",
+ "description": "The value indicating whether to validate EDI types."
+ },
+ "validateXSDTypes": {
+ "type": "boolean",
+ "description": "The value indicating whether to validate XSD types."
+ },
+ "allowLeadingAndTrailingSpacesAndZeroes": {
+ "type": "boolean",
+ "description": "The value indicating whether to allow leading and trailing spaces and zeroes."
+ },
+ "validateCharacterSet": {
+ "type": "boolean",
+ "description": "The value indicating whether to validate character Set."
+ },
+ "trimLeadingAndTrailingSpacesAndZeroes": {
+ "type": "boolean",
+ "description": "The value indicating whether to trim leading and trailing spaces and zeroes."
+ },
+ "trailingSeparatorPolicy": {
+ "$ref": "#/definitions/TrailingSeparatorPolicy",
+ "description": "The trailing separator policy."
+ }
+ },
+ "description": "The X12 validation override settings."
+ },
+ "X12MessageIdentifier": {
+ "type": "object",
+ "required": [
+ "messageId"
+ ],
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "description": "The message id."
+ }
+ },
+ "description": "The X12 message identifier."
+ },
+ "X12SchemaReference": {
+ "type": "object",
+ "required": [
+ "messageId",
+ "schemaVersion",
+ "schemaName"
+ ],
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "description": "The message id."
+ },
+ "senderApplicationId": {
+ "type": "string",
+ "description": "The sender application id."
+ },
+ "schemaVersion": {
+ "type": "string",
+ "description": "The schema version."
+ },
+ "schemaName": {
+ "type": "string",
+ "description": "The schema name."
+ }
+ },
+ "description": "The X12 schema reference."
+ },
+ "X12DelimiterOverrides": {
+ "type": "object",
+ "required": [
+ "dataElementSeparator",
+ "componentSeparator",
+ "segmentTerminator",
+ "segmentTerminatorSuffix",
+ "replaceCharacter",
+ "replaceSeparatorsInPayload"
+ ],
+ "properties": {
+ "protocolVersion": {
+ "type": "string",
+ "description": "The protocol version."
+ },
+ "messageId": {
+ "type": "string",
+ "description": "The message id."
+ },
+ "dataElementSeparator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The data element separator."
+ },
+ "componentSeparator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The component separator."
+ },
+ "segmentTerminator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The segment terminator."
+ },
+ "segmentTerminatorSuffix": {
+ "$ref": "#/definitions/SegmentTerminatorSuffix",
+ "description": "The segment terminator suffix."
+ },
+ "replaceCharacter": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The replacement character."
+ },
+ "replaceSeparatorsInPayload": {
+ "type": "boolean",
+ "description": "The value indicating whether to replace separators in payload."
+ },
+ "targetNamespace": {
+ "type": "string",
+ "description": "The target namespace on which this delimiter settings has to be applied."
+ }
+ },
+ "description": "The X12 delimiter override settings."
+ },
+ "X12CharacterSet": {
+ "type": "string",
+ "description": "The X12 character set.",
+ "enum": [
+ "NotSpecified",
+ "Basic",
+ "Extended",
+ "UTF8"
+ ],
+ "x-ms-enum": {
+ "name": "X12CharacterSet",
+ "modelAsString": true
+ }
+ },
+ "SegmentTerminatorSuffix": {
+ "type": "string",
+ "description": "The segment terminator suffix.",
+ "enum": [
+ "NotSpecified",
+ "None",
+ "CR",
+ "LF",
+ "CRLF"
+ ],
+ "x-ms-enum": {
+ "name": "SegmentTerminatorSuffix",
+ "modelAsString": false
+ }
+ },
+ "X12DateFormat": {
+ "type": "string",
+ "description": "The x12 date format.",
+ "enum": [
+ "NotSpecified",
+ "CCYYMMDD",
+ "YYMMDD"
+ ],
+ "x-ms-enum": {
+ "name": "X12DateFormat",
+ "modelAsString": true
+ }
+ },
+ "X12TimeFormat": {
+ "type": "string",
+ "description": "The x12 time format.",
+ "enum": [
+ "NotSpecified",
+ "HHMM",
+ "HHMMSS",
+ "HHMMSSdd",
+ "HHMMSSd"
+ ],
+ "x-ms-enum": {
+ "name": "X12TimeFormat",
+ "modelAsString": true
+ }
+ },
+ "UsageIndicator": {
+ "type": "string",
+ "description": "The usage indicator.",
+ "enum": [
+ "NotSpecified",
+ "Test",
+ "Information",
+ "Production"
+ ],
+ "x-ms-enum": {
+ "name": "UsageIndicator",
+ "modelAsString": true
+ }
+ },
+ "MessageFilterType": {
+ "type": "string",
+ "description": "The message filter type.",
+ "enum": [
+ "NotSpecified",
+ "Include",
+ "Exclude"
+ ],
+ "x-ms-enum": {
+ "name": "MessageFilterType",
+ "modelAsString": true
+ }
+ },
+ "HashingAlgorithm": {
+ "type": "string",
+ "description": "The signing or hashing algorithm.",
+ "enum": [
+ "NotSpecified",
+ "None",
+ "MD5",
+ "SHA1",
+ "SHA2256",
+ "SHA2384",
+ "SHA2512"
+ ],
+ "x-ms-enum": {
+ "name": "HashingAlgorithm",
+ "modelAsString": true
+ }
+ },
+ "EncryptionAlgorithm": {
+ "type": "string",
+ "description": "The encryption algorithm.",
+ "enum": [
+ "NotSpecified",
+ "None",
+ "DES3",
+ "RC2",
+ "AES128",
+ "AES192",
+ "AES256"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionAlgorithm",
+ "modelAsString": true
+ }
+ },
+ "SigningAlgorithm": {
+ "type": "string",
+ "description": "The signing or hashing algorithm.",
+ "enum": [
+ "NotSpecified",
+ "Default",
+ "SHA1",
+ "SHA2256",
+ "SHA2384",
+ "SHA2512"
+ ],
+ "x-ms-enum": {
+ "name": "SigningAlgorithm",
+ "modelAsString": true
+ }
+ },
+ "TrailingSeparatorPolicy": {
+ "type": "string",
+ "description": "The trailing separator policy.",
+ "enum": [
+ "NotSpecified",
+ "NotAllowed",
+ "Optional",
+ "Mandatory"
+ ],
+ "x-ms-enum": {
+ "name": "TrailingSeparatorPolicy",
+ "modelAsString": true
+ }
+ },
+ "EdifactAgreementContent": {
+ "type": "object",
+ "required": [
+ "receiveAgreement",
+ "sendAgreement"
+ ],
+ "properties": {
+ "receiveAgreement": {
+ "$ref": "#/definitions/EdifactOneWayAgreement",
+ "description": "The EDIFACT one-way receive agreement."
+ },
+ "sendAgreement": {
+ "$ref": "#/definitions/EdifactOneWayAgreement",
+ "description": "The EDIFACT one-way send agreement."
+ }
+ },
+ "description": "The Edifact agreement content."
+ },
+ "EdifactOneWayAgreement": {
+ "type": "object",
+ "required": [
+ "senderBusinessIdentity",
+ "receiverBusinessIdentity",
+ "protocolSettings"
+ ],
+ "properties": {
+ "senderBusinessIdentity": {
+ "$ref": "#/definitions/BusinessIdentity",
+ "description": "The sender business identity"
+ },
+ "receiverBusinessIdentity": {
+ "$ref": "#/definitions/BusinessIdentity",
+ "description": "The receiver business identity"
+ },
+ "protocolSettings": {
+ "$ref": "#/definitions/EdifactProtocolSettings",
+ "description": "The EDIFACT protocol settings."
+ }
+ },
+ "description": "The Edifact one way agreement."
+ },
+ "EdifactProtocolSettings": {
+ "type": "object",
+ "required": [
+ "validationSettings",
+ "framingSettings",
+ "envelopeSettings",
+ "acknowledgementSettings",
+ "messageFilter",
+ "processingSettings",
+ "schemaReferences"
+ ],
+ "properties": {
+ "validationSettings": {
+ "$ref": "#/definitions/EdifactValidationSettings",
+ "description": "The EDIFACT validation settings."
+ },
+ "framingSettings": {
+ "$ref": "#/definitions/EdifactFramingSettings",
+ "description": "The EDIFACT framing settings."
+ },
+ "envelopeSettings": {
+ "$ref": "#/definitions/EdifactEnvelopeSettings",
+ "description": "The EDIFACT envelope settings."
+ },
+ "acknowledgementSettings": {
+ "$ref": "#/definitions/EdifactAcknowledgementSettings",
+ "description": "The EDIFACT acknowledgement settings."
+ },
+ "messageFilter": {
+ "$ref": "#/definitions/EdifactMessageFilter",
+ "description": "The EDIFACT message filter."
+ },
+ "processingSettings": {
+ "$ref": "#/definitions/EdifactProcessingSettings",
+ "description": "The EDIFACT processing Settings."
+ },
+ "envelopeOverrides": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EdifactEnvelopeOverride"
+ },
+ "description": "The EDIFACT envelope override settings."
+ },
+ "messageFilterList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EdifactMessageIdentifier"
+ },
+ "description": "The EDIFACT message filter list."
+ },
+ "schemaReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EdifactSchemaReference"
+ },
+ "description": "The EDIFACT schema references."
+ },
+ "validationOverrides": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EdifactValidationOverride"
+ },
+ "description": "The EDIFACT validation override settings."
+ },
+ "edifactDelimiterOverrides": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EdifactDelimiterOverride"
+ },
+ "description": "The EDIFACT delimiter override settings."
+ }
+ },
+ "description": "The Edifact agreement protocol settings."
+ },
+ "EdifactValidationSettings": {
+ "type": "object",
+ "required": [
+ "validateCharacterSet",
+ "checkDuplicateInterchangeControlNumber",
+ "interchangeControlNumberValidityDays",
+ "checkDuplicateGroupControlNumber",
+ "checkDuplicateTransactionSetControlNumber",
+ "validateEDITypes",
+ "validateXSDTypes",
+ "allowLeadingAndTrailingSpacesAndZeroes",
+ "trimLeadingAndTrailingSpacesAndZeroes",
+ "trailingSeparatorPolicy"
+ ],
+ "properties": {
+ "validateCharacterSet": {
+ "type": "boolean",
+ "description": "The value indicating whether to validate character set in the message."
+ },
+ "checkDuplicateInterchangeControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to check for duplicate interchange control number."
+ },
+ "interchangeControlNumberValidityDays": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The validity period of interchange control number."
+ },
+ "checkDuplicateGroupControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to check for duplicate group control number."
+ },
+ "checkDuplicateTransactionSetControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to check for duplicate transaction set control number."
+ },
+ "validateEDITypes": {
+ "type": "boolean",
+ "description": "The value indicating whether to Whether to validate EDI types."
+ },
+ "validateXSDTypes": {
+ "type": "boolean",
+ "description": "The value indicating whether to Whether to validate XSD types."
+ },
+ "allowLeadingAndTrailingSpacesAndZeroes": {
+ "type": "boolean",
+ "description": "The value indicating whether to allow leading and trailing spaces and zeroes."
+ },
+ "trimLeadingAndTrailingSpacesAndZeroes": {
+ "type": "boolean",
+ "description": "The value indicating whether to trim leading and trailing spaces and zeroes."
+ },
+ "trailingSeparatorPolicy": {
+ "$ref": "#/definitions/TrailingSeparatorPolicy",
+ "description": "The trailing separator policy."
+ }
+ },
+ "description": "The Edifact agreement validation settings."
+ },
+ "EdifactFramingSettings": {
+ "type": "object",
+ "required": [
+ "protocolVersion",
+ "dataElementSeparator",
+ "componentSeparator",
+ "segmentTerminator",
+ "releaseIndicator",
+ "repetitionSeparator",
+ "characterSet",
+ "decimalPointIndicator",
+ "segmentTerminatorSuffix"
+ ],
+ "properties": {
+ "serviceCodeListDirectoryVersion": {
+ "type": "string",
+ "description": "The service code list directory version."
+ },
+ "characterEncoding": {
+ "type": "string",
+ "description": "The character encoding."
+ },
+ "protocolVersion": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The protocol version."
+ },
+ "dataElementSeparator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The data element separator."
+ },
+ "componentSeparator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The component separator."
+ },
+ "segmentTerminator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The segment terminator."
+ },
+ "releaseIndicator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The release indicator."
+ },
+ "repetitionSeparator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The repetition separator."
+ },
+ "characterSet": {
+ "$ref": "#/definitions/EdifactCharacterSet",
+ "description": "The EDIFACT frame setting characterSet."
+ },
+ "decimalPointIndicator": {
+ "$ref": "#/definitions/EdifactDecimalIndicator",
+ "description": "The EDIFACT frame setting decimal indicator."
+ },
+ "segmentTerminatorSuffix": {
+ "$ref": "#/definitions/SegmentTerminatorSuffix",
+ "description": "The EDIFACT frame setting segment terminator suffix."
+ }
+ },
+ "description": "The Edifact agreement framing settings."
+ },
+ "EdifactEnvelopeSettings": {
+ "type": "object",
+ "required": [
+ "applyDelimiterStringAdvice",
+ "createGroupingSegments",
+ "enableDefaultGroupHeaders",
+ "interchangeControlNumberLowerBound",
+ "interchangeControlNumberUpperBound",
+ "rolloverInterchangeControlNumber",
+ "groupControlNumberLowerBound",
+ "groupControlNumberUpperBound",
+ "rolloverGroupControlNumber",
+ "overwriteExistingTransactionSetControlNumber",
+ "transactionSetControlNumberLowerBound",
+ "transactionSetControlNumberUpperBound",
+ "rolloverTransactionSetControlNumber",
+ "isTestInterchange"
+ ],
+ "properties": {
+ "groupAssociationAssignedCode": {
+ "type": "string",
+ "description": "The group association assigned code."
+ },
+ "communicationAgreementId": {
+ "type": "string",
+ "description": "The communication agreement id."
+ },
+ "applyDelimiterStringAdvice": {
+ "type": "boolean",
+ "description": "The value indicating whether to apply delimiter string advice."
+ },
+ "createGroupingSegments": {
+ "type": "boolean",
+ "description": "The value indicating whether to create grouping segments."
+ },
+ "enableDefaultGroupHeaders": {
+ "type": "boolean",
+ "description": "The value indicating whether to enable default group headers."
+ },
+ "recipientReferencePasswordValue": {
+ "type": "string",
+ "description": "The recipient reference password value."
+ },
+ "recipientReferencePasswordQualifier": {
+ "type": "string",
+ "description": "The recipient reference password qualifier."
+ },
+ "applicationReferenceId": {
+ "type": "string",
+ "description": "The application reference id."
+ },
+ "processingPriorityCode": {
+ "type": "string",
+ "description": "The processing priority code."
+ },
+ "interchangeControlNumberLowerBound": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The interchange control number lower bound."
+ },
+ "interchangeControlNumberUpperBound": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The interchange control number upper bound."
+ },
+ "rolloverInterchangeControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to rollover interchange control number."
+ },
+ "interchangeControlNumberPrefix": {
+ "type": "string",
+ "description": "The interchange control number prefix."
+ },
+ "interchangeControlNumberSuffix": {
+ "type": "string",
+ "description": "The interchange control number suffix."
+ },
+ "senderReverseRoutingAddress": {
+ "type": "string",
+ "description": "The sender reverse routing address."
+ },
+ "receiverReverseRoutingAddress": {
+ "type": "string",
+ "description": "The receiver reverse routing address."
+ },
+ "functionalGroupId": {
+ "type": "string",
+ "description": "The functional group id."
+ },
+ "groupControllingAgencyCode": {
+ "type": "string",
+ "description": "The group controlling agency code."
+ },
+ "groupMessageVersion": {
+ "type": "string",
+ "description": "The group message version."
+ },
+ "groupMessageRelease": {
+ "type": "string",
+ "description": "The group message release."
+ },
+ "groupControlNumberLowerBound": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The group control number lower bound."
+ },
+ "groupControlNumberUpperBound": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The group control number upper bound."
+ },
+ "rolloverGroupControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to rollover group control number."
+ },
+ "groupControlNumberPrefix": {
+ "type": "string",
+ "description": "The group control number prefix."
+ },
+ "groupControlNumberSuffix": {
+ "type": "string",
+ "description": "The group control number suffix."
+ },
+ "groupApplicationReceiverQualifier": {
+ "type": "string",
+ "description": "The group application receiver qualifier."
+ },
+ "groupApplicationReceiverId": {
+ "type": "string",
+ "description": "The group application receiver id."
+ },
+ "groupApplicationSenderQualifier": {
+ "type": "string",
+ "description": "The group application sender qualifier."
+ },
+ "groupApplicationSenderId": {
+ "type": "string",
+ "description": "The group application sender id."
+ },
+ "groupApplicationPassword": {
+ "type": "string",
+ "description": "The group application password."
+ },
+ "overwriteExistingTransactionSetControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to overwrite existing transaction set control number."
+ },
+ "transactionSetControlNumberPrefix": {
+ "type": "string",
+ "description": "The transaction set control number prefix."
+ },
+ "transactionSetControlNumberSuffix": {
+ "type": "string",
+ "description": "The transaction set control number suffix."
+ },
+ "transactionSetControlNumberLowerBound": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The transaction set control number lower bound."
+ },
+ "transactionSetControlNumberUpperBound": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The transaction set control number upper bound."
+ },
+ "rolloverTransactionSetControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to rollover transaction set control number."
+ },
+ "isTestInterchange": {
+ "type": "boolean",
+ "description": "The value indicating whether the message is a test interchange."
+ },
+ "senderInternalIdentification": {
+ "type": "string",
+ "description": "The sender internal identification."
+ },
+ "senderInternalSubIdentification": {
+ "type": "string",
+ "description": "The sender internal sub identification."
+ },
+ "receiverInternalIdentification": {
+ "type": "string",
+ "description": "The receiver internal identification."
+ },
+ "receiverInternalSubIdentification": {
+ "type": "string",
+ "description": "The receiver internal sub identification."
+ }
+ },
+ "description": "The Edifact agreement envelope settings."
+ },
+ "EdifactAcknowledgementSettings": {
+ "type": "object",
+ "required": [
+ "needTechnicalAcknowledgement",
+ "batchTechnicalAcknowledgements",
+ "needFunctionalAcknowledgement",
+ "batchFunctionalAcknowledgements",
+ "needLoopForValidMessages",
+ "sendSynchronousAcknowledgement",
+ "acknowledgementControlNumberLowerBound",
+ "acknowledgementControlNumberUpperBound",
+ "rolloverAcknowledgementControlNumber"
+ ],
+ "properties": {
+ "needTechnicalAcknowledgement": {
+ "type": "boolean",
+ "description": "The value indicating whether technical acknowledgement is needed."
+ },
+ "batchTechnicalAcknowledgements": {
+ "type": "boolean",
+ "description": "The value indicating whether to batch the technical acknowledgements."
+ },
+ "needFunctionalAcknowledgement": {
+ "type": "boolean",
+ "description": "The value indicating whether functional acknowledgement is needed."
+ },
+ "batchFunctionalAcknowledgements": {
+ "type": "boolean",
+ "description": "The value indicating whether to batch functional acknowledgements."
+ },
+ "needLoopForValidMessages": {
+ "type": "boolean",
+ "description": "The value indicating whether a loop is needed for valid messages."
+ },
+ "sendSynchronousAcknowledgement": {
+ "type": "boolean",
+ "description": "The value indicating whether to send synchronous acknowledgement."
+ },
+ "acknowledgementControlNumberPrefix": {
+ "type": "string",
+ "description": "The acknowledgement control number prefix."
+ },
+ "acknowledgementControlNumberSuffix": {
+ "type": "string",
+ "description": "The acknowledgement control number suffix."
+ },
+ "acknowledgementControlNumberLowerBound": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The acknowledgement control number lower bound."
+ },
+ "acknowledgementControlNumberUpperBound": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The acknowledgement control number upper bound."
+ },
+ "rolloverAcknowledgementControlNumber": {
+ "type": "boolean",
+ "description": "The value indicating whether to rollover acknowledgement control number."
+ }
+ },
+ "description": "The Edifact agreement acknowledgement settings."
+ },
+ "EdifactMessageFilter": {
+ "type": "object",
+ "required": [
+ "messageFilterType"
+ ],
+ "properties": {
+ "messageFilterType": {
+ "$ref": "#/definitions/MessageFilterType",
+ "description": "The message filter type."
+ }
+ },
+ "description": "The Edifact message filter for odata query."
+ },
+ "EdifactProcessingSettings": {
+ "type": "object",
+ "required": [
+ "maskSecurityInfo",
+ "preserveInterchange",
+ "suspendInterchangeOnError",
+ "createEmptyXmlTagsForTrailingSeparators",
+ "useDotAsDecimalSeparator"
+ ],
+ "properties": {
+ "maskSecurityInfo": {
+ "type": "boolean",
+ "description": "The value indicating whether to mask security information."
+ },
+ "preserveInterchange": {
+ "type": "boolean",
+ "description": "The value indicating whether to preserve interchange."
+ },
+ "suspendInterchangeOnError": {
+ "type": "boolean",
+ "description": "The value indicating whether to suspend interchange on error."
+ },
+ "createEmptyXmlTagsForTrailingSeparators": {
+ "type": "boolean",
+ "description": "The value indicating whether to create empty xml tags for trailing separators."
+ },
+ "useDotAsDecimalSeparator": {
+ "type": "boolean",
+ "description": "The value indicating whether to use dot as decimal separator."
+ }
+ },
+ "description": "The Edifact agreement protocol settings."
+ },
+ "EdifactEnvelopeOverride": {
+ "type": "object",
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "description": "The message id on which this envelope settings has to be applied."
+ },
+ "messageVersion": {
+ "type": "string",
+ "description": "The message version on which this envelope settings has to be applied."
+ },
+ "messageRelease": {
+ "type": "string",
+ "description": "The message release version on which this envelope settings has to be applied."
+ },
+ "messageAssociationAssignedCode": {
+ "type": "string",
+ "description": "The message association assigned code."
+ },
+ "targetNamespace": {
+ "type": "string",
+ "description": "The target namespace on which this envelope settings has to be applied."
+ },
+ "functionalGroupId": {
+ "type": "string",
+ "description": "The functional group id."
+ },
+ "senderApplicationQualifier": {
+ "type": "string",
+ "description": "The sender application qualifier."
+ },
+ "senderApplicationId": {
+ "type": "string",
+ "description": "The sender application id."
+ },
+ "receiverApplicationQualifier": {
+ "type": "string",
+ "description": "The receiver application qualifier."
+ },
+ "receiverApplicationId": {
+ "type": "string",
+ "description": "The receiver application id."
+ },
+ "controllingAgencyCode": {
+ "type": "string",
+ "description": "The controlling agency code."
+ },
+ "groupHeaderMessageVersion": {
+ "type": "string",
+ "description": "The group header message version."
+ },
+ "groupHeaderMessageRelease": {
+ "type": "string",
+ "description": "The group header message release."
+ },
+ "associationAssignedCode": {
+ "type": "string",
+ "description": "The association assigned code."
+ },
+ "applicationPassword": {
+ "type": "string",
+ "description": "The application password."
+ }
+ },
+ "description": "The Edifact envelope override settings."
+ },
+ "EdifactMessageIdentifier": {
+ "type": "object",
+ "required": [
+ "messageId"
+ ],
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "description": "The message id on which this envelope settings has to be applied."
+ }
+ },
+ "description": "The Edifact message identifier."
+ },
+ "EdifactSchemaReference": {
+ "type": "object",
+ "required": [
+ "messageId",
+ "messageVersion",
+ "messageRelease",
+ "schemaName"
+ ],
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "description": "The message id."
+ },
+ "messageVersion": {
+ "type": "string",
+ "description": "The message version."
+ },
+ "messageRelease": {
+ "type": "string",
+ "description": "The message release version."
+ },
+ "senderApplicationId": {
+ "type": "string",
+ "description": "The sender application id."
+ },
+ "senderApplicationQualifier": {
+ "type": "string",
+ "description": "The sender application qualifier."
+ },
+ "associationAssignedCode": {
+ "type": "string",
+ "description": "The association assigned code."
+ },
+ "schemaName": {
+ "type": "string",
+ "description": "The schema name."
+ }
+ },
+ "description": "The Edifact schema reference."
+ },
+ "EdifactValidationOverride": {
+ "type": "object",
+ "required": [
+ "messageId",
+ "enforceCharacterSet",
+ "validateEDITypes",
+ "validateXSDTypes",
+ "allowLeadingAndTrailingSpacesAndZeroes",
+ "trailingSeparatorPolicy",
+ "trimLeadingAndTrailingSpacesAndZeroes"
+ ],
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "description": "The message id on which the validation settings has to be applied."
+ },
+ "enforceCharacterSet": {
+ "type": "boolean",
+ "description": "The value indicating whether to validate character Set."
+ },
+ "validateEDITypes": {
+ "type": "boolean",
+ "description": "The value indicating whether to validate EDI types."
+ },
+ "validateXSDTypes": {
+ "type": "boolean",
+ "description": "The value indicating whether to validate XSD types."
+ },
+ "allowLeadingAndTrailingSpacesAndZeroes": {
+ "type": "boolean",
+ "description": "The value indicating whether to allow leading and trailing spaces and zeroes."
+ },
+ "trailingSeparatorPolicy": {
+ "$ref": "#/definitions/TrailingSeparatorPolicy",
+ "description": "The trailing separator policy."
+ },
+ "trimLeadingAndTrailingSpacesAndZeroes": {
+ "type": "boolean",
+ "description": "The value indicating whether to trim leading and trailing spaces and zeroes."
+ }
+ },
+ "description": "The Edifact validation override settings."
+ },
+ "EdifactDelimiterOverride": {
+ "type": "object",
+ "required": [
+ "dataElementSeparator",
+ "componentSeparator",
+ "segmentTerminator",
+ "repetitionSeparator",
+ "segmentTerminatorSuffix",
+ "decimalPointIndicator",
+ "releaseIndicator"
+ ],
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "description": "The message id."
+ },
+ "messageVersion": {
+ "type": "string",
+ "description": "The message version."
+ },
+ "messageRelease": {
+ "type": "string",
+ "description": "The message release."
+ },
+ "dataElementSeparator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The data element separator."
+ },
+ "componentSeparator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The component separator."
+ },
+ "segmentTerminator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The segment terminator."
+ },
+ "repetitionSeparator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The repetition separator."
+ },
+ "segmentTerminatorSuffix": {
+ "$ref": "#/definitions/SegmentTerminatorSuffix",
+ "description": "The segment terminator suffix."
+ },
+ "decimalPointIndicator": {
+ "$ref": "#/definitions/EdifactDecimalIndicator",
+ "description": "The decimal point indicator."
+ },
+ "releaseIndicator": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The release indicator."
+ },
+ "messageAssociationAssignedCode": {
+ "type": "string",
+ "description": "The message association assigned code."
+ },
+ "targetNamespace": {
+ "type": "string",
+ "description": "The target namespace on which this delimiter settings has to be applied."
+ }
+ },
+ "description": "The Edifact delimiter override settings."
+ },
+ "EdifactCharacterSet": {
+ "type": "string",
+ "description": "The edifact character set.",
+ "enum": [
+ "NotSpecified",
+ "UNOB",
+ "UNOA",
+ "UNOC",
+ "UNOD",
+ "UNOE",
+ "UNOF",
+ "UNOG",
+ "UNOH",
+ "UNOI",
+ "UNOJ",
+ "UNOK",
+ "UNOX",
+ "UNOY",
+ "KECA"
+ ],
+ "x-ms-enum": {
+ "name": "EdifactCharacterSet",
+ "modelAsString": true
+ }
+ },
+ "EdifactDecimalIndicator": {
+ "type": "string",
+ "description": "The edifact decimal indicator.",
+ "enum": [
+ "NotSpecified",
+ "Comma",
+ "Decimal"
+ ],
+ "x-ms-enum": {
+ "name": "EdifactDecimalIndicator",
+ "modelAsString": false
+ }
+ },
+ "IntegrationAccountCertificateListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationAccountCertificate"
+ },
+ "description": "The list of integration account certificates."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of integration account certificates."
+ },
+ "IntegrationAccountCertificate": {
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IntegrationAccountCertificateProperties",
+ "description": "The integration account certificate properties."
+ }
+ },
+ "description": "The integration account certificate.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "IntegrationAccountCertificateProperties": {
+ "type": "object",
+ "properties": {
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The created time."
+ },
+ "changedTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The changed time."
+ },
+ "metadata": {
+ "type": "object",
+ "description": "The metadata.",
+ "properties": {}
+ },
+ "key": {
+ "$ref": "#/definitions/KeyVaultKeyReference",
+ "description": "The key details in the key vault."
+ },
+ "publicCertificate": {
+ "type": "string",
+ "description": "The public certificate."
+ }
+ },
+ "description": "The integration account certificate properties."
+ },
+ "KeyVaultKeyReference": {
+ "type": "object",
+ "required": [
+ "keyVault",
+ "keyName"
+ ],
+ "properties": {
+ "keyVault": {
+ "type": "object",
+ "description": "The key vault reference.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The resource id."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource type."
+ }
+ }
+ },
+ "keyName": {
+ "type": "string",
+ "description": "The private key name in key vault."
+ },
+ "keyVersion": {
+ "type": "string",
+ "description": "The private key version in key vault."
+ }
+ },
+ "description": "The reference to the key vault key."
+ },
+ "IntegrationAccountSessionFilter": {
+ "type": "object",
+ "required": [
+ "changedTime"
+ ],
+ "properties": {
+ "changedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The changed time of integration account sessions."
+ }
+ },
+ "description": "The integration account session filter."
+ },
+ "IntegrationAccountSessionListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationAccountSession"
+ },
+ "description": "The list of integration account sessions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of integration account sessions."
+ },
+ "IntegrationAccountSession": {
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IntegrationAccountSessionProperties",
+ "description": "The integration account session properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "The integration account session."
+ },
+ "IntegrationAccountSessionProperties": {
+ "type": "object",
+ "properties": {
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The created time."
+ },
+ "changedTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The changed time."
+ },
+ "content": {
+ "$ref": "#/definitions/Object",
+ "description": "The session content."
+ }
+ },
+ "description": "The integration account session properties."
+ },
+ "Operation": {
+ "description": "Logic REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "type": "object",
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.Logic",
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list Logic 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 Logic operations supported by the Logic resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates Logic service is not able to process the incoming request. The error property contains the error details.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorProperties",
+ "description": "The error properties."
+ }
+ }
+ },
+ "ErrorProperties": {
+ "description": "Error properties indicate why the Logic service was not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "ListKeyVaultKeysDefinition": {
+ "type": "object",
+ "description": "The list key vault keys definition.",
+ "additionalProperties": false,
+ "required": [
+ "keyVault"
+ ],
+ "properties": {
+ "keyVault": {
+ "$ref": "#/definitions/KeyVaultReference",
+ "description": "The key vault reference."
+ },
+ "skipToken": {
+ "type": "string",
+ "description": "The skip token."
+ }
+ }
+ },
+ "KeyVaultReference": {
+ "type": "object",
+ "description": "The key vault reference.",
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The key vault name."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceReference"
+ }
+ ]
+ },
+ "KeyVaultKeyCollection": {
+ "type": "object",
+ "description": "Collection of key vault keys.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyVaultKey"
+ },
+ "description": "The key vault keys."
+ },
+ "skipToken": {
+ "type": "string",
+ "description": "The skip token."
+ }
+ }
+ },
+ "KeyVaultKey": {
+ "type": "object",
+ "description": "The key vault key.",
+ "properties": {
+ "kid": {
+ "type": "string",
+ "description": "The key id."
+ },
+ "attributes": {
+ "type": "object",
+ "description": "The key attributes.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the key is enabled or not."
+ },
+ "created": {
+ "type": "integer",
+ "format": "int64",
+ "description": "When the key was created."
+ },
+ "updated": {
+ "type": "integer",
+ "format": "int64",
+ "description": "When the key was updated."
+ }
+ }
+ }
+ }
+ },
+ "TrackingEventsDefinition": {
+ "type": "object",
+ "description": "The tracking events definition.",
+ "additionalProperties": false,
+ "required": [
+ "sourceType",
+ "events"
+ ],
+ "properties": {
+ "sourceType": {
+ "description": "The source type.",
+ "type": "string"
+ },
+ "trackEventsOptions": {
+ "description": "The track events options.",
+ "$ref": "#/definitions/TrackEventsOperationOptions"
+ },
+ "events": {
+ "type": "array",
+ "description": "The events.",
+ "items": {
+ "$ref": "#/definitions/TrackingEvent"
+ }
+ }
+ }
+ },
+ "TrackEventsOperationOptions": {
+ "type": "string",
+ "enum": [
+ "None",
+ "DisableSourceInfoEnrich"
+ ],
+ "x-ms-enum": {
+ "name": "TrackEventsOperationOptions",
+ "modelAsString": true
+ },
+ "description": "The track events operation options."
+ },
+ "TrackingEvent": {
+ "type": "object",
+ "description": "The tracking event.",
+ "additionalProperties": false,
+ "required": [
+ "eventLevel",
+ "eventTime",
+ "recordType"
+ ],
+ "properties": {
+ "eventLevel": {
+ "description": "The event level.",
+ "$ref": "#/definitions/EventLevel"
+ },
+ "eventTime": {
+ "type": "string",
+ "description": "The event time.",
+ "format": "date-time"
+ },
+ "recordType": {
+ "description": "The record type.",
+ "$ref": "#/definitions/TrackingRecordType"
+ },
+ "error": {
+ "description": "The error.",
+ "$ref": "#/definitions/TrackingEventErrorInfo"
+ }
+ }
+ },
+ "EventLevel": {
+ "type": "string",
+ "enum": [
+ "LogAlways",
+ "Critical",
+ "Error",
+ "Warning",
+ "Informational",
+ "Verbose"
+ ],
+ "x-ms-enum": {
+ "name": "EventLevel",
+ "modelAsString": false
+ },
+ "description": "The event level."
+ },
+ "TrackingRecordType": {
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Custom",
+ "AS2Message",
+ "AS2MDN",
+ "X12Interchange",
+ "X12FunctionalGroup",
+ "X12TransactionSet",
+ "X12InterchangeAcknowledgment",
+ "X12FunctionalGroupAcknowledgment",
+ "X12TransactionSetAcknowledgment",
+ "EdifactInterchange",
+ "EdifactFunctionalGroup",
+ "EdifactTransactionSet",
+ "EdifactInterchangeAcknowledgment",
+ "EdifactFunctionalGroupAcknowledgment",
+ "EdifactTransactionSetAcknowledgment"
+ ],
+ "x-ms-enum": {
+ "name": "TrackingRecordType",
+ "modelAsString": true
+ },
+ "description": "The tracking record type."
+ },
+ "TrackingEventErrorInfo": {
+ "type": "object",
+ "description": "The tracking event error info.",
+ "additionalProperties": false,
+ "properties": {
+ "message": {
+ "description": "The message.",
+ "type": "string"
+ },
+ "code": {
+ "description": "The code.",
+ "type": "string"
+ }
+ }
+ },
+ "SetTriggerStateActionDefinition": {
+ "type": "object",
+ "description": "The set trigger state action definition.",
+ "additionalProperties": false,
+ "required": [
+ "source"
+ ],
+ "properties": {
+ "source": {
+ "description": "The source.",
+ "$ref": "#/definitions/WorkflowTrigger"
+ }
+ }
+ },
+ "ExpressionTraces": {
+ "description": "The expression traces.",
+ "type": "object",
+ "properties": {
+ "inputs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressionRoot"
+ }
+ }
+ }
+ },
+ "ExpressionRoot": {
+ "description": "The expression root.",
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Expression"
+ }
+ ]
+ },
+ "Expression": {
+ "description": "The expression.",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "text": {
+ "description": "The text.",
+ "type": "string"
+ },
+ "value": {},
+ "subexpressions": {
+ "type": "array",
+ "description": "The sub expressions.",
+ "items": {
+ "$ref": "#/definitions/Expression"
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/AzureResourceErrorInfo"
+ }
+ }
+ },
+ "AzureResourceErrorInfo": {
+ "type": "object",
+ "description": "The azure resource error info.",
+ "additionalProperties": false,
+ "required": [
+ "message"
+ ],
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureResourceErrorInfo"
+ },
+ "description": "The error details."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ErrorInfo"
+ }
+ ]
+ },
+ "ErrorInfo": {
+ "type": "object",
+ "description": "The error info.",
+ "additionalProperties": false,
+ "required": [
+ "code"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ }
+ }
+ },
+ "WorkflowRunActionRepetitionDefinitionCollection": {
+ "type": "object",
+ "description": "A collection of workflow run action repetitions.",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of recommendations.",
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkflowRunActionRepetitionDefinition"
+ }
+ }
+ }
+ },
+ "WorkflowRunActionRepetitionDefinition": {
+ "type": "object",
+ "description": "The workflow run action repetition definition.",
+ "additionalProperties": false,
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WorkflowRunActionRepetitionProperties",
+ "description": "The workflow run action repetition properties definition.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "WorkflowRunActionRepetitionProperties": {
+ "type": "object",
+ "description": "The workflow run action repetition properties definition.",
+ "additionalProperties": false,
+ "properties": {
+ "repetitionIndexes": {
+ "type": "array",
+ "description": "The repetition indexes.",
+ "items": {
+ "$ref": "#/definitions/RepetitionIndex"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationResult"
+ }
+ ]
+ },
+ "RepetitionIndex": {
+ "type": "object",
+ "description": "The workflow run action repetition index.",
+ "additionalProperties": false,
+ "required": [
+ "itemIndex"
+ ],
+ "properties": {
+ "scopeName": {
+ "type": "string",
+ "description": "The scope."
+ },
+ "itemIndex": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The index."
+ }
+ }
+ },
+ "OperationResult": {
+ "type": "object",
+ "description": "The operation result definition.",
+ "additionalProperties": false,
+ "properties": {
+ "trackingId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the tracking id."
+ },
+ "inputs": {
+ "$ref": "#/definitions/Object",
+ "readOnly": true,
+ "description": "Gets the inputs."
+ },
+ "inputsLink": {
+ "$ref": "#/definitions/ContentLink",
+ "readOnly": true,
+ "description": "Gets the link to inputs."
+ },
+ "outputs": {
+ "$ref": "#/definitions/Object",
+ "readOnly": true,
+ "description": "Gets the outputs."
+ },
+ "outputsLink": {
+ "$ref": "#/definitions/ContentLink",
+ "readOnly": true,
+ "description": "Gets the link to outputs."
+ },
+ "trackedProperties": {
+ "$ref": "#/definitions/Object",
+ "readOnly": true,
+ "description": "Gets the tracked properties."
+ },
+ "retryHistory": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RetryHistory"
+ },
+ "description": "Gets the retry histories."
+ },
+ "iterationCount": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationResultProperties"
+ }
+ ]
+ },
+ "OperationResultProperties": {
+ "type": "object",
+ "x-abstract": true,
+ "description": "The run operation result properties.",
+ "additionalProperties": false,
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time of the workflow scope repetition."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time of the workflow scope repetition."
+ },
+ "correlation": {
+ "$ref": "#/definitions/RunActionCorrelation",
+ "description": "The correlation properties."
+ },
+ "status": {
+ "$ref": "#/definitions/WorkflowStatus",
+ "description": "The status of the workflow scope repetition."
+ },
+ "code": {
+ "type": "string",
+ "description": "The workflow scope repetition code."
+ },
+ "error": {}
+ }
+ },
+ "RunActionCorrelation": {
+ "type": "object",
+ "description": "The workflow run action correlation properties.",
+ "additionalProperties": false,
+ "properties": {
+ "actionTrackingId": {
+ "type": "string",
+ "description": "The action tracking identifier."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/RunCorrelation"
+ }
+ ]
+ },
+ "RunCorrelation": {
+ "type": "object",
+ "description": "The correlation properties.",
+ "additionalProperties": false,
+ "properties": {
+ "clientTrackingId": {
+ "type": "string",
+ "description": "The client tracking identifier."
+ },
+ "clientKeywords": {
+ "type": "array",
+ "description": "The client keywords.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "JsonSchema": {
+ "type": "object",
+ "description": "The JSON schema.",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "The JSON title."
+ },
+ "content": {
+ "type": "string",
+ "description": "The JSON content."
+ }
+ }
+ },
+ "AssemblyCollection": {
+ "type": "object",
+ "description": "A collection of assembly definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AssemblyDefinition"
+ }
+ }
+ }
+ },
+ "AssemblyDefinition": {
+ "type": "object",
+ "description": "The assembly definition.",
+ "additionalProperties": false,
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AssemblyProperties",
+ "description": "The assembly properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "AssemblyProperties": {
+ "type": "object",
+ "description": "The assembly properties definition.",
+ "additionalProperties": false,
+ "required": [
+ "assemblyName"
+ ],
+ "properties": {
+ "assemblyName": {
+ "type": "string",
+ "description": "The assembly name."
+ },
+ "assemblyVersion": {
+ "type": "string",
+ "description": "The assembly version."
+ },
+ "assemblyCulture": {
+ "type": "string",
+ "description": "The assembly culture."
+ },
+ "assemblyPublicKeyToken": {
+ "type": "string",
+ "description": "The assembly public key token."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ArtifactContentPropertiesDefinition"
+ }
+ ]
+ },
+ "ArtifactContentPropertiesDefinition": {
+ "type": "object",
+ "additionalProperties": false,
+ "description": "The artifact content properties definition.",
+ "properties": {
+ "content": {},
+ "contentType": {
+ "type": "string",
+ "description": "The content type."
+ },
+ "contentLink": {
+ "$ref": "#/definitions/ContentLink",
+ "description": "The content link."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ArtifactProperties"
+ }
+ ]
+ },
+ "ArtifactProperties": {
+ "type": "object",
+ "additionalProperties": false,
+ "description": "The artifact properties definition.",
+ "properties": {
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The artifact creation time."
+ },
+ "changedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The artifact changed time."
+ },
+ "metadata": {}
+ }
+ },
+ "BatchConfigurationCollection": {
+ "type": "object",
+ "description": "A collection of batch configurations.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BatchConfiguration"
+ }
+ }
+ }
+ },
+ "BatchConfiguration": {
+ "type": "object",
+ "description": "The batch configuration resource definition.",
+ "additionalProperties": false,
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BatchConfigurationProperties",
+ "description": "The batch configuration properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "BatchConfigurationProperties": {
+ "type": "object",
+ "description": "The batch configuration properties definition.",
+ "additionalProperties": false,
+ "required": [
+ "batchGroupName",
+ "releaseCriteria"
+ ],
+ "properties": {
+ "batchGroupName": {
+ "type": "string",
+ "description": "The name of the batch group."
+ },
+ "releaseCriteria": {
+ "$ref": "#/definitions/BatchReleaseCriteria",
+ "description": "The batch release criteria."
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The created time."
+ },
+ "changedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The changed time."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ArtifactProperties"
+ }
+ ]
+ },
+ "BatchReleaseCriteria": {
+ "type": "object",
+ "additionalProperties": false,
+ "description": "The batch release criteria.",
+ "properties": {
+ "messageCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The message count."
+ },
+ "batchSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The batch size in bytes."
+ },
+ "recurrence": {
+ "$ref": "#/definitions/WorkflowTriggerRecurrence",
+ "description": "The recurrence."
+ }
+ }
+ },
+ "RequestHistoryListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RequestHistory"
+ },
+ "description": "A list of workflow request histories."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of workflow request histories."
+ },
+ "RequestHistory": {
+ "type": "object",
+ "additionalProperties": false,
+ "description": "The request history.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RequestHistoryProperties",
+ "description": "The request history properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "RequestHistoryProperties": {
+ "type": "object",
+ "additionalProperties": false,
+ "description": "The request history.",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time the request started."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time the request ended."
+ },
+ "request": {
+ "$ref": "#/definitions/Request",
+ "description": "The request."
+ },
+ "response": {
+ "$ref": "#/definitions/Response",
+ "description": "The response."
+ }
+ }
+ },
+ "Request": {
+ "type": "object",
+ "additionalProperties": false,
+ "description": "A request.",
+ "properties": {
+ "headers": {
+ "$ref": "#/definitions/Object",
+ "description": "A list of all the headers attached to the request."
+ },
+ "uri": {
+ "type": "string",
+ "description": "The destination for the request."
+ },
+ "method": {
+ "type": "string",
+ "description": "The HTTP method used for the request."
+ }
+ }
+ },
+ "Response": {
+ "type": "object",
+ "additionalProperties": false,
+ "description": "A response.",
+ "properties": {
+ "headers": {
+ "$ref": "#/definitions/Object",
+ "description": "A list of all the headers attached to the response."
+ },
+ "statusCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The status code of the response."
+ },
+ "bodyLink": {
+ "$ref": "#/definitions/ContentLink",
+ "description": "Details on the location of the body content."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "description": "The subscription id.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ "api-version": {
+ "name": "api-version",
+ "description": "The API version.",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ }
+ }
+}
diff --git a/specification/logic/resource-manager/readme.go.md b/specification/logic/resource-manager/readme.go.md
index d87c46ba2ec1..76c155f71d2f 100644
--- a/specification/logic/resource-manager/readme.go.md
+++ b/specification/logic/resource-manager/readme.go.md
@@ -13,12 +13,22 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-05
- tag: package-2018-07-preview
- tag: package-2016-06
- tag: package-2015-08-preview
- tag: package-2015-02-preview
```
+### Tag: package-2019-05 and go
+
+These settings apply only when `--tag=package-2019-05 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-05' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-05-01/$(namespace)
+```
+
### Tag: package-2018-07-preview and go
These settings apply only when `--tag=package-2018-07-preview --go` is specified on the command line.
diff --git a/specification/logic/resource-manager/readme.md b/specification/logic/resource-manager/readme.md
index 0e6fe5735d03..ec1c96cfa4b0 100644
--- a/specification/logic/resource-manager/readme.md
+++ b/specification/logic/resource-manager/readme.md
@@ -25,7 +25,7 @@ These are the global settings for the Logic API.
``` yaml
openapi-type: arm
-tag: package-2018-07-preview
+tag: package-2019-05
directive:
- where:
@@ -39,9 +39,18 @@ directive:
```
+### Tag: package-2019-05
+
+These settings apply only when `--tag=package-2019-05` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-05'
+input-file:
+- Microsoft.Logic/stable/2019-05-01/logic.json
+```
+
### Tag: package-2018-07-preview
-These settings apply only when `--package-2018-07-preview` is specified on the command line.
+These settings apply only when `--tag=package-2018-07-preview` is specified on the command line.
``` yaml $(tag) == 'package-2018-07-preview'
input-file:
@@ -192,10 +201,22 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-logic
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2019-05
- tag: package-2018-07-preview
- tag: package-2016-06
```
+### Tag: package-2019-05 and java
+These settings apply only when `--tag=package-2019-05 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-05' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.logic.v2019_05_01
+ output-folder: $(azure-libraries-for-java-folder)/logic/resource-manager/v2019_05_01
+regenerate-manager: true
+generate-interface: true
+```
### Tag: package-2018-07-preview and java
These settings apply only when `--tag=package-2018-07-preview --java` is specified on the command line.
@@ -234,6 +255,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Logic/stable/2019-05-01/logic.json
- $(this-folder)/Microsoft.Logic/preview/2018-07-01-preview/logic.json
- $(this-folder)/Microsoft.Logic/stable/2016-06-01/logic.json
- $(this-folder)/Microsoft.Logic/preview/2015-08-01-preview/logic.json
diff --git a/specification/logic/resource-manager/readme.ruby.md b/specification/logic/resource-manager/readme.ruby.md
index fc2185ca789a..2e56bce208ac 100644
--- a/specification/logic/resource-manager/readme.ruby.md
+++ b/specification/logic/resource-manager/readme.ruby.md
@@ -12,11 +12,22 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2019-05
- tag: package-2018-07-preview
- tag: package-2016-06
- tag: package-2015-02-preview
```
+### Tag: package-2019-05 and ruby
+
+These settings apply only when `--tag=package-2019-05 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-05' && $(ruby)
+namespace: "Azure::Logic::Mgmt::V2019-05-01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_logic/lib
+```
+
### Tag: package-2018-07-preview and ruby
These settings apply only when `--tag=package-2018-07-preview --ruby` is specified on the command line.
diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/artifact.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/artifact.json
new file mode 100644
index 000000000000..dc432c7e3d02
--- /dev/null
+++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/artifact.json
@@ -0,0 +1,1546 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-09-30",
+ "title": "Artifact API"
+ },
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/metadata": {
+ "post": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Create Artifact.",
+ "description": "Create an Artifact.",
+ "operationId": "Artifacts_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "artifact",
+ "in": "body",
+ "description": "The Artifact details.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Artifact"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Artifact is created successfully.",
+ "schema": {
+ "$ref": "#/definitions/Artifact"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/register": {
+ "post": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Create an Artifact for an existing data location.",
+ "description": "Create an Artifact for an existing dataPath.",
+ "operationId": "Artifacts_Register",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "artifact",
+ "in": "body",
+ "description": "The Artifact creation details.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Artifact"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Artifact is created successfully.",
+ "schema": {
+ "$ref": "#/definitions/Artifact"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/metadata": {
+ "get": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Get Artifact metadata by Id.",
+ "description": "Get Artifact metadata for a specific Id.",
+ "operationId": "Artifacts_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The details of the Artifact are returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/Artifact"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Delete Artifact Metadata.",
+ "description": "Delete an Artifact Metadata.",
+ "operationId": "Artifacts_DeleteMetaData",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "hardDelete",
+ "in": "query",
+ "description": "If set to true. The delete cannot be revert at later time.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Artifact metadata deleted successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}": {
+ "get": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Get Artifacts metadata in a container or path.",
+ "description": "Get Artifacts metadata in a specific container or path.",
+ "operationId": "Artifacts_ListInContainer",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "continuationToken",
+ "in": "query",
+ "description": "The continuation token.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The details of the Artifacts are returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/PaginatedArtifactList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/content": {
+ "get": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Get Artifact content by Id.",
+ "description": "Get Artifact content of a specific Id.",
+ "operationId": "Artifacts_Download",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/octet-stream"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "File Response",
+ "schema": {
+ "format": "byte",
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Upload Artifact content.",
+ "description": "Upload content to an Artifact.",
+ "operationId": "Artifacts_Upload",
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "index",
+ "in": "query",
+ "description": "The index.",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "append",
+ "in": "query",
+ "description": "Whether or not to append the content or replace it.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "name": "allowOverwrite",
+ "in": "query",
+ "description": "whether to allow overwrite if Artifact Content exist already. when set to true, Overwrite happens if Artifact Content already exists",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "name": "content",
+ "in": "body",
+ "description": "The file upload.",
+ "required": true,
+ "schema": {
+ "format": "binary",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Artifact content is uploaded successfully.",
+ "schema": {
+ "$ref": "#/definitions/Artifact"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/contentinfo": {
+ "get": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Get Artifact content information.",
+ "description": "Get content information of an Artifact.",
+ "operationId": "Artifacts_GetContentInformation",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Artifact content information is returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ArtifactContentInformation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/contentinfo/storageuri": {
+ "get": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Get Artifact storage content information.",
+ "description": "Get storage content information of an Artifact.",
+ "operationId": "Artifacts_GetStorageContentInformation",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Artifact storage content information is returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ArtifactContentInformation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/write": {
+ "get": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Get writable shared access signature for Artifact.",
+ "description": "Get writable shared access signature for a specific Artifact.",
+ "operationId": "Artifacts_GetSas",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Artifact writable shared access signature is returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ArtifactContentInformation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/prefix/contentinfo": {
+ "get": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Get shared access signature for an Artifact",
+ "description": "Get shared access signature for an Artifact in specific path.",
+ "operationId": "Artifacts_ListSasByPrefix",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "continuationToken",
+ "in": "query",
+ "description": "The continuation token.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Artifact writable shared access signature is returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/PaginatedArtifactContentInformationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/prefix/contentinfo/storageuri": {
+ "get": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Get storage Uri for Artifacts in a path.",
+ "description": "Get storage Uri for Artifacts in a specific path.",
+ "operationId": "Artifacts_ListStorageUriByPrefix",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "continuationToken",
+ "in": "query",
+ "description": "The continuation token.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Artifact storage uri is returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/PaginatedArtifactContentInformationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/batch/metadata": {
+ "post": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Get Batch Artifacts by Ids.",
+ "description": "Get Batch Artifacts by the specific Ids.",
+ "operationId": "Artifacts_BatchGetById",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "artifactIds",
+ "in": "body",
+ "description": "The command for Batch Artifact get request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ArtifactIdList"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The requested Batch Artifacts are returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/BatchArtifactContentInformationResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/storageuri/batch/metadata": {
+ "post": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Get Batch Artifacts storage by Ids.",
+ "description": "Get Batch Artifacts storage by specific Ids.",
+ "operationId": "Artifacts_BatchGetStorageById",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "artifactIds",
+ "in": "body",
+ "description": "The list of artifactIds to get.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ArtifactIdList"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Batch Artifact's storage are returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/BatchArtifactContentInformationResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/batch/ingest/containersas": {
+ "post": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Batch ingest using shared access signature.",
+ "description": "Ingest Batch Artifacts using shared access signature.",
+ "operationId": "Artifacts_BatchIngestFromSas",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "artifactContainerSas",
+ "in": "body",
+ "description": "The artifact container shared access signature to use for batch ingest.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ArtifactContainerSas"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Batch is ingested using shared access signature successfully.",
+ "schema": {
+ "$ref": "#/definitions/PaginatedArtifactList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/batch/metadata": {
+ "post": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Create a batch of empty Artifacts.",
+ "description": "Create a Batch of empty Artifacts from the supplied paths.",
+ "operationId": "Artifacts_BatchCreateEmptyArtifacts",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "artifactPaths",
+ "in": "body",
+ "description": "The list of Artifact paths to create.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ArtifactPathList"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Batch of empty Artifacts created successfully.",
+ "schema": {
+ "$ref": "#/definitions/BatchArtifactContentInformationResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/batch/metadata:delete": {
+ "post": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Delete Batch of Artifact Metadata.",
+ "description": "Delete a Batch of Artifact Metadata.",
+ "operationId": "Artifacts_DeleteBatchMetaData",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "artifactPaths",
+ "in": "body",
+ "description": "The list of Artifact paths to delete.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ArtifactPathList"
+ }
+ },
+ {
+ "name": "hardDelete",
+ "in": "query",
+ "description": "If set to true, the delete cannot be reverted at a later time.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The batch delete of Artifact metadata completed successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/batch": {
+ "delete": {
+ "tags": [
+ "Artifact"
+ ],
+ "summary": "Delete Artifact Metadata.",
+ "description": "Delete Artifact Metadata in a specific container.",
+ "operationId": "Artifacts_DeleteMetaDataInContainer",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "origin",
+ "in": "path",
+ "description": "The origin of the Artifact.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "hardDelete",
+ "in": "query",
+ "description": "If set to true. The delete cannot be revert at later time.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Artifact metadata deleted successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Artifact": {
+ "description": "Details of an Artifact.",
+ "required": [
+ "origin",
+ "container",
+ "path"
+ ],
+ "type": "object",
+ "properties": {
+ "artifactId": {
+ "description": "The identifier of an Artifact. Format of ArtifactId - {Origin}/{Container}/{Path}.",
+ "type": "string"
+ },
+ "origin": {
+ "description": "The origin of the Artifact creation request. Available origins are 'ExperimentRun', 'LocalUpload', 'WebUpload', 'Dataset' and 'Unknown'.",
+ "type": "string"
+ },
+ "container": {
+ "description": "The name of container. Artifacts can be grouped by container.",
+ "type": "string"
+ },
+ "path": {
+ "description": "The path to the Artifact in a container.",
+ "type": "string"
+ },
+ "etag": {
+ "description": "The Etag of the Artifact.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdTime": {
+ "format": "date-time",
+ "description": "The Date and Time at which the Artifact is created. The DateTime is in UTC.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataPath": {
+ "$ref": "#/definitions/DataPath"
+ }
+ }
+ },
+ "DataPath": {
+ "type": "object",
+ "properties": {
+ "dataStoreName": {
+ "type": "string"
+ },
+ "relativePath": {
+ "type": "string"
+ },
+ "sqlDataPath": {
+ "$ref": "#/definitions/SqlDataPath"
+ }
+ }
+ },
+ "SqlDataPath": {
+ "type": "object",
+ "properties": {
+ "sqlTableName": {
+ "type": "string"
+ },
+ "sqlQuery": {
+ "type": "string"
+ },
+ "sqlStoredProcedureName": {
+ "type": "string"
+ },
+ "sqlStoredProcedureParams": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StoredProcedureParameter"
+ }
+ }
+ }
+ },
+ "StoredProcedureParameter": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "String",
+ "Int",
+ "Decimal",
+ "Guid",
+ "Boolean",
+ "Date"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StoredProcedureParameterType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "PaginatedArtifactList": {
+ "description": "A paginated list of Artifacts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An array of objects of type Artifact.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Artifact"
+ }
+ },
+ "continuationToken": {
+ "description": "The token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "The link to the next page constructed using the continuationToken. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "ArtifactContentInformation": {
+ "description": "Details of an Artifact Content Information.",
+ "type": "object",
+ "properties": {
+ "contentUri": {
+ "description": "The URI of the content.",
+ "type": "string"
+ },
+ "origin": {
+ "description": "The origin of the Artifact creation request. Available origins are 'ExperimentRun', 'LocalUpload', 'WebUpload', 'Dataset', 'ComputeRecord', 'Metric', and 'Unknown'.",
+ "type": "string"
+ },
+ "container": {
+ "description": "The name of container. Artifacts can be grouped by container.",
+ "type": "string"
+ },
+ "path": {
+ "description": "The path to the Artifact in a container.",
+ "type": "string"
+ }
+ }
+ },
+ "PaginatedArtifactContentInformationList": {
+ "description": "A paginated list of ArtifactContentInformations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An array of objects of type ArtifactContentInformation.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ArtifactContentInformation"
+ }
+ },
+ "continuationToken": {
+ "description": "The token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "The link to the next page constructed using the continuationToken. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "ArtifactIdList": {
+ "description": "Contains list of Artifact Ids.",
+ "required": [
+ "artifactIds"
+ ],
+ "type": "object",
+ "properties": {
+ "artifactIds": {
+ "description": "List of Artifacts Ids.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchArtifactContentInformationResult": {
+ "description": "Results of the Batch Artifact Content Information request.",
+ "type": "object",
+ "properties": {
+ "artifacts": {
+ "description": "Artifact details of the Artifact Ids requested.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/Artifact"
+ }
+ },
+ "artifactContentInformation": {
+ "description": "Artifact Content Information details of the Artifact Ids requested.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ArtifactContentInformation"
+ }
+ },
+ "errors": {
+ "description": "Errors occurred while fetching the requested Artifact Ids.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "The error response.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/RootError",
+ "description": "The top level error that occurred."
+ },
+ "correlation": {
+ "description": "Dictionary containing correlation details for the error.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "environment": {
+ "description": "The hosting environment.",
+ "type": "string"
+ },
+ "location": {
+ "description": "The Azure region.",
+ "type": "string"
+ },
+ "time": {
+ "format": "date-time",
+ "description": "The time in UTC.",
+ "type": "string"
+ }
+ }
+ },
+ "RootError": {
+ "description": "The root error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The service-defined error code. Supported error codes: ServiceError, UserError, ValidationError, AzureStorageError, TransientError, RequestThrottled.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human-readable representation of the error.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target of the error (e.g., the name of the property in error).",
+ "type": "string"
+ },
+ "details": {
+ "description": "The related errors that occurred during the request.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerErrorResponse",
+ "description": "A nested list of inner errors. When evaluating errors, clients MUST traverse through all of the nested “innerErrors” and choose the deepest one that they understand."
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target of the error (e.g., the name of the property in error).",
+ "type": "string"
+ }
+ }
+ },
+ "InnerErrorResponse": {
+ "description": "A nested structure of errors.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerErrorResponse",
+ "description": "A nested list of inner errors. When evaluating errors, clients MUST traverse through all of the nested “innerErrors” and choose the deepest one that they understand."
+ }
+ }
+ },
+ "ArtifactContainerSas": {
+ "description": "Details of the Artifact Container's shared access signature.",
+ "required": [
+ "containerSas",
+ "containerUri"
+ ],
+ "type": "object",
+ "properties": {
+ "containerSas": {
+ "description": "The shared access signature of the Container.",
+ "type": "string"
+ },
+ "containerUri": {
+ "description": "The URI of the Container.",
+ "type": "string"
+ },
+ "prefix": {
+ "description": "The Prefix to the Blobs in the Container.",
+ "type": "string"
+ },
+ "artifactPrefix": {
+ "description": "The Prefix to the Artifact in the Blob.",
+ "type": "string"
+ }
+ }
+ },
+ "ArtifactPathList": {
+ "description": "Contains list of Artifact Paths.",
+ "required": [
+ "paths"
+ ],
+ "type": "object",
+ "properties": {
+ "paths": {
+ "description": "List of Artifact Paths.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ArtifactPath"
+ }
+ }
+ }
+ },
+ "ArtifactPath": {
+ "description": "Details of an Artifact Path.",
+ "required": [
+ "path"
+ ],
+ "type": "object",
+ "properties": {
+ "path": {
+ "description": "The path to the Artifact in a container.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Azure Subscription ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The Name of the resource group in which the workspace is located.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "workspaceNameParameter": {
+ "name": "workspaceName",
+ "in": "path",
+ "description": "The name of the workspace.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "tags": []
+}
diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/datastore.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/datastore.json
new file mode 100644
index 000000000000..eaaf0271f86b
--- /dev/null
+++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/datastore.json
@@ -0,0 +1,925 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-09-30",
+ "title": "Azure Machine Learning Datastore Management Client"
+ },
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/datastore/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores": {
+ "get": {
+ "tags": [
+ "DataStore"
+ ],
+ "summary": "Get Datastores list.",
+ "description": "Get the list of Datastores attached to the workspace.",
+ "operationId": "DataStores_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "dataStoreNames",
+ "in": "query",
+ "description": "List of Datastore names.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi",
+ "uniqueItems": false
+ },
+ {
+ "name": "continuationToken",
+ "in": "query",
+ "description": "The Continuation Token.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "count",
+ "in": "query",
+ "description": "Count of Datastores to be returned.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30
+ },
+ {
+ "name": "includeSecret",
+ "in": "query",
+ "description": "Whether to include the datastore secret in the response.",
+ "required": false,
+ "type": "boolean",
+ "default": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of Datastores are returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/PaginatedDataStoreList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ },
+ "post": {
+ "tags": [
+ "DataStore"
+ ],
+ "summary": "Create or update a Datastore.",
+ "description": "Create or update a Datastore in the given workspace.",
+ "operationId": "DataStores_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "dto",
+ "in": "body",
+ "description": "The Datastore details.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/DataStore"
+ }
+ },
+ {
+ "name": "createIfNotExists",
+ "in": "query",
+ "description": "If set to true, the call will create an Datastore if it doesn't exist.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "name": "skipValidation",
+ "in": "query",
+ "description": "If set to true, the call will skip Datastore validation.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Datastore is created/updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DataStore"
+ ],
+ "summary": "Delete all Datastores.",
+ "description": "Delete all Datastores in the workspace.",
+ "operationId": "DataStores_DeleteAll",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "All the Datastores in the workspace are deleted successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/datastore/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{name}": {
+ "get": {
+ "tags": [
+ "DataStore"
+ ],
+ "summary": "Get Datastore details.",
+ "description": "Get details of a Datastore with a specific name.",
+ "operationId": "DataStores_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The Datastore name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Datastore details are returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/DataStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DataStore"
+ ],
+ "summary": "Update or create a Datastore.",
+ "description": "Update or create a Datastore in the given workspace.",
+ "operationId": "DataStores_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The Datastore name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "dto",
+ "in": "body",
+ "description": "The Datastore details.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/DataStore"
+ }
+ },
+ {
+ "name": "createIfNotExists",
+ "in": "query",
+ "description": "If set to true, the call will create an Datastore if it doesn't exist.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "name": "skipValidation",
+ "in": "query",
+ "description": "If set to true, the call will skip Datastore validation.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Datastore is created/updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DataStore"
+ ],
+ "summary": "Delete a Datastore.",
+ "description": "Delete a Datastore with a specific name.",
+ "operationId": "DataStores_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The Datastore name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Datastore is deleted successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/datastore/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/default/{name}": {
+ "put": {
+ "tags": [
+ "DataStoreDefault"
+ ],
+ "summary": "Set a default Datastore.",
+ "description": "Set a default Datastore in the workspace.",
+ "operationId": "DataStores_SetDefault",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The Datastore name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The default Datastore is set successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/datastore/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/default": {
+ "get": {
+ "tags": [
+ "DataStoreDefault"
+ ],
+ "summary": "Get the default Datastore.",
+ "description": "Get the default Datastore in the workspace.",
+ "operationId": "DataStores_GetDefault",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The default Datastore is returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/DataStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PaginatedDataStoreList": {
+ "description": "A paginated list of DataStores.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An array of objects of type DataStore.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataStore"
+ }
+ },
+ "continuationToken": {
+ "description": "The token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "The link to the next page constructed using the continuationToken. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "DataStore": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the datastore",
+ "type": "string"
+ },
+ "dataStoreType": {
+ "description": "The Azure storage service this datastore points to.",
+ "enum": [
+ "AzureBlob",
+ "AzureFile",
+ "AzureDataLake",
+ "AzureSqlDatabase",
+ "AzurePostgreSql",
+ "DBFS",
+ "AzureDataLakeGen2",
+ "GlusterFs"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataStoreType",
+ "modelAsString": false
+ }
+ },
+ "hasBeenValidated": {
+ "description": "A read only property that denotes whether the service datastore has been validated with credentials.",
+ "type": "boolean"
+ },
+ "tags": {
+ "description": "Tags to datastore",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "azureStorageSection": {
+ "$ref": "#/definitions/AzureStorage",
+ "description": "Data specific to azure storage"
+ },
+ "azureDataLakeSection": {
+ "$ref": "#/definitions/AzureDataLake",
+ "description": "Data Specific to azure data lake"
+ },
+ "azureSqlDatabaseSection": {
+ "$ref": "#/definitions/AzureSqlDatabase",
+ "description": "Data specific to azure SQL database"
+ },
+ "azurePostgreSqlSection": {
+ "$ref": "#/definitions/AzurePostgreSql",
+ "description": "Data specific to azure PostgreSQL"
+ },
+ "glusterFsSection": {
+ "$ref": "#/definitions/GlusterFs",
+ "description": "Data specific to GlusterFS"
+ }
+ }
+ },
+ "AzureStorage": {
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "description": "Storage Account Name",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "The storage container name",
+ "type": "string"
+ },
+ "endpoint": {
+ "description": "The host of the container",
+ "type": "string"
+ },
+ "protocol": {
+ "description": "The protocol to use. Defaults to https",
+ "type": "string"
+ },
+ "credentialType": {
+ "description": "The credential type",
+ "enum": [
+ "None",
+ "Sas",
+ "AccountKey",
+ "ClientCredentials"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureStorageCredentialTypes",
+ "modelAsString": false
+ }
+ },
+ "credential": {
+ "description": "The credential",
+ "type": "string"
+ },
+ "clientCredentials": {
+ "$ref": "#/definitions/ClientCredentials",
+ "description": "Service principal credential when credential type is Microsoft.MachineLearning.DataStore.Contracts.AzureStorageCredentialTypes.ClientCredentials"
+ },
+ "blobCacheTimeout": {
+ "format": "int32",
+ "description": "If this is an Microsoft.MachineLearning.DataStore.Contracts.DataStoreType.AzureBlob, the length of time (in seconds) to cache files locally after they are accessed (downloaded).",
+ "type": "integer"
+ },
+ "isSas": {
+ "description": "Indicate if we are using SAS token or Account Key (Deprecated)",
+ "type": "boolean"
+ },
+ "accountKey": {
+ "description": "Storage Account Key (Deprecated)",
+ "type": "string"
+ },
+ "sasToken": {
+ "description": "SAS Token for the container (Deprecated)",
+ "type": "string"
+ },
+ "areWorkspaceManagedIdentitiesAllowed": {
+ "description": "Indicate if we are using Workspace ManagedIdentities/MSI token",
+ "type": "boolean"
+ },
+ "subscriptionId": {
+ "format": "uuid",
+ "description": "Subscription Id",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource Group Name",
+ "type": "string"
+ }
+ }
+ },
+ "AzureDataLake": {
+ "type": "object",
+ "properties": {
+ "storeName": {
+ "description": "The Azure Data Lake store name",
+ "type": "string"
+ },
+ "clientId": {
+ "format": "uuid",
+ "description": "The Client ID/Application ID",
+ "type": "string"
+ },
+ "tenantId": {
+ "format": "uuid",
+ "description": "The ID of the tenant the service principal/app belongs to",
+ "type": "string"
+ },
+ "isCertAuth": {
+ "description": "Is it using certificate to authenticate. If false then use client secret",
+ "type": "boolean"
+ },
+ "certificate": {
+ "description": "The content of the certificate used for authentication",
+ "type": "string"
+ },
+ "thumbprint": {
+ "description": "The thumbprint of the certificate above",
+ "type": "string"
+ },
+ "clientSecret": {
+ "description": "The client secret",
+ "type": "string"
+ },
+ "authorityUrl": {
+ "description": "The authority URL used for authentication",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "The resource the service principal/app has access to",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "format": "uuid",
+ "description": "Subscription Id",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource Group Name",
+ "type": "string"
+ }
+ }
+ },
+ "AzureSqlDatabase": {
+ "type": "object",
+ "properties": {
+ "serverName": {
+ "description": "The Azure SQL server name",
+ "type": "string"
+ },
+ "databaseName": {
+ "description": "The Azure SQL database name",
+ "type": "string"
+ },
+ "endpoint": {
+ "description": "The server host endpoint",
+ "type": "string"
+ },
+ "clientId": {
+ "format": "uuid",
+ "description": "The Client ID/Application ID",
+ "type": "string"
+ },
+ "tenantId": {
+ "format": "uuid",
+ "description": "The ID of the tenant the service principal/app belongs to",
+ "type": "string"
+ },
+ "isCertAuth": {
+ "description": "Is it using certificate to authenticate. If false then use client secret",
+ "type": "boolean"
+ },
+ "certificate": {
+ "description": "The content of the certificate used for authentication",
+ "type": "string"
+ },
+ "thumbprint": {
+ "description": "The thumbprint of the certificate above",
+ "type": "string"
+ },
+ "clientSecret": {
+ "description": "The client secret",
+ "type": "string"
+ },
+ "authorityUrl": {
+ "description": "The authority URL used for authentication",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "The resource the service principal/app has access to",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "format": "uuid",
+ "description": "Subscription Id",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource Group Name",
+ "type": "string"
+ }
+ }
+ },
+ "AzurePostgreSql": {
+ "type": "object",
+ "properties": {
+ "serverName": {
+ "description": "The Azure PostgreSQL server name",
+ "type": "string"
+ },
+ "databaseName": {
+ "description": "The Azure PostgreSQL database name",
+ "type": "string"
+ },
+ "userId": {
+ "description": "The Azure PostgreSQL user id",
+ "type": "string"
+ },
+ "userPassword": {
+ "description": "The Azure PostgreSQL user password",
+ "type": "string"
+ },
+ "portNumber": {
+ "description": "The Azure PostgreSQL port number",
+ "type": "string"
+ },
+ "endpoint": {
+ "description": "The Azure PostgreSQL server host endpoint",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "format": "uuid",
+ "description": "Subscription Id",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource Group Name",
+ "type": "string"
+ }
+ }
+ },
+ "GlusterFs": {
+ "type": "object",
+ "properties": {
+ "serverAddress": {
+ "description": "The server address of one of the servers that hosts the GlusterFS. Can be either the IP address\r\nor server name.",
+ "type": "string"
+ },
+ "volumeName": {
+ "description": "The name of the created GlusterFS volume.",
+ "type": "string"
+ }
+ }
+ },
+ "ClientCredentials": {
+ "type": "object",
+ "properties": {
+ "clientId": {
+ "format": "uuid",
+ "description": "The Client ID/Application ID",
+ "type": "string"
+ },
+ "tenantId": {
+ "format": "uuid",
+ "description": "The ID of the tenant the service principal/app belongs to",
+ "type": "string"
+ },
+ "isCertAuth": {
+ "description": "Is it using certificate to authenticate. If false then use client secret",
+ "type": "boolean"
+ },
+ "certificate": {
+ "description": "The content of the certificate used for authentication",
+ "type": "string"
+ },
+ "thumbprint": {
+ "description": "The thumbprint of the certificate above",
+ "type": "string"
+ },
+ "clientSecret": {
+ "description": "The client secret",
+ "type": "string"
+ },
+ "authorityUrl": {
+ "description": "The authority URL used for authentication",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "The resource the service principal/app has access to",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "format": "uuid",
+ "description": "Subscription Id",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource Group Name",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "The error response.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/RootError",
+ "description": "The top level error that occurred."
+ },
+ "correlation": {
+ "description": "Dictionary containing correlation details for the error.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "environment": {
+ "description": "The hosting environment.",
+ "type": "string"
+ },
+ "location": {
+ "description": "The Azure region.",
+ "type": "string"
+ },
+ "time": {
+ "format": "date-time",
+ "description": "The time in UTC.",
+ "type": "string"
+ }
+ }
+ },
+ "RootError": {
+ "description": "The root error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The service-defined error code. Supported error codes: ServiceError, UserError, ValidationError, AzureStorageError, TransientError, RequestThrottled.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human-readable representation of the error.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target of the error (e.g., the name of the property in error).",
+ "type": "string"
+ },
+ "details": {
+ "description": "The related errors that occurred during the request.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerErrorResponse",
+ "description": "A nested list of inner errors. When evaluating errors, clients MUST traverse through all of the nested “innerErrors” and choose the deepest one that they understand."
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target of the error (e.g., the name of the property in error).",
+ "type": "string"
+ }
+ }
+ },
+ "InnerErrorResponse": {
+ "description": "A nested structure of errors.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerErrorResponse",
+ "description": "A nested list of inner errors. When evaluating errors, clients MUST traverse through all of the nested “innerErrors” and choose the deepest one that they understand."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Azure Subscription ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The Name of the resource group in which the workspace is located.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "workspaceNameParameter": {
+ "name": "workspaceName",
+ "in": "path",
+ "description": "The name of the workspace.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "tags": []
+}
diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/cancelHyperDriveExperiment.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/cancelHyperDriveExperiment.json
new file mode 100644
index 000000000000..ba759fa0ea93
--- /dev/null
+++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/cancelHyperDriveExperiment.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "region": "eastus",
+ "dnsSuffix": "api.azureml.ms",
+ "armScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace/experiments/demo_experiment",
+ "runId": "demorun_1558388311"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "code": 200,
+ "result": "Cancellation requested for demorun_1558388311"
+ }
+ }
+ }
+}
diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/cancelRunWithUri.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/cancelRunWithUri.json
new file mode 100644
index 000000000000..119a85b57fd1
--- /dev/null
+++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/cancelRunWithUri.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "region": "eastus",
+ "dnsSuffix": "api.azureml.ms",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "demo_resource_group",
+ "workspaceName": "demo_workspace",
+ "experimentName": "demo_experiment",
+ "runId": "demorun_15501234342_0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "runId": "demorun_15501234342_0"
+ }
+ }
+ }
+}
diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/createHyperDriveExperiment.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/createHyperDriveExperiment.json
new file mode 100644
index 000000000000..4874d2a84fce
--- /dev/null
+++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/createHyperDriveExperiment.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "region": "eastus",
+ "dnsSuffix": "api.azureml.ms",
+ "armScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace/experiments/demo_experiment",
+ "config": "multipart-form-data"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "code": 201,
+ "result": {
+ "all_jobs_generated": false,
+ "cancellation_requested": false,
+ "created": "2019-05-23T20:00:00.0Z",
+ "created_by_user_id": 0,
+ "description": null,
+ "experiment_id": "demo_experiment_1",
+ "experiment_uri": null,
+ "generator_config": {
+ "name": "BAYESIANOPTIMIZATION",
+ "parameter_space": {
+ "--param1": [
+ "uniform",
+ [
+ 0,
+ 1
+ ]
+ ]
+ }
+ },
+ "max_concurrent_jobs": 1,
+ "max_duration_minutes": 10080,
+ "max_total_jobs": 4,
+ "modified": "2019-05-23T20:00:00.0Z",
+ "name": "demo_experiment",
+ "platform": "AML",
+ "platform_config": {},
+ "policy_config": {
+ "name": "DEFAULT"
+ },
+ "primary_metric_config": {
+ "name": "accuracy",
+ "goal": "MAXIMIZE"
+ },
+ "status": "Running",
+ "study_id": 0,
+ "study_uri": null,
+ "hyperdrive_run_id": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/startLocalRun.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/startLocalRun.json
new file mode 100644
index 000000000000..21d70904a3e8
--- /dev/null
+++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/startLocalRun.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "region": "eastus",
+ "dnsSuffix": "api.azureml.ms",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "demo_resource_group",
+ "workspaceName": "demo_workspace",
+ "experimentName": "demo_experiment",
+ "definition": {
+ "snapshotId": "00000000-0000-0000-0000-000000000000",
+ "configuration": {
+ "script": "findsquare.py",
+ "arguments": [
+ "234"
+ ],
+ "framework": "Python",
+ "communicator": "None",
+ "target": "batchai",
+ "maxRunDurationSeconds": 1200,
+ "nodeCount": 1,
+ "environment": {
+ "python": {
+ "interpreterPath": "python",
+ "userManagedDependencies": false,
+ "condaDependencies": {
+ "name": "project_environment",
+ "dependencies": [
+ "python=3.6.2",
+ {
+ "pip": [
+ "azureml-defaults"
+ ]
+ }
+ ]
+ }
+ },
+ "docker": {
+ "baseImage": "mcr.microsoft.com/azureml/base:0.2.2"
+ }
+ },
+ "history": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "schema": {
+ "format": "byte",
+ "type": "file"
+ }
+ }
+ }
+}
diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/startRun.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/startRun.json
new file mode 100644
index 000000000000..00e885a53c72
--- /dev/null
+++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/startRun.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "region": "eastus",
+ "dnsSuffix": "api.azureml.ms",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "demo_resource_group",
+ "workspaceName": "demo_workspace",
+ "experimentName": "demo_experiment",
+ "runDefinitionFile": "multipart-form-data",
+ "projectZipFile": "multipart-form-data"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "runId": "demorun_15501234342_0"
+ }
+ }
+ }
+}
diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/startSnapshotRun.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/startSnapshotRun.json
new file mode 100644
index 000000000000..9c494e4dba90
--- /dev/null
+++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/examples/startSnapshotRun.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "region": "eastus",
+ "dnsSuffix": "api.azureml.ms",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "demo_resource_group",
+ "workspaceName": "demo_workspace",
+ "experimentName": "demo_experiment",
+ "definition": {
+ "snapshotId": "00000000-0000-0000-0000-000000000000",
+ "configuration": {
+ "script": "findsquare.py",
+ "arguments": [
+ "234"
+ ],
+ "framework": "Python",
+ "communicator": "None",
+ "target": "batchai",
+ "maxRunDurationSeconds": 1200,
+ "nodeCount": 1,
+ "environment": {
+ "python": {
+ "interpreterPath": "python",
+ "userManagedDependencies": false,
+ "condaDependencies": {
+ "name": "project_environment",
+ "dependencies": [
+ "python=3.6.2",
+ {
+ "pip": [
+ "azureml-defaults"
+ ]
+ }
+ ]
+ }
+ },
+ "docker": {
+ "baseImage": "mcr.microsoft.com/azureml/base:0.2.2"
+ }
+ },
+ "history": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "runId": "demorun_15501234342_0"
+ }
+ }
+ }
+}
diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/execution.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/execution.json
new file mode 100644
index 000000000000..37ebac15603f
--- /dev/null
+++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/execution.json
@@ -0,0 +1,827 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-09-30",
+ "title": "Execution Service API"
+ },
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/execution/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/startlocalrun": {
+ "post": {
+ "tags": [
+ "Execution"
+ ],
+ "summary": "Start a run on a local machine.",
+ "description": "Starts an experiment run using the provided definition.json file to define the run.\r\n The source code and configuration is defined in a zip archive in project.zip.",
+ "operationId": "Runs_StartLocalRun",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json",
+ "application/octet-stream"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "definition",
+ "in": "body",
+ "description": "A JSON run definition structure.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RunDefinition"
+ }
+ },
+ {
+ "name": "runId",
+ "in": "query",
+ "description": "A run id. If not supplied a run id will be created automatically.",
+ "required": false,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][\\w-]{0,255}$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "File Response",
+ "schema": {
+ "format": "byte",
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Start a local run": {
+ "$ref": "./examples/startLocalRun.json"
+ }
+ }
+ }
+ },
+ "/execution/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/startrun": {
+ "post": {
+ "tags": [
+ "Execution"
+ ],
+ "summary": "Start a run on a remote compute target.",
+ "description": "Starts an experiment run using the provided definition.json file to define the run.\r\n The source code and configuration is defined in a zip archive in project.zip.",
+ "operationId": "Runs_StartRun",
+ "consumes": [
+ "multipart/form-data"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runDefinitionFile",
+ "in": "formData",
+ "description": "The JSON file containing the RunDefinition",
+ "required": true,
+ "type": "file"
+ },
+ {
+ "name": "projectZipFile",
+ "in": "formData",
+ "description": "The zip archive of the project folder containing the source code to use for the run.",
+ "required": true,
+ "type": "file"
+ },
+ {
+ "name": "runId",
+ "in": "query",
+ "description": "A run id. If not supplied a run id will be created automatically.",
+ "required": false,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][\\w-]{0,255}$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A run was successfully started.",
+ "schema": {
+ "$ref": "#/definitions/StartRunResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Start a run": {
+ "$ref": "./examples/startRun.json"
+ }
+ }
+ }
+ },
+ "/execution/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/snapshotrun": {
+ "post": {
+ "tags": [
+ "Execution"
+ ],
+ "summary": "Start a run from a snapshot on a remote compute target.",
+ "description": "Starts an experiment run on the remote compute target using the provided definition.json file to define the run.\r\n The code for the run is retrieved using the snapshotId in definition.json.",
+ "operationId": "Runs_StartSnapshotRun",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "definition",
+ "in": "body",
+ "description": "A JSON run definition structure.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RunDefinition"
+ }
+ },
+ {
+ "name": "runId",
+ "in": "query",
+ "description": "A run id. If not supplied a run id will be created automatically.",
+ "required": false,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][\\w-]{0,255}$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A snapshot run was successfully started.",
+ "schema": {
+ "$ref": "#/definitions/StartRunResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Start a snapshot run": {
+ "$ref": "./examples/startSnapshotRun.json"
+ }
+ }
+ }
+ },
+ "/execution/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runId/{runId}/cancel": {
+ "post": {
+ "tags": [
+ "Execution"
+ ],
+ "summary": "Cancel a run.",
+ "description": "Cancels a run within an experiment.",
+ "operationId": "Runs_CancelRunWithUri",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The id of the run to cancel.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][\\w-]{0,255}$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The run was successfully cancelled.",
+ "schema": {
+ "$ref": "#/definitions/StartRunResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Cancel a run with URI": {
+ "$ref": "./examples/cancelRunWithUri.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RunDefinition": {
+ "type": "object",
+ "properties": {
+ "configuration": {
+ "$ref": "#/definitions/RunConfiguration",
+ "description": "Fully specified configuration information for the run. Even when that information\r\nis contained in configuration files within the project folder, the client collapses\r\nit all and inlines it into the run definition when submitting a run."
+ },
+ "snapshotId": {
+ "format": "uuid",
+ "description": "Snapshots are user project folders that have been uploaded to the cloud for subsequent\r\nexecution. This field is required when executing against cloud-based compute targets\r\nunless the run submission was against the API endpoint that takes a zipped project folder\r\ninline with the request.",
+ "type": "string"
+ },
+ "parentRunId": {
+ "description": "Specifies that the run history entry for this execution should be scoped within\r\nan existing run as a child. Defaults to null, meaning the run has no parent.\r\nThis is intended for first-party service integration, not third-party API users.",
+ "type": "string",
+ "example": "myexperiment_155000000001_0"
+ },
+ "runType": {
+ "description": "Specifies the runsource property for this run. The default value is \"experiment\" if not specified.",
+ "type": "string",
+ "example": "experiment"
+ }
+ }
+ },
+ "RunConfiguration": {
+ "type": "object",
+ "properties": {
+ "script": {
+ "description": "The relative path to the python script file. The file path is relative to the source_directory passed to submit run.",
+ "type": "string",
+ "example": "findsquare.py"
+ },
+ "arguments": {
+ "description": "Command line arguments for the python script file.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": "[\"234\"]"
+ },
+ "framework": {
+ "description": "The supported frameworks are Python, PySpark, CNTK, TensorFlow, and PyTorch. Use Tensorflow for AmlCompute clusters, and Python for distributed training jobs.",
+ "enum": [
+ "Python",
+ "PySpark",
+ "Cntk",
+ "TensorFlow",
+ "PyTorch"
+ ],
+ "type": "string",
+ "example": "Python",
+ "x-ms-enum": {
+ "name": "Framework",
+ "modelAsString": false
+ }
+ },
+ "communicator": {
+ "description": "The supported communicators are None, ParameterServer, OpenMpi, and IntelMpi Keep in mind that OpenMpi requires a custom image with OpenMpi installed.\r\nUse ParameterServer or OpenMpi for AmlCompute clusters. Use IntelMpi for distributed training jobs.",
+ "enum": [
+ "None",
+ "ParameterServer",
+ "Gloo",
+ "Mpi",
+ "Nccl"
+ ],
+ "type": "string",
+ "example": "None",
+ "x-ms-enum": {
+ "name": "Communicator",
+ "modelAsString": false
+ }
+ },
+ "target": {
+ "description": "Target refers to compute where the job is scheduled for execution. The default target is \"local\" referring to the local machine.",
+ "type": "string",
+ "example": "amlcompute"
+ },
+ "dataReferences": {
+ "description": "All the data sources are made available to the run during execution based on each configuration.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/DataReferenceConfiguration"
+ }
+ },
+ "jobName": {
+ "description": "This is primarily intended for notebooks to override the default job name.\r\nDefaults to ArgumentVector[0] if not specified.",
+ "type": "string",
+ "example": "FindSquaresJob"
+ },
+ "maxRunDurationSeconds": {
+ "format": "int64",
+ "description": "Maximum allowed time for the run. The system will attempt to automatically cancel the run if it took longer than this value.\r\nMaxRunDurationSeconds=null means infinite duration.",
+ "type": "integer",
+ "example": "84000"
+ },
+ "nodeCount": {
+ "format": "int32",
+ "description": "Number of compute nodes to run the job on. Only applies to AMLCompute.",
+ "type": "integer",
+ "example": "1"
+ },
+ "environment": {
+ "$ref": "#/definitions/EnvironmentDefinition",
+ "description": "The environment definition, This field configures the python environment.\r\nIt can be configured to use an existing Python environment or configured to setup a temp environment for the experiment.\r\nThe definition is also responsible for setting the required application dependencies."
+ },
+ "history": {
+ "$ref": "#/definitions/HistoryConfiguration",
+ "description": "This section is used to disable and enable experiment history logging features."
+ },
+ "spark": {
+ "$ref": "#/definitions/SparkConfiguration",
+ "description": "When the platform is set to Pyspark, The spark configuration is used to set the default sparkconf for the submitted job."
+ },
+ "tensorflow": {
+ "$ref": "#/definitions/TensorflowConfiguration",
+ "description": "The attribute is used to configure the distributed tensorflow parameters.\r\nThis attribute takes effect only when the framework is set to TensorFlow, and the communicator to ParameterServer.\r\nAmlCompute is the only supported compute for this configuration."
+ },
+ "mpi": {
+ "$ref": "#/definitions/MpiConfiguration",
+ "description": "The attribute is used to configure the distributed MPI job parameters.\r\nThis attribute takes effect only when the framework is set to Python, and the communicator to OpenMpi or IntelMpi.\r\nAmlCompute is the only supported compute type for this configuration."
+ },
+ "hdi": {
+ "$ref": "#/definitions/HdiConfiguration",
+ "description": "This attribute takes effect only when the target is set to an Azure HDI compute.\r\nThe HDI Configuration is used to set the YARN deployment mode. It is defaulted to cluster mode."
+ }
+ }
+ },
+ "DataReferenceConfiguration": {
+ "description": "A class for managing DataReferenceConfiguration.",
+ "type": "object",
+ "properties": {
+ "dataStoreName": {
+ "description": "The name of the data store.",
+ "type": "string",
+ "example": "myblobstore"
+ },
+ "mode": {
+ "description": "Operation on the datastore, mount, download, upload.",
+ "enum": [
+ "Mount",
+ "Download",
+ "Upload"
+ ],
+ "type": "string",
+ "example": "Mount",
+ "x-ms-enum": {
+ "name": "DataStoreMode",
+ "modelAsString": false
+ }
+ },
+ "pathOnDataStore": {
+ "description": "Relative path on the datastore.",
+ "type": "string",
+ "example": "/images/validation"
+ },
+ "pathOnCompute": {
+ "description": "The path on the compute target.",
+ "type": "string"
+ },
+ "overwrite": {
+ "description": "Whether to overwrite the data if existing.",
+ "type": "boolean"
+ }
+ }
+ },
+ "EnvironmentDefinition": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the environment.",
+ "type": "string",
+ "example": "mydevenvironment"
+ },
+ "version": {
+ "description": "The environment version.",
+ "type": "string",
+ "example": "1"
+ },
+ "python": {
+ "$ref": "#/definitions/PythonSection",
+ "description": "Settings for a Python environment."
+ },
+ "environmentVariables": {
+ "description": "Definition of environment variables to be defined in the environment.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "docker": {
+ "$ref": "#/definitions/DockerSection",
+ "description": "The definition of a Docker container."
+ },
+ "spark": {
+ "$ref": "#/definitions/SparkSection",
+ "description": "The configuration for a Spark environment."
+ },
+ "inferencingStackVersion": {
+ "description": "The inferencing stack version added to the image. To avoid adding an inferencing stack, do not set this value. Valid values: \"latest\".",
+ "type": "string",
+ "example": "latest"
+ }
+ }
+ },
+ "HistoryConfiguration": {
+ "type": "object",
+ "properties": {
+ "outputCollection": {
+ "description": "Set to true to collect outputs and store in run history.",
+ "type": "boolean"
+ },
+ "directoriesToWatch": {
+ "description": "The list of directories to monitor and upload files from.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": "[\"logs\", \"outputs\"]"
+ }
+ }
+ },
+ "SparkConfiguration": {
+ "type": "object",
+ "properties": {
+ "configuration": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TensorflowConfiguration": {
+ "type": "object",
+ "properties": {
+ "workerCount": {
+ "format": "int32",
+ "description": "The number of workers.",
+ "type": "integer",
+ "example": "2"
+ },
+ "parameterServerCount": {
+ "format": "int32",
+ "description": "Number of parameter servers.",
+ "type": "integer",
+ "example": "1"
+ }
+ }
+ },
+ "MpiConfiguration": {
+ "type": "object",
+ "properties": {
+ "processCountPerNode": {
+ "format": "int32",
+ "description": "Number of processes per node.",
+ "type": "integer",
+ "example": "2"
+ }
+ }
+ },
+ "HdiConfiguration": {
+ "type": "object",
+ "properties": {
+ "yarnDeployMode": {
+ "enum": [
+ "None",
+ "Client",
+ "Cluster"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "YarnDeployMode",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "PythonSection": {
+ "type": "object",
+ "properties": {
+ "interpreterPath": {
+ "description": "The python interpreter path. This is only used when user_managed_dependencies=True.",
+ "type": "string"
+ },
+ "userManagedDependencies": {
+ "description": "True means that AzureML reuses an existing python environment; False means that AzureML will create a python environment based on the Conda dependencies specification.",
+ "type": "boolean"
+ },
+ "condaDependencies": {
+ "type": "object"
+ },
+ "baseCondaEnvironment": {
+ "type": "string"
+ }
+ }
+ },
+ "DockerSection": {
+ "type": "object",
+ "properties": {
+ "baseImage": {
+ "description": "Base image used for Docker-based runs. Mutually exclusive with BaseDockerfile.",
+ "type": "string",
+ "example": "ubuntu:latest"
+ },
+ "baseDockerfile": {
+ "description": "Base Dockerfile used for Docker-based runs. Mutually exclusive with BaseImage.",
+ "type": "string",
+ "example": "FROM ubuntu:latest\r\nRUN echo \"Hello world!\""
+ },
+ "enabled": {
+ "description": "Set true to perform this run inside a Docker container.",
+ "type": "boolean"
+ },
+ "sharedVolumes": {
+ "description": "Set false to disable AzureML's usage of the Docker shared volumes feature to work around bugs in certain versions of Docker for Windows.",
+ "type": "boolean"
+ },
+ "arguments": {
+ "description": "Extra arguments to the Docker run command.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "baseImageRegistry": {
+ "$ref": "#/definitions/ContainerRegistry",
+ "description": "Image registry that contains the base image."
+ }
+ }
+ },
+ "SparkSection": {
+ "type": "object",
+ "properties": {
+ "repositories": {
+ "description": "The list of spark repositories.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "packages": {
+ "description": "The Spark packages to use.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SparkMavenPackage"
+ }
+ },
+ "precachePackages": {
+ "description": "Whether to precache the packages.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ContainerRegistry": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ }
+ }
+ },
+ "SparkMavenPackage": {
+ "type": "object",
+ "properties": {
+ "group": {
+ "type": "string"
+ },
+ "artifact": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ }
+ },
+ "StartRunResult": {
+ "description": "Contains the details of a run.",
+ "required": [
+ "runId"
+ ],
+ "type": "object",
+ "properties": {
+ "runId": {
+ "description": "The identifier for a run.",
+ "type": "string",
+ "example": "myexperiment_155000000001_0"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "The error response.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/RootError",
+ "description": "The top level error that occurred."
+ },
+ "correlation": {
+ "description": "Dictionary containing correlation details for the error.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "environment": {
+ "description": "The hosting environment.",
+ "type": "string"
+ },
+ "location": {
+ "description": "The Azure region.",
+ "type": "string"
+ },
+ "time": {
+ "format": "date-time",
+ "description": "The time in UTC.",
+ "type": "string"
+ }
+ }
+ },
+ "RootError": {
+ "description": "The root error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The service-defined error code. Supported error codes: ServiceError, UserError, ValidationError, AzureStorageError, TransientError, RequestThrottled.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human-readable representation of the error.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target of the error (e.g., the name of the property in error).",
+ "type": "string"
+ },
+ "details": {
+ "description": "The related errors that occurred during the request.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerErrorResponse",
+ "description": "A nested list of inner errors. When evaluating errors, clients MUST traverse through all of the nested “innerErrors” and choose the deepest one that they understand."
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target of the error (e.g., the name of the property in error).",
+ "type": "string"
+ }
+ }
+ },
+ "InnerErrorResponse": {
+ "description": "A nested structure of errors.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerErrorResponse",
+ "description": "A nested list of inner errors. When evaluating errors, clients MUST traverse through all of the nested “innerErrors” and choose the deepest one that they understand."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Azure Subscription ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The Name of the resource group in which the workspace is located.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "workspaceNameParameter": {
+ "name": "workspaceName",
+ "in": "path",
+ "description": "The name of the workspace.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "tags": []
+}
diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/hyperdrive.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/hyperdrive.json
new file mode 100644
index 000000000000..59acaf4a4e94
--- /dev/null
+++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/hyperdrive.json
@@ -0,0 +1,585 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "description": "HyperDrive REST API",
+ "version": "2019-09-30",
+ "title": "HyperDrive"
+ },
+ "tags": [],
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/hyperdrive/v1.0/{armScope}/runs": {
+ "post": {
+ "tags": [
+ "HyperDriveExperiment"
+ ],
+ "summary": "Create an Experiment.",
+ "description": "Create a HyperDrive Experiment.",
+ "operationId": "HyperparameterTuning_CreateExperiment",
+ "consumes": [
+ "multipart/form-data"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ArmScopeParameter"
+ },
+ {
+ "in": "formData",
+ "name": "config",
+ "description": "The configuration file with experiment JSON content. A text file that is a JSON-serialized '#/definitions/HyperDriveCreateExperiment' object.",
+ "type": "file",
+ "required": true
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HyperDriveExperimentResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/HyperDriveErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a HyperDrive experiment": {
+ "$ref": "./examples/createHyperDriveExperiment.json"
+ }
+ }
+ }
+ },
+ "/hyperdrive/v1.0/{armScope}/runs/{runId}/cancel": {
+ "post": {
+ "tags": [
+ "HyperDriveExperiment"
+ ],
+ "summary": "Cancel an Experiment.",
+ "description": "Cancel a HyperDrive Experiment.",
+ "operationId": "HyperparameterTuning_CancelExperiment",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ArmScopeParameter"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "Hyperdrive run id to cancel.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "header",
+ "name": "RunHistoryHost",
+ "description": "The host for run location.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HyperDriveCancelExperimentResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/HyperDriveErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Cancel a HyperDrive experiment": {
+ "$ref": "./examples/cancelHyperDriveExperiment.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "HyperDriveErrorResponse": {
+ "properties": {
+ "code": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Error response code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "description": "Response in case of an error."
+ },
+ "HyperDriveCancelExperimentResponse": {
+ "properties": {
+ "code": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Response code."
+ },
+ "result": {
+ "type": "string",
+ "description": "Message indicating operation success."
+ }
+ },
+ "required": [
+ "code",
+ "result"
+ ],
+ "type": "object",
+ "description": "Response for HyperDrive_CancelExperiment in case of success."
+ },
+ "HyperDriveExperimentBase": {
+ "description": "Base object for both request and response of HyperDrive_CreateExperiment api.",
+ "properties": {
+ "description": {
+ "maxLength": 511,
+ "type": "string",
+ "x-nullable": true,
+ "description": "The description for Hyperdrive run."
+ },
+ "generator_config": {
+ "description": "Hyperparameter space and the sampling method configuration.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "RANDOM",
+ "GRID",
+ "BAYESIANOPTIMIZATION"
+ ],
+ "description": "Hyperparameter sampling method.",
+ "x-ms-enum": {
+ "name": "Name",
+ "modelAsString": true
+ }
+ },
+ "parameter_space": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {},
+ "minItems": 2,
+ "maxItems": 2,
+ "description": "The first element in the array is a string identifying the parameter expression type like choice, uniform etc. The second element is a parameter expressions corresponding to the type.\r\n Please refer to https://docs.microsoft.com/en-us/python/api/azureml-train-core/azureml.train.hyperdrive.parameter_expressions?view=azure-ml-py for a list of supported types and options for each type.\r\n choice parameters are specified as ['choice', [[1, 2, 3, 4]]]. randint is in format ['randint', [1]].\r\n uniform, loguniform, normal, lognormal are in format [expression type, [0.01, 0.05]].\r\n quniform, qloguniform, qnormal, qlognormal are in format [expression type, [0.01, 0.05, 3]].\r\n",
+ "example": [
+ "choice",
+ [
+ [
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+ ]
+ ]
+ },
+ "description": "Dictionary specifying hyperparameter space."
+ }
+ },
+ "required": [
+ "name",
+ "parameter_space"
+ ],
+ "type": "object"
+ },
+ "max_concurrent_jobs": {
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer",
+ "description": "Maximum number of runs to run concurrently."
+ },
+ "max_duration_minutes": {
+ "format": "int32",
+ "maximum": 43200,
+ "minimum": 1,
+ "type": "integer",
+ "description": "Maximum duration of the Hyperdrive run."
+ },
+ "max_total_jobs": {
+ "format": "int32",
+ "maximum": 1000,
+ "minimum": 1,
+ "type": "integer",
+ "description": "Maximum number of runs."
+ },
+ "name": {
+ "maxLength": 255,
+ "type": "string",
+ "description": "Name of the Hyperdrive run."
+ },
+ "platform": {
+ "type": "string",
+ "enum": [
+ "AML"
+ ],
+ "description": "Platform of the Hyperdrive run.",
+ "x-ms-enum": {
+ "name": "Platform",
+ "modelAsString": true
+ }
+ },
+ "platform_config": {
+ "type": "object",
+ "description": "Platform config object specifying the run definition structure."
+ },
+ "policy_config": {
+ "description": "Early termination policy configuration.",
+ "$ref": "#/definitions/HyperDrivePolicyConfigBase"
+ },
+ "primary_metric_config": {
+ "description": "Name of the primary metric and goal of optimizing.",
+ "properties": {
+ "goal": {
+ "type": "string",
+ "enum": [
+ "MAXIMIZE",
+ "MINIMIZE"
+ ],
+ "description": "Determines if the primary metric has to be minimized/maximized.",
+ "x-ms-enum": {
+ "name": "Goal",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the primary metric reported by runs."
+ }
+ },
+ "required": [
+ "goal",
+ "name"
+ ],
+ "type": "object"
+ },
+ "study_id": {
+ "format": "int32",
+ "minimum": 0,
+ "type": "integer",
+ "x-nullable": true,
+ "description": "Study Id of the Hyperdrive run."
+ }
+ },
+ "required": [
+ "generator_config",
+ "name",
+ "platform",
+ "platform_config",
+ "policy_config",
+ "primary_metric_config"
+ ],
+ "type": "object"
+ },
+ "HyperDriveExperiment": {
+ "type": "object",
+ "description": "Part of response for HyperDrive_CreateExperiment in case of success. Contains details about the created hyperdrive run.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HyperDriveExperimentBase"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "all_jobs_generated": {
+ "type": "boolean",
+ "description": "Indicates if all runs have been generated."
+ },
+ "cancellation_requested": {
+ "type": "boolean",
+ "description": "Indicates if cancellation has been requested for this Hyperdrive run."
+ },
+ "created": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Hyperdrive run creation time."
+ },
+ "created_by_user_id": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Id of the user who created the Hyperdrive run."
+ },
+ "experiment_id": {
+ "type": "string",
+ "description": "Hyperdrive run id."
+ },
+ "experiment_uri": {
+ "type": "string",
+ "description": "Hyperdrive run Uri."
+ },
+ "modified": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Hyperdrive run modification time."
+ },
+ "status": {
+ "type": "string",
+ "description": "Hyperdrive run status."
+ },
+ "study_uri": {
+ "type": "string",
+ "description": "Study Uri of the Hyperdrive run."
+ },
+ "hyperdrive_run_id": {
+ "type": "string",
+ "description": "Hyperdrive run id."
+ }
+ },
+ "required": [
+ "all_jobs_generated",
+ "cancellation_requested",
+ "created",
+ "created_by_user_id",
+ "experiment_id",
+ "modified",
+ "status",
+ "hyperdrive_run_id"
+ ]
+ }
+ ],
+ "properties": {}
+ },
+ "HyperDriveCreateExperiment": {
+ "type": "object",
+ "description": "Part of request for HyperDrive_CreateExperiment. Contains configuration details required to create hyperdrive run.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HyperDriveExperimentBase"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "user": {
+ "maxLength": 255,
+ "type": "string",
+ "description": "User who is creating the Hyperdrive run."
+ }
+ },
+ "required": [
+ "user"
+ ]
+ }
+ ],
+ "properties": {}
+ },
+ "HyperDrivePolicyConfigBase": {
+ "description": "Early termination policy configuration.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "Default",
+ "Bandit",
+ "MedianStopping",
+ "TruncationSelection"
+ ],
+ "description": "Type of early termination policy.",
+ "x-ms-enum": {
+ "name": "Name",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "discriminator": "name"
+ },
+ "HyperDriveDefaultPolicy": {
+ "type": "object",
+ "description": "No early termination is applied in the case of DefaultPolicy",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HyperDrivePolicyConfigBase"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "Default"
+ },
+ "HyperDriveBanditPolicy": {
+ "type": "object",
+ "description": "Bandit Policy configuration. Please refer https://docs.microsoft.com/en-us/python/api/azureml-train-core/azureml.train.hyperdrive.banditpolicy?view=azure-ml-py for more information.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HyperDrivePolicyConfigBase"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "description": "Policy configuration properties.",
+ "properties": {
+ "evaluation_interval": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Evaluation interval of the policy."
+ },
+ "delay_evaluation": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Value indicating the number of sequences for which the first evaluation is delayed."
+ },
+ "slack_factor": {
+ "format": "float",
+ "type": "number",
+ "description": "Slack factor."
+ },
+ "slack_amount": {
+ "format": "float",
+ "type": "number",
+ "description": "Slack amount."
+ }
+ }
+ }
+ }
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "Bandit"
+ },
+ "HyperDriveMedianStoppingPolicy": {
+ "type": "object",
+ "description": "Median stopping policy configuration. Please refer https://docs.microsoft.com/en-us/python/api/azureml-train-core/azureml.train.hyperdrive.medianstoppingpolicy?view=azure-ml-py for more information.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HyperDrivePolicyConfigBase"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "description": "Policy configuration properties.",
+ "properties": {
+ "evaluation_interval": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Evaluation interval of the policy."
+ },
+ "delay_evaluation": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Value indicating the number of sequences for which the first evaluation is delayed."
+ }
+ }
+ }
+ }
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "MedianStopping"
+ },
+ "HyperDriveTruncationSelectionPolicy": {
+ "type": "object",
+ "description": "Truncation selection policy configuration. Please refer https://docs.microsoft.com/en-us/python/api/azureml-train-core/azureml.train.hyperdrive.truncationselectionpolicy?view=azure-ml-py for more information.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HyperDrivePolicyConfigBase"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "description": "Policy configuration properties.",
+ "properties": {
+ "evaluation_interval": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Evaluation interval of the policy."
+ },
+ "delay_evaluation": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Value indicating the number of sequences for which the first evaluation is delayed."
+ },
+ "truncation_percentage": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Truncation percentage value."
+ },
+ "exclude_finished_jobs": {
+ "type": "boolean",
+ "description": "Boolean indicating if metrics from finished jobs should be excluded in the policy decision process."
+ }
+ }
+ }
+ }
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "TruncationSelection"
+ },
+ "HyperDriveExperimentResponse": {
+ "description": "Response for HyperDrive_CreateExperiment in case of success.",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Response code."
+ },
+ "result": {
+ "description": "Details about created Hyperdrive run.",
+ "$ref": "#/definitions/HyperDriveExperiment"
+ }
+ },
+ "required": [
+ "code",
+ "result"
+ ],
+ "type": "object"
+ }
+ },
+ "parameters": {
+ "ArmScopeParameter": {
+ "name": "armScope",
+ "in": "path",
+ "description": "The ARM scope passed in through URL with format:\r\n subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}.\r\n",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/modelManagement.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/modelManagement.json
new file mode 100644
index 000000000000..bbc288a35137
--- /dev/null
+++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/modelManagement.json
@@ -0,0 +1,3603 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-09-30",
+ "title": "Azure Machine Learning Model Management Service",
+ "description": "These APIs allow end users to manage Azure Machine Learning Models, Images, Profiles, and Services."
+ },
+ "paths": {
+ "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/assets": {
+ "get": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Query the list of Assets in a workspace.",
+ "description": "If no filter is passed, the query lists all the Assets in the given workspace. The returned list is paginated and the count of items in each page is an optional parameter.",
+ "operationId": "Assets_ListQuery",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "runId",
+ "in": "query",
+ "description": "The run Id associated with the Assets.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "query",
+ "description": "The object name.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "count",
+ "in": "query",
+ "description": "The number of items to retrieve in a page.",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "The continuation token to retrieve the next page.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tags",
+ "in": "query",
+ "description": "A set of tags with which to filter the returned models.\r\n It is a comma separated string of tags key or tags key=value\r\n Example: tagKey1,tagKey2,tagKey3=value3",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "properties",
+ "in": "query",
+ "description": "A set of properties with which to filter the returned models.\r\n It is a comma separated string of properties key and/or properties key=value\r\n Example: propKey1,propKey2,propKey3=value3",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "orderby",
+ "in": "query",
+ "description": "An option for specifying how to order the list.",
+ "required": false,
+ "type": "string",
+ "default": "CreatedAtDesc",
+ "enum": [
+ "CreatedAtDesc",
+ "CreatedAtAsc",
+ "UpdatedAtDesc",
+ "UpdatedAtAsc"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PaginatedAssetList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ },
+ "post": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Create an Asset.",
+ "description": "Create an Asset from the provided payload.",
+ "operationId": "Assets_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "asset",
+ "in": "body",
+ "description": "The Asset to be created.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/Asset"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Asset"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/assets/{id}": {
+ "get": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Get an Asset.",
+ "description": "Get an Asset by Id.",
+ "operationId": "Assets_QueryById",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The Asset Id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Asset"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Delete an Asset.",
+ "description": "Delete the specified Asset.",
+ "operationId": "Assets_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The Id of the Asset to delete.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource exists and was deleted successfully."
+ },
+ "204": {
+ "description": "The resource does not exist and the request was well formed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Update an Asset.",
+ "description": "Patch a specific Asset.",
+ "operationId": "Assets_Patch",
+ "consumes": [
+ "application/json-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The Id of the Asset to patch.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "patch",
+ "in": "body",
+ "description": "The payload that is used to patch an Asset.",
+ "required": true,
+ "schema": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JsonPatchOperation"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Asset"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/models/{id}": {
+ "get": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Gets a model.",
+ "description": "Gets a model by model id.",
+ "operationId": "MLModels_QueryById",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The model id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Model"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Delete the specified Model.",
+ "description": "Deletes a model if it exists.",
+ "operationId": "MLModels_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The model id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource exists and was deleted successfully."
+ },
+ "204": {
+ "description": "The resource does not exist and the request was well formed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Patch a specific model.",
+ "description": "Updates an existing model with the specified patch.",
+ "operationId": "MLModels_Patch",
+ "consumes": [
+ "application/json-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The model id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "patch",
+ "in": "body",
+ "description": "The payload that is used to patch the model.",
+ "required": true,
+ "schema": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JsonPatchOperation"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Model"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/models": {
+ "get": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Query the list of Models in a workspace.",
+ "description": "The result list can be filtered using tag and name. If no filter is passed, the query lists all the Models in the given workspace. The returned list is paginated and the count of items in each page is an optional parameter.",
+ "operationId": "MLModels_ListQuery",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "name",
+ "in": "query",
+ "description": "The object name.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "framework",
+ "in": "query",
+ "description": "The framework.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "description",
+ "in": "query",
+ "description": "The object description.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "count",
+ "in": "query",
+ "description": "The number of items to retrieve in a page.",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "The continuation token to retrieve the next page.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tags",
+ "in": "query",
+ "description": "A set of tags with which to filter the returned models.\r\n It is a comma separated string of tags key or tags key=value\r\n Example: tagKey1,tagKey2,tagKey3=value3",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "properties",
+ "in": "query",
+ "description": "A set of properties with which to filter the returned models.\r\n It is a comma separated string of properties key and/or properties key=value\r\n Example: propKey1,propKey2,propKey3=value3",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "query",
+ "description": "The runId which created the model.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "An option to specify how the models are ordered in the response.",
+ "required": false,
+ "type": "string",
+ "default": "CreatedAtDesc",
+ "enum": [
+ "CreatedAtDesc",
+ "CreatedAtAsc",
+ "UpdatedAtDesc",
+ "UpdatedAtAsc"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PaginatedModelList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ },
+ "post": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Register a model.",
+ "description": "Register the model provided.",
+ "operationId": "MLModels_Register",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "model",
+ "in": "body",
+ "description": "The payload that is used to register the model.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Model"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The model registration was successful.",
+ "schema": {
+ "$ref": "#/definitions/Model"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/models/{id}/metrics": {
+ "get": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Retrieve the metrics for a Model.",
+ "description": "The operational events collected for the Model are returned.",
+ "operationId": "MLModels_GetMetrics",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The Model Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "startDate",
+ "in": "query",
+ "description": "The start date from which to retrieve metrics, ISO 8601 literal format.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "endDate",
+ "in": "query",
+ "description": "The end date from which to retrieve metrics, ISO 8601 literal format.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ModelOperationalState"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/operations/{id}": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "Get the status of an async operation.",
+ "description": "Get the status of an async operation by operation id.",
+ "operationId": "Operations_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The operation id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AsyncOperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/images/{imageId}/profiles/{id}": {
+ "get": {
+ "tags": [
+ "Profile"
+ ],
+ "summary": "Get a Profile.",
+ "description": "Get the Profile for an Image.",
+ "operationId": "Profiles_QueryById",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "imageId",
+ "in": "path",
+ "description": "The Image Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The Profile Id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ProfileResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/images/{imageId}/profiles": {
+ "get": {
+ "tags": [
+ "Profile"
+ ],
+ "summary": "Get a list of Image Profiles.",
+ "description": "If no filter is passed, the query lists all Profiles for the Image. The returned list is paginated and the count of items in each page is an optional parameter.",
+ "operationId": "Profiles_ListQuery",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "imageId",
+ "in": "path",
+ "description": "The Image Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "query",
+ "description": "The Profile name.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "description",
+ "in": "query",
+ "description": "The Profile description.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tags",
+ "in": "query",
+ "description": "A set of tags with which to filter the returned models.\r\n It is a comma separated string of tags key or tags key=value\r\n Example: tagKey1,tagKey2,tagKey3=value3",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "properties",
+ "in": "query",
+ "description": "A set of properties with which to filter the returned models.\r\n It is a comma separated string of properties key and/or properties key=value\r\n Example: propKey1,propKey2,propKey3=value3",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "count",
+ "in": "query",
+ "description": "The number of items to retrieve in a page.",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "The continuation token to retrieve the next page.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "The option to order the response.",
+ "required": false,
+ "type": "string",
+ "default": "CreatedAtDesc",
+ "enum": [
+ "CreatedAtDesc",
+ "CreatedAtAsc",
+ "UpdatedAtDesc",
+ "UpdatedAtAsc"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PaginatedProfileResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ },
+ "post": {
+ "tags": [
+ "Profile"
+ ],
+ "summary": "Create a Profile.",
+ "description": "Create a Profile for an Image.",
+ "operationId": "Profiles_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "imageId",
+ "in": "path",
+ "description": "The Image Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "inputRequest",
+ "in": "body",
+ "description": "The payload that is used to create the Profile.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProfileRequestBase"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The request was accepted. The header 'Operation-Location' contains the async operation location URL. Accessing this URL with a GET call will return the status of the background task."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/services/{id}": {
+ "get": {
+ "tags": [
+ "Service"
+ ],
+ "summary": "Get a Service.",
+ "description": "Get a Service by Id.",
+ "operationId": "Services_QueryById",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The Service Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "expand",
+ "in": "query",
+ "description": "Set to True to include Model details.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ServiceResponseBase"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Service"
+ ],
+ "summary": "Delete a Service.",
+ "description": "Delete a specific Service.",
+ "operationId": "Services_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The Service Id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource exists and was deleted successfully."
+ },
+ "202": {
+ "description": "Success"
+ },
+ "204": {
+ "description": "The resource does not exist and the request was well formed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Service"
+ ],
+ "summary": "Patch a Service.",
+ "description": "Patch a specific Service.",
+ "operationId": "Services_Patch",
+ "consumes": [
+ "application/json-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The Service Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "patch",
+ "in": "body",
+ "description": "The payload that is used to patch the Service.",
+ "required": true,
+ "schema": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JsonPatchOperation"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "The request was accepted. The header 'Operation-Location' contains the async operation location URL. Accessing this URL with a GET call will return the status of the background task."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/services": {
+ "get": {
+ "tags": [
+ "Service"
+ ],
+ "summary": "Query the list of Services in a Workspace.",
+ "description": "If no filter is passed, the query lists all Services in the Workspace. The returned list is paginated and the count of item in each page is an optional parameter.",
+ "operationId": "Services_ListQuery",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "imageId",
+ "in": "query",
+ "description": "The Image Id.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "imageName",
+ "in": "query",
+ "description": "The Image name.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "modelId",
+ "in": "query",
+ "description": "The Model Id.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "modelName",
+ "in": "query",
+ "description": "The Model name.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "query",
+ "description": "The object name.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "count",
+ "in": "query",
+ "description": "The number of items to retrieve in a page.",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "computeType",
+ "in": "query",
+ "description": "The compute environment type.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "The continuation token to retrieve the next page.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tags",
+ "in": "query",
+ "description": "A set of tags with which to filter the returned models.\r\n It is a comma separated string of tags key or tags key=value\r\n Example: tagKey1,tagKey2,tagKey3=value3",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "properties",
+ "in": "query",
+ "description": "A set of properties with which to filter the returned models.\r\n It is a comma separated string of properties key and/or properties key=value\r\n Example: propKey1,propKey2,propKey3=value3",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "expand",
+ "in": "query",
+ "description": "Set to True to include Model details.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "name": "orderby",
+ "in": "query",
+ "description": "The option to order the response.",
+ "required": false,
+ "type": "string",
+ "default": "UpdatedAtDesc",
+ "enum": [
+ "CreatedAtDesc",
+ "CreatedAtAsc",
+ "UpdatedAtDesc",
+ "UpdatedAtAsc"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PaginatedServiceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ },
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "summary": "Create a Service.",
+ "description": "Create a Service with the specified payload.",
+ "operationId": "Services_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "description": "The payload that is used to create the Service.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateServiceRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The request was accepted. The header 'Operation-Location' contains the async operation location URL. Accessing this URL with a GET call will return the status of the background task."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/services/{id}/listkeys": {
+ "post": {
+ "tags": [
+ "Service",
+ "Keys"
+ ],
+ "summary": "Lists Service keys.",
+ "description": "Gets a list of Service keys.",
+ "operationId": "Services_ListServiceKeys",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The Service Id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AuthKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/services/{id}/regenerateKeys": {
+ "post": {
+ "tags": [
+ "Service",
+ "Keys"
+ ],
+ "summary": "Regenerate Service Keys.",
+ "description": "Regenerate and return the Service keys.",
+ "operationId": "Services_RegenerateServiceKeys",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The Service Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "description": "The payload that is used to regenerate keys.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateServiceKeysRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AuthKeys"
+ }
+ },
+ "202": {
+ "description": "The request was accepted. The header 'Operation-Location' contains the async operation location URL. Accessing this URL with a GET call will return the status of the background task."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/services/{id}/token": {
+ "post": {
+ "tags": [
+ "Service",
+ "Token"
+ ],
+ "summary": "Generate Service Access Token.",
+ "description": "Gets access token that can be used for calling service.",
+ "operationId": "Services_GetServiceToken",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceParameter"
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The Service Id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AuthToken"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ModelErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Asset": {
+ "description": "The Asset definition.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The Asset Id.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the Asset.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The Asset description.",
+ "type": "string"
+ },
+ "artifacts": {
+ "description": "A list of child artifacts.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ArtifactDetails"
+ }
+ },
+ "kvTags": {
+ "description": "The Asset tag dictionary. Tags are mutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "description": "The Asset property dictionary. Properties are immutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "runid": {
+ "description": "The RunId associated with this Asset.",
+ "type": "string"
+ },
+ "meta": {
+ "description": "A dictionary containing metadata about the Asset.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "createdTime": {
+ "format": "date-time",
+ "description": "The time the Asset was created in UTC.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ArtifactDetails": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "prefix": {
+ "type": "string"
+ }
+ }
+ },
+ "PaginatedAssetList": {
+ "description": "A paginated list of Assets.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An array of objects of type Asset.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Asset"
+ }
+ },
+ "nextLink": {
+ "description": "A continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "JsonPatchOperation": {
+ "description": "The Json Patch definition.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "type": "object"
+ },
+ "path": {
+ "description": "The target location.",
+ "type": "string"
+ },
+ "op": {
+ "description": "The operation.",
+ "type": "string"
+ },
+ "from": {
+ "description": "The source location.",
+ "type": "string"
+ }
+ }
+ },
+ "Model": {
+ "description": "An Azure Machine Learning Model.",
+ "required": [
+ "name",
+ "url",
+ "mimeType"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The Model Id.",
+ "type": "string",
+ "example": "sklearn_mnist:1"
+ },
+ "name": {
+ "description": "The Model name.",
+ "type": "string",
+ "example": "sklearn_mnist"
+ },
+ "framework": {
+ "description": "The Model framework.",
+ "type": "string"
+ },
+ "frameworkVersion": {
+ "description": "The Model framework version.",
+ "type": "string"
+ },
+ "version": {
+ "format": "int64",
+ "description": "The Model version assigned by Model Management Service.",
+ "type": "integer",
+ "example": "1"
+ },
+ "datasets": {
+ "description": "The list of datasets associated with the model.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatasetReference"
+ }
+ },
+ "url": {
+ "description": "The URL of the Model. Usually a SAS URL.",
+ "type": "string"
+ },
+ "mimeType": {
+ "description": "The MIME type of Model content. For more details about MIME type, please open https://www.iana.org/assignments/media-types/media-types.xhtml",
+ "type": "string"
+ },
+ "description": {
+ "description": "The Model description text.",
+ "type": "string",
+ "example": "A mnist model, first version."
+ },
+ "createdTime": {
+ "format": "date-time",
+ "description": "The Model creation time (UTC).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedTime": {
+ "format": "date-time",
+ "description": "The Model last modified time (UTC).",
+ "type": "string",
+ "readOnly": true
+ },
+ "unpack": {
+ "description": "Indicates whether we need to unpack the Model during docker Image creation.",
+ "type": "boolean"
+ },
+ "parentModelId": {
+ "description": "The Parent Model Id.",
+ "type": "string",
+ "example": "sklearn_mnist_root:1"
+ },
+ "runId": {
+ "description": "The RunId that created this model.",
+ "type": "string"
+ },
+ "experimentName": {
+ "description": "The name of the experiment where this model was created.",
+ "type": "string"
+ },
+ "kvTags": {
+ "description": "The Model tag dictionary. Items are mutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "description": "The Model property dictionary. Properties are immutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DatasetReference": {
+ "description": "The dataset reference object.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the dataset reference.",
+ "type": "string"
+ },
+ "id": {
+ "description": "The id of the dataset reference.",
+ "type": "string"
+ }
+ }
+ },
+ "PaginatedModelList": {
+ "description": "A paginated list of Models.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An array of objects of type Model.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Model"
+ }
+ },
+ "nextLink": {
+ "description": "A continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "ModelOperationalState": {
+ "description": "The operational state of the Model.",
+ "type": "object",
+ "properties": {
+ "deploymentSummary": {
+ "$ref": "#/definitions/DeploymentSummary",
+ "description": "The summary of the deployment."
+ },
+ "endTime": {
+ "description": "The deployment end time.",
+ "type": "string"
+ },
+ "startTime": {
+ "description": "The deployment start time.",
+ "type": "string"
+ }
+ }
+ },
+ "DeploymentSummary": {
+ "description": "The deployment summary.",
+ "type": "object",
+ "properties": {
+ "successfulDeployments": {
+ "format": "int32",
+ "description": "The number of successful deployments.",
+ "type": "integer"
+ },
+ "unsuccessfulDeployments": {
+ "format": "int32",
+ "description": "The number of unsuccessful deployments.",
+ "type": "integer"
+ }
+ }
+ },
+ "AsyncOperationStatus": {
+ "description": "The async operation status.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The async operation id.",
+ "type": "string"
+ },
+ "operationType": {
+ "description": "The async operation type.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The async operation state.",
+ "enum": [
+ "NotStarted",
+ "Running",
+ "Cancelled",
+ "Succeeded",
+ "Failed",
+ "TimedOut"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AsyncOperationState",
+ "modelAsString": false
+ }
+ },
+ "createdTime": {
+ "format": "date-time",
+ "description": "The async operation creation time (UTC).",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The async operation end time (UTC)l",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/ModelErrorResponse",
+ "description": "The error details."
+ },
+ "resourceLocation": {
+ "description": "The resource created/updated by the async operation.",
+ "type": "string"
+ },
+ "operationLog": {
+ "description": "The async operation log.",
+ "type": "string"
+ },
+ "operationDetails": {
+ "$ref": "#/definitions/AsyncOperationDetails",
+ "description": "The async operation details."
+ },
+ "parentRequestId": {
+ "description": "The request id that created this operation",
+ "type": "string"
+ }
+ }
+ },
+ "ModelErrorResponse": {
+ "description": "The Model Management Service Error object.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "statusCode": {
+ "format": "int32",
+ "description": "The HTTP status code.",
+ "type": "integer"
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string"
+ },
+ "details": {
+ "description": "An array of error detail objects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ },
+ "AsyncOperationDetails": {
+ "description": "The async operation details.",
+ "type": "object",
+ "properties": {
+ "subOperationType": {
+ "description": "The suboperation type.",
+ "type": "string"
+ },
+ "subOperationState": {
+ "description": "The suboperation state.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target of the error (e.g., the name of the property in error).",
+ "type": "string"
+ }
+ }
+ },
+ "ProfileResponse": {
+ "description": "The profile response.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The profile name.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The profile description.",
+ "type": "string"
+ },
+ "imageId": {
+ "description": "The Image Id.",
+ "type": "string"
+ },
+ "inputData": {
+ "description": "The input data.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The state of the profile.",
+ "type": "string"
+ },
+ "createdTime": {
+ "format": "date-time",
+ "description": "The profile creation time (UTC).",
+ "type": "string"
+ },
+ "kvTags": {
+ "description": "The profile tags dictionary. Tags are mutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "description": "The profile properties dictionary. Properties are immutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "recommendedMemoryInGB": {
+ "format": "double",
+ "description": "The recommended amount of memory to allocate in GB.",
+ "type": "number"
+ },
+ "recommendedCpu": {
+ "format": "double",
+ "description": "The recommended CPU allocation.",
+ "type": "number"
+ },
+ "recommendationLatencyInMs": {
+ "format": "double",
+ "description": "Latency associated with the recommended memory/cpu config",
+ "type": "number"
+ },
+ "profileRunResult": {
+ "description": "The profile run result.",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/ModelErrorResponse",
+ "description": "The error details."
+ },
+ "profilingErrorLogs": {
+ "description": "The profiling error logs.",
+ "type": "string"
+ }
+ }
+ },
+ "PaginatedProfileResponseList": {
+ "description": "A paginated list of ProfileResponses.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An array of objects of type ProfileResponse.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProfileResponse"
+ }
+ },
+ "nextLink": {
+ "description": "A continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "ProfileRequestBase": {
+ "description": "The request for creating a profile.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The profile name.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The profile description.",
+ "type": "string"
+ },
+ "inputData": {
+ "description": "The profile input data.",
+ "type": "string"
+ },
+ "kvTags": {
+ "description": "The tags dictionary.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "description": "The properties dictionary.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ServiceResponseBase": {
+ "description": "The base service response. The correct inherited response based on computeType will be returned (ex. ACIServiceResponse)",
+ "required": [
+ "computeType"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The service Id.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The service name.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The service description.",
+ "type": "string"
+ },
+ "kvTags": {
+ "description": "The service tag dictionary. Tags are mutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "description": "The service property dictionary. Properties are immutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "operationId": {
+ "description": "The ID of the latest asynchronous operation for this service.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The current state of the service.",
+ "enum": [
+ "Transitioning",
+ "Healthy",
+ "Unhealthy",
+ "Failed"
+ ],
+ "type": "string",
+ "example": "Healthy",
+ "x-ms-enum": {
+ "name": "WebServiceState",
+ "modelAsString": false
+ }
+ },
+ "createdTime": {
+ "format": "date-time",
+ "description": "The time the service was created.",
+ "type": "string"
+ },
+ "updatedTime": {
+ "format": "date-time",
+ "description": "The time the service was updated.",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/ModelErrorResponse",
+ "description": "The error details."
+ },
+ "computeType": {
+ "description": "The compute environment type for the service.",
+ "enum": [
+ "ACI",
+ "AKS",
+ "AMLCOMPUTE",
+ "IOT",
+ "AKSENDPOINT",
+ "UNKNOWN"
+ ],
+ "type": "string",
+ "example": "AKS",
+ "x-ms-enum": {
+ "name": "ComputeEnvironmentType",
+ "modelAsString": false
+ }
+ },
+ "deploymentType": {
+ "description": "The deployment type for the service.",
+ "enum": [
+ "GRPCRealtimeEndpoint",
+ "HttpRealtimeEndpoint",
+ "Batch"
+ ],
+ "type": "string",
+ "example": "HttpRealtimeEndpoint",
+ "x-ms-enum": {
+ "name": "DeploymentType",
+ "modelAsString": false
+ }
+ }
+ },
+ "discriminator": "computeType"
+ },
+ "PaginatedServiceList": {
+ "description": "A paginated list of Services.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An array of objects of type Service.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceResponseBase"
+ }
+ },
+ "nextLink": {
+ "description": "A continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "CreateServiceRequest": {
+ "description": "The base class for creating a service.",
+ "required": [
+ "name",
+ "computeType"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The service name.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the service.",
+ "type": "string"
+ },
+ "kvTags": {
+ "description": "The service tag dictionary. Tags are mutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "description": "The service properties dictionary. Properties are immutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "keys": {
+ "$ref": "#/definitions/AuthKeys",
+ "description": "The authentication keys."
+ },
+ "computeType": {
+ "description": "The compute environment type for the service.",
+ "enum": [
+ "ACI",
+ "AKS",
+ "AMLCOMPUTE",
+ "IOT",
+ "AKSENDPOINT",
+ "UNKNOWN"
+ ],
+ "type": "string",
+ "example": "AKS",
+ "x-ms-enum": {
+ "name": "ComputeEnvironmentType",
+ "modelAsString": false
+ }
+ },
+ "deploymentType": {
+ "description": "The deployment type for the service.",
+ "enum": [
+ "GRPCRealtimeEndpoint",
+ "HttpRealtimeEndpoint",
+ "Batch"
+ ],
+ "type": "string",
+ "example": "HttpRealtimeEndpoint",
+ "x-ms-enum": {
+ "name": "DeploymentType",
+ "modelAsString": false
+ }
+ },
+ "imageId": {
+ "description": "The Image Id.",
+ "type": "string"
+ },
+ "environmentImageRequest": {
+ "$ref": "#/definitions/EnvironmentImageRequest",
+ "description": "The Environment, models and assets needed for inferencing."
+ },
+ "location": {
+ "description": "The location of the service.",
+ "type": "string"
+ }
+ },
+ "discriminator": "computeType"
+ },
+ "AuthKeys": {
+ "type": "object",
+ "properties": {
+ "primaryKey": {
+ "description": "The primary key.",
+ "type": "string"
+ },
+ "secondaryKey": {
+ "description": "The secondary key.",
+ "type": "string"
+ }
+ }
+ },
+ "ACIServiceResponse": {
+ "description": "The response for an ACI service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceResponseBase"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "containerResourceRequirements": {
+ "$ref": "#/definitions/ContainerResourceRequirements",
+ "description": "The container resource requirements."
+ },
+ "imageId": {
+ "description": "The Id of the Image.",
+ "type": "string"
+ },
+ "imageDetails": {
+ "$ref": "#/definitions/DockerImageResponse",
+ "description": "The Image details."
+ },
+ "scoringUri": {
+ "description": "The Uri for sending scoring requests.",
+ "type": "string"
+ },
+ "location": {
+ "description": "The location of the service.",
+ "type": "string"
+ },
+ "authEnabled": {
+ "description": "Whether or not authentication is enabled on the service.",
+ "type": "boolean"
+ },
+ "sslEnabled": {
+ "description": "Whether or not SSL is enabled.",
+ "type": "boolean"
+ },
+ "appInsightsEnabled": {
+ "description": "Whether or not Application Insights is enabled.",
+ "type": "boolean"
+ },
+ "dataCollection": {
+ "$ref": "#/definitions/ModelDataCollection",
+ "description": "Details of the data collection options specified."
+ },
+ "sslCertificate": {
+ "description": "The SSL certificate to use if SSL is enabled.",
+ "type": "string"
+ },
+ "sslKey": {
+ "description": "The SSL key for the certificate.",
+ "type": "string"
+ },
+ "cname": {
+ "description": "The CName for the service.",
+ "type": "string"
+ },
+ "publicIp": {
+ "description": "The public IP address for the service.",
+ "type": "string"
+ },
+ "publicFqdn": {
+ "description": "The public Fqdn for the service.",
+ "type": "string"
+ },
+ "swaggerUri": {
+ "description": "The Uri for sending swagger requests.",
+ "type": "string"
+ },
+ "modelConfigMap": {
+ "description": "Details on the models and configurations.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "environment": {
+ "$ref": "#/definitions/ModelEnvironmentDefinition",
+ "description": "Details on the Environment."
+ },
+ "models": {
+ "description": "The list of models.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Model"
+ }
+ }
+ }
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "ACI"
+ },
+ "EnvironmentImageRequest": {
+ "description": "Request to create a Docker image based on Environment.",
+ "type": "object",
+ "properties": {
+ "driverProgram": {
+ "description": "The name of the driver file.",
+ "type": "string"
+ },
+ "assets": {
+ "description": "The list of assets.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentImageAsset"
+ }
+ },
+ "modelIds": {
+ "description": "The list of model Ids.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": "[mymodel:1, mymodel:2]"
+ },
+ "environment": {
+ "$ref": "#/definitions/ModelEnvironmentDefinition",
+ "description": "The details of the AZURE ML environment."
+ }
+ }
+ },
+ "EnvironmentImageAsset": {
+ "description": "An Image asset.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The Asset Id.",
+ "type": "string"
+ },
+ "mimeType": {
+ "description": "The mime type.",
+ "type": "string"
+ },
+ "url": {
+ "description": "The Url of the Asset.",
+ "type": "string"
+ },
+ "unpack": {
+ "description": "Whether the Asset is unpacked.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ModelEnvironmentDefinition": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the environment.",
+ "type": "string",
+ "example": "mydevenvironment"
+ },
+ "version": {
+ "description": "The environment version.",
+ "type": "string",
+ "example": "1"
+ },
+ "python": {
+ "$ref": "#/definitions/ModelPythonSection",
+ "description": "Settings for a Python environment."
+ },
+ "environmentVariables": {
+ "description": "Definition of environment variables to be defined in the environment.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "docker": {
+ "$ref": "#/definitions/ModelDockerSection",
+ "description": "The definition of a Docker container."
+ },
+ "spark": {
+ "$ref": "#/definitions/ModelSparkSection",
+ "description": "The configuration for a Spark environment."
+ },
+ "inferencingStackVersion": {
+ "description": "The Inferencing stack version.",
+ "type": "string",
+ "example": "latest"
+ }
+ }
+ },
+ "ModelPythonSection": {
+ "type": "object",
+ "properties": {
+ "interpreterPath": {
+ "description": "The python interpreter path. This is only used when user_managed_dependencies=True.",
+ "type": "string"
+ },
+ "userManagedDependencies": {
+ "description": "True means that AzureML reuses an existing python environment; False means that AzureML will create a python environment based on the Conda dependencies specification.",
+ "type": "boolean"
+ },
+ "condaDependencies": {
+ "type": "object"
+ },
+ "baseCondaEnvironment": {
+ "type": "string"
+ }
+ }
+ },
+ "ModelDockerSection": {
+ "type": "object",
+ "properties": {
+ "baseImage": {
+ "description": "Base image used for Docker-based runs. Mutually exclusive with BaseDockerfile.",
+ "type": "string",
+ "example": "ubuntu:latest"
+ },
+ "baseDockerfile": {
+ "description": "Base Dockerfile used for Docker-based runs. Mutually exclusive with BaseImage.",
+ "type": "string",
+ "example": "FROM ubuntu:latest\r\nRUN echo \"Hello world!\""
+ },
+ "enabled": {
+ "description": "Set True to perform this run inside a Docker container.",
+ "type": "boolean",
+ "example": "True"
+ },
+ "sharedVolumes": {
+ "description": "Set False if necessary to work around shared volume bugs on Windows.",
+ "type": "boolean",
+ "example": "True"
+ },
+ "gpuSupport": {
+ "description": "Run with NVidia Docker extension to support GPUs.",
+ "type": "boolean",
+ "example": "False"
+ },
+ "shmSize": {
+ "description": "The shared memory size setting for NVidia GPUs.",
+ "type": "string",
+ "example": "1g"
+ },
+ "arguments": {
+ "description": "Extra arguments to the Docker run command.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "baseImageRegistry": {
+ "$ref": "#/definitions/ContainerRegistry",
+ "description": "Image registry that contains the base image."
+ }
+ }
+ },
+ "ModelSparkSection": {
+ "type": "object",
+ "properties": {
+ "repositories": {
+ "description": "The list of spark repositories.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "packages": {
+ "description": "The Spark packages to use.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SparkMavenPackage"
+ }
+ },
+ "precachePackages": {
+ "description": "Whether to precache the packages.",
+ "type": "boolean",
+ "example": "True"
+ }
+ }
+ },
+ "ContainerRegistry": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ }
+ }
+ },
+ "SparkMavenPackage": {
+ "type": "object",
+ "properties": {
+ "group": {
+ "type": "string"
+ },
+ "artifact": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ }
+ },
+ "RegenerateServiceKeysRequest": {
+ "type": "object",
+ "properties": {
+ "keyType": {
+ "format": "int32",
+ "description": "Specification for which type of key to generate.",
+ "enum": [
+ "Primary",
+ "Secondary"
+ ],
+ "type": "integer",
+ "example": "Primary",
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": false
+ }
+ },
+ "keyValue": {
+ "description": "The value the key is set to.",
+ "type": "string"
+ }
+ }
+ },
+ "AuthToken": {
+ "description": "Service Token",
+ "type": "object",
+ "properties": {
+ "accessToken": {
+ "description": "Access token.",
+ "type": "string"
+ },
+ "tokenType": {
+ "description": "Access token type.",
+ "type": "string"
+ },
+ "expiryOn": {
+ "format": "int64",
+ "description": "Access token expiry time (UTC).",
+ "type": "integer"
+ },
+ "refreshAfter": {
+ "format": "int64",
+ "description": "Refresh access token after time (UTC).",
+ "type": "integer"
+ }
+ }
+ },
+ "ContainerResourceRequirements": {
+ "description": "The resource requirements for the container (cpu and memory).",
+ "type": "object",
+ "properties": {
+ "cpu": {
+ "format": "double",
+ "description": "The number of CPU cores on the container.",
+ "type": "number",
+ "example": "4"
+ },
+ "memoryInGB": {
+ "format": "double",
+ "description": "The amount of memory on the container in GB.",
+ "type": "number",
+ "example": "64"
+ },
+ "gpu": {
+ "format": "int32",
+ "description": "The number of GPU cores in the container.",
+ "type": "integer"
+ },
+ "fpga": {
+ "format": "int32",
+ "description": "The number of FPGA PCIE devices exposed to the container. Must be multiple of 2.",
+ "type": "integer"
+ }
+ }
+ },
+ "DockerImageResponse": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ImageResponseBase"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "driverProgram": {
+ "description": "The name of the driver file.",
+ "type": "string"
+ },
+ "assets": {
+ "description": "The list of assets.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentImageAsset"
+ }
+ },
+ "targetRuntime": {
+ "$ref": "#/definitions/TargetRuntime",
+ "description": "The target runtime."
+ },
+ "dockerFileUri": {
+ "description": "The Uri to the docker file.",
+ "type": "string"
+ },
+ "generatedDockerFileUri": {
+ "description": "The Uri to the generated docker file.",
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "WEBAPICONTAINER"
+ },
+ "ModelDataCollection": {
+ "description": "The Model data collection properties.",
+ "type": "object",
+ "properties": {
+ "eventHubEnabled": {
+ "description": "Option for enabling/disabling Event Hub.",
+ "type": "boolean"
+ },
+ "storageEnabled": {
+ "description": "Option for enabling/disabling storage.",
+ "type": "boolean"
+ }
+ }
+ },
+ "RegistryInfo": {
+ "description": "Contains registry information.",
+ "required": [
+ "user",
+ "location",
+ "password"
+ ],
+ "type": "object",
+ "properties": {
+ "user": {
+ "description": "The user.",
+ "type": "string"
+ },
+ "location": {
+ "description": "The location.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password.",
+ "type": "string"
+ }
+ }
+ },
+ "TargetRuntime": {
+ "description": "The target runtime.",
+ "type": "object",
+ "properties": {
+ "targetArchitecture": {
+ "description": "The target architecture.",
+ "enum": [
+ "Amd64",
+ "Arm32v7"
+ ],
+ "type": "string",
+ "example": "Amd64",
+ "x-ms-enum": {
+ "name": "ArchitectureType",
+ "modelAsString": false
+ }
+ },
+ "osType": {
+ "description": "The target operating system.",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "type": "string",
+ "example": "linux",
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": false
+ }
+ },
+ "runtimeType": {
+ "description": "The target runtime type.",
+ "enum": [
+ "SparkPython",
+ "Tlc37",
+ "Tlc38",
+ "Tlc310",
+ "Python",
+ "PythonSlim",
+ "PythonCustom"
+ ],
+ "type": "string",
+ "example": "Python",
+ "x-ms-enum": {
+ "name": "RuntimeType",
+ "modelAsString": false
+ }
+ },
+ "properties": {
+ "description": "The properties dictionary.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AKSEndpointResponse": {
+ "description": "The response for an AKS Endpoint.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceResponseBase"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "computeName": {
+ "description": "The name of the compute resource.",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "The Kubernetes namespace of the deployment.",
+ "type": "string"
+ },
+ "appInsightsEnabled": {
+ "description": "Whether or not Application Insights is enabled.",
+ "type": "boolean"
+ },
+ "authEnabled": {
+ "description": "Whether or not authentication is enabled.",
+ "type": "boolean"
+ },
+ "aadAuthEnabled": {
+ "description": "Whether or not AAD authentication is enabled.",
+ "type": "boolean"
+ },
+ "swaggerUri": {
+ "description": "The Uri for sending swagger requests.",
+ "type": "string"
+ },
+ "scoringUri": {
+ "description": "The Uri for sending scoring requests.",
+ "type": "string"
+ },
+ "variants": {
+ "description": "All the variants that belongs to this endpoint.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AKSServiceResponse"
+ }
+ }
+ }
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "AKSENDPOINT"
+ },
+ "AKSServiceResponse": {
+ "description": "The response for an AKS service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AKSVariantResponse"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "imageDetails": {
+ "$ref": "#/definitions/ImageResponseBase",
+ "description": "The Docker Image details."
+ },
+ "imageId": {
+ "description": "The Id of the Image.",
+ "type": "string"
+ },
+ "models": {
+ "description": "The list of models.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Model"
+ }
+ },
+ "containerResourceRequirements": {
+ "$ref": "#/definitions/ContainerResourceRequirements",
+ "description": "The container resource requirements."
+ },
+ "maxConcurrentRequestsPerContainer": {
+ "format": "int32",
+ "description": "The maximum number of concurrent requests per container.",
+ "type": "integer"
+ },
+ "maxQueueWaitMs": {
+ "format": "int32",
+ "description": "Maximum time a request will wait in the queue (in milliseconds). After this time, the service will return 503 (Service Unavailable)",
+ "type": "integer"
+ },
+ "computeName": {
+ "description": "The name of the compute resource.",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "The Kubernetes namespace of the deployment.",
+ "type": "string"
+ },
+ "numReplicas": {
+ "format": "int32",
+ "description": "The number of replicas on the cluster.",
+ "type": "integer"
+ },
+ "dataCollection": {
+ "$ref": "#/definitions/ModelDataCollection",
+ "description": "Details of the data collection options specified."
+ },
+ "appInsightsEnabled": {
+ "description": "Whether or not Application Insights is enabled.",
+ "type": "boolean"
+ },
+ "autoScaler": {
+ "$ref": "#/definitions/AutoScaler",
+ "description": "The auto scaler properties."
+ },
+ "scoringUri": {
+ "description": "The Uri for sending scoring requests.",
+ "type": "string"
+ },
+ "deploymentStatus": {
+ "$ref": "#/definitions/AKSReplicaStatus",
+ "description": "The deployment status."
+ },
+ "scoringTimeoutMs": {
+ "format": "int32",
+ "description": "The scoring timeout in milliseconds.",
+ "type": "integer"
+ },
+ "livenessProbeRequirements": {
+ "$ref": "#/definitions/LivenessProbeRequirements",
+ "description": "The liveness probe requirements."
+ },
+ "authEnabled": {
+ "description": "Whether or not authentication is enabled.",
+ "type": "boolean"
+ },
+ "aadAuthEnabled": {
+ "description": "Whether or not AAD authentication is enabled.",
+ "type": "boolean"
+ },
+ "swaggerUri": {
+ "description": "The Uri for sending swagger requests.",
+ "type": "string"
+ },
+ "modelConfigMap": {
+ "description": "Details on the models and configurations.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "environment": {
+ "$ref": "#/definitions/ModelEnvironmentDefinition",
+ "description": "Details on the Environment."
+ }
+ }
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "AKS"
+ },
+ "ImageResponseBase": {
+ "required": [
+ "imageFlavor"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The image Id.",
+ "type": "string",
+ "example": "myimage:3"
+ },
+ "name": {
+ "description": "The image name.",
+ "type": "string",
+ "example": "myimage:3"
+ },
+ "version": {
+ "format": "int64",
+ "description": "The image version.",
+ "type": "integer",
+ "example": "3"
+ },
+ "description": {
+ "description": "The image description.",
+ "type": "string",
+ "example": "My docker image."
+ },
+ "kvTags": {
+ "description": "The image tag dictionary. Tags are mutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "description": "The image properties dictionary. Properties are immutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "createdTime": {
+ "format": "date-time",
+ "description": "The time the image was created.",
+ "type": "string"
+ },
+ "modifiedTime": {
+ "format": "date-time",
+ "description": "The time the image was last modified.",
+ "type": "string"
+ },
+ "autoDelete": {
+ "description": "Whether the image will be automatically deleted with the last service using it.",
+ "type": "boolean"
+ },
+ "imageType": {
+ "description": "The type of the image.",
+ "enum": [
+ "Docker"
+ ],
+ "type": "string",
+ "example": "Docker",
+ "x-ms-enum": {
+ "name": "ImageType",
+ "modelAsString": false
+ }
+ },
+ "imageFlavor": {
+ "description": "The flavor of the image.",
+ "enum": [
+ "WebApiContainer",
+ "BatchContainer",
+ "IoTContainer",
+ "AccelContainer",
+ "UserProvidedContainer"
+ ],
+ "type": "string",
+ "example": "WebApiContainer",
+ "x-ms-enum": {
+ "name": "ImageFlavor",
+ "modelAsString": false
+ }
+ },
+ "creationState": {
+ "description": "The state of the operation.",
+ "enum": [
+ "NotStarted",
+ "Running",
+ "Cancelled",
+ "Succeeded",
+ "Failed",
+ "TimedOut"
+ ],
+ "type": "string",
+ "example": "Running",
+ "x-ms-enum": {
+ "name": "AsyncOperationState",
+ "modelAsString": false
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/ModelErrorResponse",
+ "description": "The error response."
+ },
+ "modelIds": {
+ "description": "The list of model Ids.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "modelDetails": {
+ "description": "The list of models.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Model"
+ }
+ },
+ "imageLocation": {
+ "description": "The Image location string.",
+ "type": "string"
+ },
+ "imageBuildLogUri": {
+ "description": "The Uri to the image build logs.",
+ "type": "string"
+ },
+ "operationId": {
+ "description": "The ID of the asynchronous operation for this image.",
+ "type": "string"
+ }
+ },
+ "discriminator": "imageFlavor"
+ },
+ "AutoScaler": {
+ "description": "The Auto Scaler properties.",
+ "type": "object",
+ "properties": {
+ "autoscaleEnabled": {
+ "description": "Option to enable/disable auto scaling.",
+ "type": "boolean"
+ },
+ "minReplicas": {
+ "format": "int32",
+ "description": "The minimum number of replicas to scale down to.",
+ "type": "integer",
+ "example": "1"
+ },
+ "maxReplicas": {
+ "format": "int32",
+ "description": "The maximum number of replicas in the cluster.",
+ "type": "integer",
+ "example": "3"
+ },
+ "targetUtilization": {
+ "format": "int32",
+ "description": "The target utilization percentage to use for determining whether to scale the cluster.",
+ "type": "integer",
+ "example": "70"
+ },
+ "refreshPeriodInSeconds": {
+ "format": "int32",
+ "description": "The amount of seconds to wait between auto scale updates.",
+ "type": "integer",
+ "example": "120"
+ }
+ }
+ },
+ "AKSReplicaStatus": {
+ "type": "object",
+ "properties": {
+ "desiredReplicas": {
+ "format": "int32",
+ "description": "The desired number of replicas.",
+ "type": "integer",
+ "example": "2"
+ },
+ "updatedReplicas": {
+ "format": "int32",
+ "description": "The number of updated replicas.",
+ "type": "integer",
+ "example": "1"
+ },
+ "availableReplicas": {
+ "format": "int32",
+ "description": "The number of available replicas.",
+ "type": "integer",
+ "example": "1"
+ },
+ "error": {
+ "$ref": "#/definitions/ModelErrorResponse",
+ "description": "The error details."
+ }
+ }
+ },
+ "LivenessProbeRequirements": {
+ "description": "The liveness probe requirements.",
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "format": "int32",
+ "description": "The number of failures to allow before returning an unhealthy status.",
+ "type": "integer"
+ },
+ "successThreshold": {
+ "format": "int32",
+ "description": "The number of successful probes before returning a healthy status.",
+ "type": "integer"
+ },
+ "timeoutSeconds": {
+ "format": "int32",
+ "description": "The probe timeout in seconds.",
+ "type": "integer"
+ },
+ "periodSeconds": {
+ "format": "int32",
+ "description": "The length of time between probes in seconds.",
+ "type": "integer"
+ },
+ "initialDelaySeconds": {
+ "format": "int32",
+ "description": "The delay before the first probe in seconds.",
+ "type": "integer"
+ }
+ }
+ },
+ "AKSVariantResponse": {
+ "description": "The response for an AKS variant.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceResponseBase"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "isDefault": {
+ "description": "Is this the default variant.",
+ "type": "boolean"
+ },
+ "trafficPercentile": {
+ "format": "float",
+ "description": "The amount of traffic variant receives.",
+ "type": "number"
+ },
+ "type": {
+ "description": "The type of the variant.",
+ "enum": [
+ "Control",
+ "Treatment"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "VariantType",
+ "modelAsString": false
+ }
+ }
+ }
+ }
+ ],
+ "properties": {}
+ },
+ "BatchServiceResponse": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceResponseBase"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "modelIds": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "computeName": {
+ "type": "string"
+ },
+ "environmentName": {
+ "type": "string"
+ },
+ "environmentVersion": {
+ "type": "string"
+ },
+ "scoringUri": {
+ "type": "string"
+ },
+ "appInsightsEnabled": {
+ "type": "boolean"
+ },
+ "modelDataCollection": {
+ "$ref": "#/definitions/ModelDataCollection"
+ },
+ "entryScript": {
+ "type": "string"
+ },
+ "inputFormat": {
+ "type": "string"
+ },
+ "outputAction": {
+ "type": "string"
+ },
+ "miniBatchSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "errorThreshold": {
+ "format": "double",
+ "type": "number"
+ },
+ "nodeCount": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "processCountPerNode": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "AMLCOMPUTE"
+ },
+ "IotServiceResponse": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceResponseBase"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "iotDeviceId": {
+ "type": "string"
+ },
+ "routes": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "computeName": {
+ "type": "string"
+ },
+ "iotEdgeModules": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotModuleSettings"
+ }
+ },
+ "authEnabled": {
+ "type": "boolean"
+ },
+ "imageDetails": {
+ "$ref": "#/definitions/ImageResponseBase"
+ },
+ "imageId": {
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "IOT"
+ },
+ "IotModuleSettings": {
+ "type": "object",
+ "properties": {
+ "imageLocation": {
+ "type": "string"
+ },
+ "moduleName": {
+ "type": "string"
+ },
+ "propertiesDesired": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "createOptions": {
+ "type": "string"
+ },
+ "environmentVariables": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "UnknownServiceResponse": {
+ "description": "The response for an unsupported Service\r\nDefines the basic service properties",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceResponseBase"
+ },
+ {
+ "type": "object",
+ "properties": {}
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "UNKNOWON"
+ },
+ "ACIServiceCreateRequest": {
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CreateServiceRequest"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "containerResourceRequirements": {
+ "$ref": "#/definitions/ContainerResourceRequirements",
+ "description": "The container resource requirements."
+ },
+ "authEnabled": {
+ "description": "Whether or not authentication is enabled on the service.",
+ "default": false,
+ "type": "boolean"
+ },
+ "sslEnabled": {
+ "description": "Whether or not SSL is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "appInsightsEnabled": {
+ "description": "Whether or not Application Insights is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "dataCollection": {
+ "$ref": "#/definitions/ModelDataCollection",
+ "description": "Details of the data collection options specified."
+ },
+ "sslCertificate": {
+ "description": "The SSL certificate to use if SSL is enabled.",
+ "type": "string"
+ },
+ "sslKey": {
+ "description": "The SSL key for the certificate.",
+ "type": "string"
+ },
+ "cname": {
+ "description": "The CName for the service.",
+ "type": "string"
+ },
+ "dnsNameLabel": {
+ "description": "The Dns label for the service.",
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "ACI"
+ },
+ "AKSServiceCreateRequest": {
+ "description": "The request to create an AKS service.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CreateEndpointVariantRequest"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "numReplicas": {
+ "format": "int32",
+ "description": "The number of replicas on the cluster.",
+ "type": "integer"
+ },
+ "dataCollection": {
+ "$ref": "#/definitions/ModelDataCollection",
+ "description": "Details of the data collection options specified."
+ },
+ "computeName": {
+ "description": "The name of the compute resource.",
+ "type": "string"
+ },
+ "appInsightsEnabled": {
+ "description": "Whether or not Application Insights is enabled.",
+ "type": "boolean"
+ },
+ "autoScaler": {
+ "$ref": "#/definitions/AutoScaler",
+ "description": "The auto scaler properties."
+ },
+ "containerResourceRequirements": {
+ "$ref": "#/definitions/ContainerResourceRequirements",
+ "description": "The container resource requirements."
+ },
+ "maxConcurrentRequestsPerContainer": {
+ "format": "int32",
+ "description": "The maximum number of concurrent requests per container.",
+ "type": "integer"
+ },
+ "maxQueueWaitMs": {
+ "format": "int32",
+ "description": "Maximum time a request will wait in the queue (in milliseconds). After this time, the service will return 503 (Service Unavailable)",
+ "type": "integer"
+ },
+ "namespace": {
+ "description": "Kubernetes namespace for the service.",
+ "type": "string"
+ },
+ "scoringTimeoutMs": {
+ "format": "int32",
+ "description": "The scoring timeout in milliseconds.",
+ "type": "integer"
+ },
+ "authEnabled": {
+ "description": "Whether or not authentication is enabled.",
+ "type": "boolean"
+ },
+ "livenessProbeRequirements": {
+ "$ref": "#/definitions/LivenessProbeRequirements",
+ "description": "The liveness probe requirements."
+ },
+ "aadAuthEnabled": {
+ "description": "Whether or not AAD authentication is enabled.",
+ "type": "boolean"
+ }
+ }
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "AKS"
+ },
+ "CreateEndpointRequest": {
+ "description": "The request to create an Endpoint in the AKS.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CreateServiceRequest"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "computeName": {
+ "description": "The name of the compute resource.",
+ "type": "string"
+ },
+ "appInsightsEnabled": {
+ "description": "Whether or not Application Insights is enabled.",
+ "type": "boolean"
+ },
+ "authEnabled": {
+ "description": "Whether or not authentication is enabled.",
+ "type": "boolean"
+ },
+ "aadAuthEnabled": {
+ "description": "Whether or not AAD authentication is enabled.",
+ "type": "boolean"
+ },
+ "namespace": {
+ "description": "Kubernetes namespace for the service.",
+ "type": "string"
+ },
+ "variants": {
+ "description": "The service tag list.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AKSServiceCreateRequest"
+ }
+ }
+ }
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "AKSENDPOINT"
+ },
+ "CreateEndpointVariantRequest": {
+ "description": "The Variant properties.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CreateServiceRequest"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "isDefault": {
+ "description": "Is this the default variant.",
+ "type": "boolean"
+ },
+ "trafficPercentile": {
+ "format": "float",
+ "description": "The amount of traffic variant receives.",
+ "type": "number"
+ },
+ "type": {
+ "description": "The type of the variant.",
+ "enum": [
+ "Control",
+ "Treatment"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "VariantType",
+ "modelAsString": false
+ }
+ }
+ }
+ }
+ ],
+ "properties": {}
+ },
+ "CreateIotServiceRequest": {
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CreateServiceRequest"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "iotDeviceId": {
+ "type": "string"
+ },
+ "routes": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "iotEdgeUserModule": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotModuleSettings"
+ }
+ },
+ "iotEdgeModule": {
+ "$ref": "#/definitions/IotBaseModuleSettings"
+ },
+ "computeName": {
+ "type": "string"
+ },
+ "acrCredentials": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegistryInfo"
+ }
+ },
+ "authEnabled": {
+ "type": "boolean"
+ }
+ }
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "IOT"
+ },
+ "IotBaseModuleSettings": {
+ "type": "object",
+ "properties": {
+ "moduleName": {
+ "type": "string"
+ },
+ "propertiesDesired": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "createOptions": {
+ "type": "string"
+ },
+ "environmentVariables": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "FPGADockerImageResponse": {
+ "description": "The FPGA Docker Image response.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ImageResponseBase"
+ },
+ {
+ "type": "object",
+ "properties": {}
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "ACCELCONTAINER"
+ }
+ },
+ "parameters": {
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Azure Subscription ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupParameter": {
+ "name": "resourceGroup",
+ "in": "path",
+ "description": "The Name of the resource group in which the workspace is located.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "workspaceParameter": {
+ "name": "workspace",
+ "in": "path",
+ "description": "The name of the workspace.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "tags": []
+}
diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/runHistory.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/runHistory.json
new file mode 100644
index 000000000000..238be79798fd
--- /dev/null
+++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-09-30/runHistory.json
@@ -0,0 +1,2701 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-09-30",
+ "title": "Run History APIs"
+ },
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/batch/events": {
+ "post": {
+ "tags": [
+ "Events"
+ ],
+ "summary": "Batch post event data.",
+ "description": "Post event data to a specific Run Id.",
+ "operationId": "Events_BatchPost",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "batchEventCommand",
+ "in": "body",
+ "description": "The batch of Event details.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/BatchEventCommand"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The batch of Events is posted successfully.",
+ "schema": {
+ "$ref": "#/definitions/BatchEventCommandResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}/events": {
+ "post": {
+ "tags": [
+ "Events"
+ ],
+ "summary": "Post event data.",
+ "description": "Post event data to a specific Run Id.",
+ "operationId": "Events_Post",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier of the Run.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventMessage",
+ "in": "body",
+ "description": "The Event details.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/BaseEvent"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Event is posted successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}": {
+ "get": {
+ "tags": [
+ "Experiments"
+ ],
+ "summary": "Get details of an Experiment.",
+ "description": "Get details of an Experiment with specific Experiment name.",
+ "operationId": "Experiments_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The details of the Experiment are returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/Experiment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Experiments"
+ ],
+ "summary": "Create an Experiment.",
+ "description": "Create a new Experiment.",
+ "operationId": "Experiments_Create",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Experiment is created successfully.",
+ "schema": {
+ "$ref": "#/definitions/Experiment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experimentids/{experimentId}": {
+ "get": {
+ "tags": [
+ "Experiments"
+ ],
+ "summary": "Get details of an Experiment.",
+ "description": "Get details of an Experiment with specific Experiment Id.",
+ "operationId": "Experiments_GetById",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentId",
+ "in": "path",
+ "description": "The identifier of the experiment.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Experiment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Experiments"
+ ],
+ "summary": "Update details of an Experiment.",
+ "description": "Update details of an Experiment with specific Experiment Id.",
+ "operationId": "Experiments_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentId",
+ "in": "path",
+ "description": "The identifier of the experiment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "modifyExperimentDto",
+ "in": "body",
+ "description": "Experiment details which needs to be updated.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ModifyExperiment"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Experiment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments:query": {
+ "post": {
+ "tags": [
+ "Experiments"
+ ],
+ "summary": "Get all Experiments in a specific workspace.",
+ "description": "Get all experiments in a specific workspace with the specified query filters.",
+ "operationId": "Experiments_GetByQuery",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "queryParams",
+ "in": "body",
+ "description": "Query parameters for data sorting and filtering.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/QueryParams"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PaginatedExperimentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experimentids/{experimentId}/tags": {
+ "delete": {
+ "tags": [
+ "Experiments"
+ ],
+ "summary": "Delete list of Tags in an Experiment.",
+ "description": "Delete list of Tags from a specific Experiment Id.",
+ "operationId": "Experiments_DeleteTags",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentId",
+ "in": "path",
+ "description": "The identifier of the experiment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tags",
+ "in": "body",
+ "description": "The requested tags list to be deleted.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/DeleteTagsCommand"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Experiment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}/children": {
+ "get": {
+ "tags": [
+ "Run"
+ ],
+ "summary": "Get details of all child runs.",
+ "description": "Get details of all child runs for the specified Run Id with the specified filters.",
+ "operationId": "Runs_GetChild",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier of the Run.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Allows for filtering the collection of resources.\r\nThe expression specified is evaluated for each resource in the collection, and only items where the expression evaluates to true are included in the response.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$continuationtoken",
+ "in": "query",
+ "description": "The continuation token to use for getting the next set of resources.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "The list of resource properties to use for sorting the requested resources.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi",
+ "uniqueItems": false
+ },
+ {
+ "name": "$sortorder",
+ "in": "query",
+ "description": "The sort order of the returned resources. Not used, specify asc or desc after each property name in the OrderBy parameter.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Asc",
+ "Desc"
+ ]
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "description": "The maximum number of items in the resource collection to be included in the result.\r\nIf not specified, all items are returned.",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$count",
+ "in": "query",
+ "description": "Whether to include a count of the matching resources along with the resources returned in the response.",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The details of the child Runs are returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/PaginatedRunList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}/details": {
+ "get": {
+ "tags": [
+ "Run"
+ ],
+ "summary": "Get Run Details.",
+ "description": "Get Run Details for a specific Run Id.",
+ "operationId": "Runs_GetDetails",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier of the Run.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The details of the Run are returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/RunDetails"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/batch/runs": {
+ "patch": {
+ "tags": [
+ "Run"
+ ],
+ "summary": "Add or Modify a batch of Runs.",
+ "description": "Add or Modify a batch of Runs for a given experiment.",
+ "operationId": "Runs_BatchAddOrModify",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "requestDto",
+ "in": "body",
+ "description": "The list of requested Run Additions/modifications in an Experiment.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/BatchAddOrModifyRunRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Batch Runs are added/modified successfully.",
+ "schema": {
+ "$ref": "#/definitions/BatchAddOrModifyRunResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}": {
+ "get": {
+ "tags": [
+ "Run"
+ ],
+ "summary": "Get Run details.",
+ "description": "Get Run details of a specific Run Id.",
+ "operationId": "Runs_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier of the Run.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The details of the Run are returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/Run"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Run"
+ ],
+ "summary": "Add or Modify a Run.",
+ "description": "Add a new Run or Modify an existing Run.",
+ "operationId": "Runs_Patch",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier of the Run.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][\\w-]{0,255}$"
+ },
+ {
+ "name": "createRunDto",
+ "in": "body",
+ "description": "The requested Run parameter Additions/modifications.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/CreateRun"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Run is added/modified successfully.",
+ "schema": {
+ "$ref": "#/definitions/Run"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}/tags": {
+ "delete": {
+ "tags": [
+ "Run"
+ ],
+ "summary": "Delete list of Tags in a Run.",
+ "description": "Delete list of Tags from a specific Run Id.",
+ "operationId": "Runs_DeleteTags",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier of the Run.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tags",
+ "in": "body",
+ "description": "The requested tags list to be deleted.",
+ "required": false,
+ "schema": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Run"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs:query": {
+ "post": {
+ "tags": [
+ "Run"
+ ],
+ "summary": "Get all Runs for a specific Experiment.",
+ "description": "Get all Runs for a specific Experiment with the specified query filters.",
+ "operationId": "Runs_GetByQuery",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "queryParams",
+ "in": "body",
+ "description": "Query parameters for data sorting and filtering.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/QueryParams"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PaginatedRunList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}/artifacts": {
+ "get": {
+ "tags": [
+ "RunArtifacts"
+ ],
+ "summary": "Get Artifacts in a container.",
+ "description": "Get Artifacts in container for a specific Run Id.",
+ "operationId": "RunArtifacts_ListInContainer",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier of the Run.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "continuationToken",
+ "in": "query",
+ "description": "The Continuation Token.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Artifacts in Container are returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/PaginatedArtifactList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}/artifacts/path": {
+ "get": {
+ "tags": [
+ "RunArtifacts"
+ ],
+ "summary": "Get Artifacts in the provided path.",
+ "description": "Get Artifacts in the provided path for a specific Run Id.",
+ "operationId": "RunArtifacts_ListInPath",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier of the Run.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "continuationToken",
+ "in": "query",
+ "description": "The Continuation Token.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PaginatedArtifactList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}/artifacts/metadata": {
+ "get": {
+ "tags": [
+ "RunArtifacts"
+ ],
+ "summary": "Get Artifact by Id.",
+ "description": "Get Artifact for a specific Id.",
+ "operationId": "RunArtifacts_GetById",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier of the Run.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Artifact"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}/artifacts/contentinfo": {
+ "get": {
+ "tags": [
+ "RunArtifacts"
+ ],
+ "summary": "Get Artifact content information.",
+ "description": "Get Artifact content information for give Run Id.",
+ "operationId": "RunArtifacts_GetContentInformation",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier of the Run.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Artifact content information is returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ArtifactContentInformation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}/artifacts/artifacturi": {
+ "get": {
+ "tags": [
+ "RunArtifacts"
+ ],
+ "summary": "Get URI of an Artifact.",
+ "description": "Get URI of an Artifact for a specific Run Id.",
+ "operationId": "RunArtifacts_GetSasUri",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier of the Run.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}/artifacts/prefix/contentinfo": {
+ "get": {
+ "tags": [
+ "RunArtifacts"
+ ],
+ "summary": "Get SAS of an Artifact.",
+ "description": "Get SAS of an Artifact in the specified path.",
+ "operationId": "RunArtifacts_ListSasByPrefix",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier of the Run.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The Artifact Path.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "continuationToken",
+ "in": "query",
+ "description": "The Continuation Token.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PaginatedArtifactContentInformationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}/artifacts/batch/metadata": {
+ "post": {
+ "tags": [
+ "RunArtifacts"
+ ],
+ "summary": "Create a batch of empty Artifacts.",
+ "description": "Create a batch of empty Artifacts in a specific Run.",
+ "operationId": "RunArtifacts_BatchCreateEmptyArtifacts",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier of the Run.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "artifactPaths",
+ "in": "body",
+ "description": "The list of artifact paths.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ArtifactPathList"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Batch Artifacts are created successfully.",
+ "schema": {
+ "$ref": "#/definitions/BatchArtifactContentInformationResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}/metrics": {
+ "post": {
+ "tags": [
+ "RunMetrics"
+ ],
+ "summary": "Post Metric to a Run.",
+ "description": "Post a Metric to a specific Run Id.",
+ "operationId": "RunMetrics_Post",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier for a run.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "metricDto",
+ "in": "body",
+ "description": "Details of the metric which will be added to the Run Id.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/Metric"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Run Metric is posted successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/runs/{runId}/batch/metrics": {
+ "post": {
+ "tags": [
+ "RunMetrics"
+ ],
+ "summary": "Post Metrics to a Run.",
+ "description": "Post Metrics to a specific Run Id.",
+ "operationId": "RunMetrics_BatchPost",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "runId",
+ "in": "path",
+ "description": "The identifier for a run.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "batchMetricDto",
+ "in": "body",
+ "description": "Details of the Metrics which will be added to the Run Id.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/BatchMetric"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Run Metrics are posted successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/metrics/{metricId}": {
+ "get": {
+ "tags": [
+ "RunMetrics"
+ ],
+ "summary": "Get Metric details.",
+ "description": "Get Metric details for a specific Metric Id.",
+ "operationId": "RunMetrics_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "metricId",
+ "in": "path",
+ "description": "The identifier for a Metric.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/RunMetric"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/metrics:query": {
+ "post": {
+ "tags": [
+ "RunMetrics"
+ ],
+ "summary": "Get all Run Metrics for the specific Experiment.",
+ "description": "Get all Run Metrics for the specific Experiment with the specified query filters.",
+ "operationId": "RunMetrics_GetByQuery",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/workspaceNameParameter"
+ },
+ {
+ "name": "experimentName",
+ "in": "path",
+ "description": "The experiment name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "queryParams",
+ "in": "body",
+ "description": "Query Parameters for data sorting and filtering.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/QueryParams"
+ }
+ },
+ {
+ "name": "MergeStrategyType",
+ "in": "query",
+ "description": "The type of merge strategy. Currently supported strategies are:\r\nNone - all logged values are returned as individual metrics.\r\nMergeToVector - merges multiple values into a vector of values.\r\nDefault - the system determines the behavior.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Default",
+ "None",
+ "MergeToVector"
+ ]
+ },
+ {
+ "name": "MergeStrategyOptions",
+ "in": "query",
+ "description": "Controls behavior of the merge strategy in certain cases; e.g. when a metric is not merged.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "None",
+ "ReportUnmergedMetricsValues"
+ ]
+ },
+ {
+ "name": "MergeStrategySettings.Version",
+ "in": "query",
+ "description": "The strategy settings version.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "MergeStrategySettings.SelectMetrics",
+ "in": "query",
+ "description": "Defines how to select metrics when merging them together.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "SelectAll",
+ "SelectByFirstValueSchema",
+ "SelectByFirstValueSchemaMergeNumericValues"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Run Metrics are returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/PaginatedRunMetricList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BatchEventCommand": {
+ "type": "object",
+ "properties": {
+ "events": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BaseEvent"
+ }
+ }
+ }
+ },
+ "BaseEvent": {
+ "description": "Base event is the envelope used to post event data to the Event controller",
+ "type": "object",
+ "properties": {
+ "timestamp": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "data": {
+ "type": "object"
+ }
+ }
+ },
+ "BatchEventCommandResult": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyValuePairBaseEventErrorResponse"
+ }
+ }
+ }
+ },
+ "KeyValuePairBaseEventErrorResponse": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "$ref": "#/definitions/BaseEvent",
+ "readOnly": true
+ },
+ "value": {
+ "$ref": "#/definitions/ErrorResponse",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "The error response.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/RootError",
+ "description": "The top level error that occurred."
+ },
+ "correlation": {
+ "description": "Dictionary containing correlation details for the error.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "environment": {
+ "description": "The hosting environment.",
+ "type": "string"
+ },
+ "location": {
+ "description": "The Azure region.",
+ "type": "string"
+ },
+ "time": {
+ "format": "date-time",
+ "description": "The time in UTC.",
+ "type": "string"
+ }
+ }
+ },
+ "RootError": {
+ "description": "The root error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The service-defined error code. Supported error codes: ServiceError, UserError, ValidationError, AzureStorageError, TransientError, RequestThrottled.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human-readable representation of the error.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target of the error (e.g., the name of the property in error).",
+ "type": "string"
+ },
+ "details": {
+ "description": "The related errors that occurred during the request.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerErrorResponse",
+ "description": "A nested list of inner errors. When evaluating errors, clients MUST traverse through all of the nested “innerErrors” and choose the deepest one that they understand."
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target of the error (e.g., the name of the property in error).",
+ "type": "string"
+ }
+ }
+ },
+ "InnerErrorResponse": {
+ "description": "A nested structure of errors.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerErrorResponse",
+ "description": "A nested list of inner errors. When evaluating errors, clients MUST traverse through all of the nested “innerErrors” and choose the deepest one that they understand."
+ }
+ }
+ },
+ "Experiment": {
+ "type": "object",
+ "properties": {
+ "experimentId": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "createdUtc": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "archivedTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "latestCreatedRunCreatedUtc": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "latestCreatedRunId": {
+ "type": "string"
+ }
+ }
+ },
+ "ModifyExperiment": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "archive": {
+ "type": "boolean"
+ }
+ }
+ },
+ "QueryParams": {
+ "description": "The set of supported filters.",
+ "type": "object",
+ "properties": {
+ "filter": {
+ "description": "Allows for filtering the collection of resources.\r\nThe expression specified is evaluated for each resource in the collection, and only items where the expression evaluates to true are included in the response.\r\nSee https://docs.microsoft.com/en-us/azure/search/query-odata-filter-orderby-syntax for details on the expression syntax.",
+ "type": "string"
+ },
+ "continuationToken": {
+ "description": "The continuation token to use for getting the next set of resources.",
+ "type": "string"
+ },
+ "orderBy": {
+ "description": "The comma separated list of resource properties to use for sorting the requested resources.\r\nOptionally, can be followed by either 'asc' or 'desc'",
+ "type": "string",
+ "example": "Color, Size desc"
+ },
+ "top": {
+ "format": "int32",
+ "description": "The maximum number of items in the resource collection to be included in the result.\r\nIf not specified, all items are returned.",
+ "type": "integer"
+ }
+ }
+ },
+ "PaginatedExperimentList": {
+ "description": "A paginated list of Experiments.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An array of objects of type Experiment.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Experiment"
+ }
+ },
+ "continuationToken": {
+ "description": "The token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "The link to the next page constructed using the continuationToken. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "DeleteTagsCommand": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PaginatedRunList": {
+ "description": "A paginated list of Runs.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An array of objects of type Run.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Run"
+ }
+ },
+ "continuationToken": {
+ "description": "The token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "The link to the next page constructed using the continuationToken. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "Run": {
+ "description": "The definition of a Run.",
+ "type": "object",
+ "properties": {
+ "runNumber": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "rootRunId": {
+ "type": "string"
+ },
+ "experimentId": {
+ "description": "The Id of the experiment that created this run.",
+ "type": "string"
+ },
+ "createdUtc": {
+ "format": "date-time",
+ "description": "The time the run was created in UTC.",
+ "type": "string"
+ },
+ "createdBy": {
+ "$ref": "#/definitions/CreatedBy",
+ "description": "The details of the user who created the run."
+ },
+ "userId": {
+ "description": "The Id of the user that created the run.",
+ "type": "string"
+ },
+ "token": {
+ "description": "A token used for authenticating a run.",
+ "type": "string"
+ },
+ "tokenExpiryTimeUtc": {
+ "format": "date-time",
+ "description": "The Token expiration time in UTC.",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/ErrorResponse",
+ "description": "If an error occurred during the run, this will be populated."
+ },
+ "warnings": {
+ "description": "A list of warnings that occurred during the run.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunDetailsWarning"
+ }
+ },
+ "revision": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "runId": {
+ "description": "The identifier for the run. Run IDs must be less than 256 characters and contain only alphanumeric characters with dashes and underscores.",
+ "type": "string"
+ },
+ "parentRunId": {
+ "description": "The parent of the run if the run is hierarchical; otherwise, Null.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the run. The Status string value maps to the RunStatus Enum.",
+ "type": "string"
+ },
+ "startTimeUtc": {
+ "format": "date-time",
+ "description": "The start time of the run in UTC.",
+ "type": "string"
+ },
+ "endTimeUtc": {
+ "format": "date-time",
+ "description": "The end time of the run in UTC.",
+ "type": "string"
+ },
+ "heartbeatEnabled": {
+ "type": "boolean"
+ },
+ "options": {
+ "$ref": "#/definitions/RunOptions"
+ },
+ "name": {
+ "type": "string"
+ },
+ "dataContainerId": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "hidden": {
+ "type": "boolean"
+ },
+ "runType": {
+ "type": "string"
+ },
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "scriptName": {
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "runDefinition": {
+ "type": "object"
+ },
+ "createdFrom": {
+ "$ref": "#/definitions/CreatedFrom"
+ },
+ "cancelUri": {
+ "type": "string"
+ },
+ "diagnosticsUri": {
+ "type": "string"
+ }
+ }
+ },
+ "CreatedBy": {
+ "type": "object",
+ "properties": {
+ "userObjectId": {
+ "description": "A user or service principal's object ID.\r\nThis is PII and should never be logged.",
+ "type": "string"
+ },
+ "userTenantId": {
+ "description": "A user or service principal's tenant ID.",
+ "type": "string"
+ },
+ "userName": {
+ "description": "A user's full name or a service principal's app ID.\r\nThis is PII and should never be logged.",
+ "type": "string"
+ }
+ }
+ },
+ "RunDetailsWarning": {
+ "type": "object",
+ "properties": {
+ "source": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
+ "RunOptions": {
+ "type": "object",
+ "properties": {
+ "generateDataContainerIdIfNotSpecified": {
+ "type": "boolean"
+ }
+ }
+ },
+ "CreatedFrom": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "enum": [
+ "Notebook"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CreatedFromType",
+ "modelAsString": false
+ }
+ },
+ "locationType": {
+ "enum": [
+ "ArtifactId"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CreatedFromLocationType",
+ "modelAsString": false
+ }
+ },
+ "location": {
+ "type": "string"
+ }
+ }
+ },
+ "RunDetails": {
+ "description": "The details of the run.",
+ "type": "object",
+ "properties": {
+ "runId": {
+ "description": "The identifier for the run.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The name of the compute target where the run is executed.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the run. The Status string value maps to the RunStatus Enum.",
+ "type": "string"
+ },
+ "parentRunId": {
+ "description": "The parent of the run if the run is hierarchical.",
+ "type": "string"
+ },
+ "startTimeUtc": {
+ "format": "date-time",
+ "description": "The start time of the run in UTC.",
+ "type": "string"
+ },
+ "endTimeUtc": {
+ "format": "date-time",
+ "description": "The end time of the run in UTC.",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/ErrorResponse",
+ "description": "If an error occurred during the run, this will be populated."
+ },
+ "warnings": {
+ "description": "A list of warnings that occurred during the run.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunDetailsWarning"
+ }
+ },
+ "tags": {
+ "description": "The tag dictionary for the run. Tags are mutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "description": "The properties dictionary for the run. Properties are immutable.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "runDefinition": {
+ "description": "The run definition specification.",
+ "type": "object"
+ },
+ "logFiles": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "revision": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "BatchAddOrModifyRunRequest": {
+ "type": "object",
+ "properties": {
+ "runs": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CreateRun"
+ }
+ }
+ }
+ },
+ "CreateRun": {
+ "type": "object",
+ "properties": {
+ "runId": {
+ "description": "The identifier for the run. Run IDs must be less than 256 characters and contain only alphanumeric characters with dashes and underscores.",
+ "type": "string"
+ },
+ "parentRunId": {
+ "description": "The parent of the run if the run is hierarchical; otherwise, Null.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the run. The Status string value maps to the RunStatus Enum.",
+ "type": "string"
+ },
+ "startTimeUtc": {
+ "format": "date-time",
+ "description": "The start time of the run in UTC.",
+ "type": "string"
+ },
+ "endTimeUtc": {
+ "format": "date-time",
+ "description": "The end time of the run in UTC.",
+ "type": "string"
+ },
+ "heartbeatEnabled": {
+ "type": "boolean"
+ },
+ "options": {
+ "$ref": "#/definitions/RunOptions"
+ },
+ "name": {
+ "type": "string"
+ },
+ "dataContainerId": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "hidden": {
+ "type": "boolean"
+ },
+ "runType": {
+ "type": "string"
+ },
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "scriptName": {
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "runDefinition": {
+ "type": "object"
+ },
+ "createdFrom": {
+ "$ref": "#/definitions/CreatedFrom"
+ },
+ "cancelUri": {
+ "type": "string"
+ },
+ "diagnosticsUri": {
+ "type": "string"
+ }
+ }
+ },
+ "BatchAddOrModifyRunResult": {
+ "type": "object",
+ "properties": {
+ "runs": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/Run"
+ }
+ },
+ "errors": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "PaginatedArtifactList": {
+ "description": "A paginated list of Artifacts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An array of objects of type Artifact.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Artifact"
+ }
+ },
+ "continuationToken": {
+ "description": "The token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "The link to the next page constructed using the continuationToken. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "Artifact": {
+ "description": "Details of an Artifact.",
+ "required": [
+ "origin",
+ "container",
+ "path"
+ ],
+ "type": "object",
+ "properties": {
+ "artifactId": {
+ "description": "The identifier of an Artifact. Format of ArtifactId - {Origin}/{Container}/{Path}.",
+ "type": "string"
+ },
+ "origin": {
+ "description": "The origin of the Artifact creation request. Available origins are 'ExperimentRun', 'LocalUpload', 'WebUpload', 'Dataset' and 'Unknown'.",
+ "type": "string"
+ },
+ "container": {
+ "description": "The name of container. Artifacts can be grouped by container.",
+ "type": "string"
+ },
+ "path": {
+ "description": "The path to the Artifact in a container.",
+ "type": "string"
+ },
+ "etag": {
+ "description": "The Etag of the Artifact.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdTime": {
+ "format": "date-time",
+ "description": "The Date and Time at which the Artifact is created. The DateTime is in UTC.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataPath": {
+ "$ref": "#/definitions/DataPath"
+ }
+ }
+ },
+ "DataPath": {
+ "type": "object",
+ "properties": {
+ "dataStoreName": {
+ "type": "string"
+ },
+ "relativePath": {
+ "type": "string"
+ },
+ "sqlDataPath": {
+ "$ref": "#/definitions/SqlDataPath"
+ }
+ }
+ },
+ "SqlDataPath": {
+ "type": "object",
+ "properties": {
+ "sqlTableName": {
+ "type": "string"
+ },
+ "sqlQuery": {
+ "type": "string"
+ },
+ "sqlStoredProcedureName": {
+ "type": "string"
+ },
+ "sqlStoredProcedureParams": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StoredProcedureParameter"
+ }
+ }
+ }
+ },
+ "StoredProcedureParameter": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "String",
+ "Int",
+ "Decimal",
+ "Guid",
+ "Boolean",
+ "Date"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StoredProcedureParameterType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "ArtifactContentInformation": {
+ "description": "Details of an Artifact Content Information.",
+ "type": "object",
+ "properties": {
+ "contentUri": {
+ "description": "The URI of the content.",
+ "type": "string"
+ },
+ "origin": {
+ "description": "The origin of the Artifact creation request. Available origins are 'ExperimentRun', 'LocalUpload', 'WebUpload', 'Dataset', 'ComputeRecord', 'Metric', and 'Unknown'.",
+ "type": "string"
+ },
+ "container": {
+ "description": "The name of container. Artifacts can be grouped by container.",
+ "type": "string"
+ },
+ "path": {
+ "description": "The path to the Artifact in a container.",
+ "type": "string"
+ }
+ }
+ },
+ "PaginatedArtifactContentInformationList": {
+ "description": "A paginated list of ArtifactContentInformations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An array of objects of type ArtifactContentInformation.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ArtifactContentInformation"
+ }
+ },
+ "continuationToken": {
+ "description": "The token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "The link to the next page constructed using the continuationToken. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "ArtifactPathList": {
+ "description": "Contains list of Artifact Paths.",
+ "required": [
+ "paths"
+ ],
+ "type": "object",
+ "properties": {
+ "paths": {
+ "description": "List of Artifact Paths.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ArtifactPath"
+ }
+ }
+ }
+ },
+ "ArtifactPath": {
+ "description": "Details of an Artifact Path.",
+ "required": [
+ "path"
+ ],
+ "type": "object",
+ "properties": {
+ "path": {
+ "description": "The path to the Artifact in a container.",
+ "type": "string"
+ }
+ }
+ },
+ "BatchArtifactContentInformationResult": {
+ "description": "Results of the Batch Artifact Content Information request.",
+ "type": "object",
+ "properties": {
+ "artifacts": {
+ "description": "Artifact details of the Artifact Ids requested.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/Artifact"
+ }
+ },
+ "artifactContentInformation": {
+ "description": "Artifact Content Information details of the Artifact Ids requested.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ArtifactContentInformation"
+ }
+ },
+ "errors": {
+ "description": "Errors occurred while fetching the requested Artifact Ids.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "Metric": {
+ "type": "object",
+ "properties": {
+ "metricId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "dataContainerId": {
+ "type": "string"
+ },
+ "metricType": {
+ "type": "string"
+ },
+ "createdUtc": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "numCells": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "dataLocation": {
+ "type": "string"
+ },
+ "cells": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ }
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/MetricSchema"
+ }
+ }
+ },
+ "MetricSchema": {
+ "type": "object",
+ "properties": {
+ "numProperties": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "properties": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSchemaProperty"
+ }
+ }
+ }
+ },
+ "MetricSchemaProperty": {
+ "type": "object",
+ "properties": {
+ "propertyId": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ }
+ },
+ "BatchMetric": {
+ "type": "object",
+ "properties": {
+ "values": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Metric"
+ }
+ }
+ }
+ },
+ "RunMetric": {
+ "type": "object",
+ "properties": {
+ "runId": {
+ "type": "string"
+ },
+ "metricId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "dataContainerId": {
+ "type": "string"
+ },
+ "metricType": {
+ "type": "string"
+ },
+ "createdUtc": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "numCells": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "dataLocation": {
+ "type": "string"
+ },
+ "cells": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ }
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/MetricSchema"
+ }
+ }
+ },
+ "PaginatedRunMetricList": {
+ "description": "A paginated list of RunMetrics.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An array of objects of type RunMetric.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunMetric"
+ }
+ },
+ "continuationToken": {
+ "description": "The token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "The link to the next page constructed using the continuationToken. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Azure Subscription ID.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The Name of the resource group in which the workspace is located.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "workspaceNameParameter": {
+ "name": "workspaceName",
+ "in": "path",
+ "description": "The name of the workspace.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "tags": []
+}
diff --git a/specification/machinelearningservices/data-plane/readme.md b/specification/machinelearningservices/data-plane/readme.md
index 3da680e4ba65..c0f919f7ea3e 100644
--- a/specification/machinelearningservices/data-plane/readme.md
+++ b/specification/machinelearningservices/data-plane/readme.md
@@ -26,7 +26,7 @@ These are the global settings for the AzureMachineLearning API.
title: Azure Machine Learning Service
description: These APIs allow end users to manage Azure Machine Learning Services.
openapi-type: data-plane
-tag: package-2019-08-preview
+tag: package-2019-09-preview
use-internal-constructors: true
add-credentials: true
```
@@ -48,6 +48,20 @@ directive:
reason: Existing service; would be a breaking change
```
+### Tag: package-2019-09-preview
+
+These settings apply only when `--tag=package-2019-09-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-09-preview'
+input-file:
+ - Microsoft.MachineLearningServices\preview\2019-09-30\execution.json
+ - Microsoft.MachineLearningServices\preview\2019-09-30\modelManagement.json
+ - Microsoft.MachineLearningServices\preview\2019-09-30\runHistory.json
+ - Microsoft.MachineLearningServices\preview\2019-09-30\datastore.json
+ - Microsoft.MachineLearningServices\preview\2019-09-30\artifact.json
+ - Microsoft.MachineLearningServices\preview\2019-09-30\hyperdrive.json
+```
+
### Tag: package-2019-08-preview
These settings apply only when `--tag=package-2019-08-preview` is specified on the command line.
@@ -62,7 +76,6 @@ input-file:
- Microsoft.MachineLearningServices/preview/2019-08-01/hyperdrive.json
```
-
---
# Code Generation
@@ -116,6 +129,12 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.MachineLearningServices\preview\2019-09-30\execution.json
+ - $(this-folder)/Microsoft.MachineLearningServices\preview\2019-09-30\modelManagement.json
+ - $(this-folder)/Microsoft.MachineLearningServices\preview\2019-09-30\runHistory.json
+ - $(this-folder)/Microsoft.MachineLearningServices\preview\2019-09-30\datastore.json
+ - $(this-folder)/Microsoft.MachineLearningServices\preview\2019-09-30\artifact.json
+ - $(this-folder)/Microsoft.MachineLearningServices\preview\2019-09-30\hyperdrive.json
- $(this-folder)/Microsoft.MachineLearningServices/preview/2019-08-01/execution.json
- $(this-folder)/Microsoft.MachineLearningServices/preview/2019-08-01/modelManagement.json
- $(this-folder)/Microsoft.MachineLearningServices/preview/2019-08-01/runHistory.json
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/ListVMSizesResult.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/ListVMSizesResult.json
index cedabe460a02..cef0341ad8cb 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/ListVMSizesResult.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/ListVMSizesResult.json
@@ -1,7 +1,7 @@
{
"parameters": {
"subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "api-version": "2018-11-19",
+ "api-version": "2019-06-01",
"location": "eastus"
},
"responses": {
@@ -12,6 +12,7 @@
"name": "Standard_F2s_v2",
"family": "standardFSv2Family",
"vCPUs": 2,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 16384,
"memoryGB": 4.0,
@@ -22,6 +23,7 @@
"name": "Standard_F4s_v2",
"family": "standardFSv2Family",
"vCPUs": 4,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 32768,
"memoryGB": 8.0,
@@ -32,6 +34,7 @@
"name": "Standard_F8s_v2",
"family": "standardFSv2Family",
"vCPUs": 8,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 65536,
"memoryGB": 16.0,
@@ -42,6 +45,7 @@
"name": "Standard_F16s_v2",
"family": "standardFSv2Family",
"vCPUs": 16,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 131072,
"memoryGB": 32.0,
@@ -52,6 +56,7 @@
"name": "Standard_F32s_v2",
"family": "standardFSv2Family",
"vCPUs": 32,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 262144,
"memoryGB": 64.0,
@@ -62,6 +67,7 @@
"name": "Standard_F64s_v2",
"family": "standardFSv2Family",
"vCPUs": 64,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 524288,
"memoryGB": 128.0,
@@ -72,6 +78,7 @@
"name": "Standard_F72s_v2",
"family": "standardFSv2Family",
"vCPUs": 72,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 589824,
"memoryGB": 144.0,
@@ -82,6 +89,7 @@
"name": "Standard_D1_v2",
"family": "standardDv2Family",
"vCPUs": 1,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 51200,
"memoryGB": 3.5,
@@ -92,6 +100,7 @@
"name": "Standard_D2_v2",
"family": "standardDv2Family",
"vCPUs": 2,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 102400,
"memoryGB": 7.0,
@@ -102,6 +111,7 @@
"name": "Standard_D3_v2",
"family": "standardDv2Family",
"vCPUs": 4,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 204800,
"memoryGB": 14.0,
@@ -112,6 +122,7 @@
"name": "Standard_D4_v2",
"family": "standardDv2Family",
"vCPUs": 8,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 409600,
"memoryGB": 28.0,
@@ -122,6 +133,7 @@
"name": "Standard_D11_v2",
"family": "standardDv2Family",
"vCPUs": 2,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 102400,
"memoryGB": 14.0,
@@ -132,6 +144,7 @@
"name": "Standard_D12_v2",
"family": "standardDv2Family",
"vCPUs": 4,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 204800,
"memoryGB": 28.0,
@@ -142,6 +155,7 @@
"name": "Standard_D13_v2",
"family": "standardDv2Family",
"vCPUs": 8,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 409600,
"memoryGB": 56.0,
@@ -152,6 +166,7 @@
"name": "Standard_D14_v2",
"family": "standardDv2Family",
"vCPUs": 16,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 819200,
"memoryGB": 112.0,
@@ -162,6 +177,7 @@
"name": "Standard_DS1_v2",
"family": "standardDSv2Family",
"vCPUs": 1,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 7168,
"memoryGB": 3.5,
@@ -172,6 +188,7 @@
"name": "Standard_DS2_v2",
"family": "standardDSv2Family",
"vCPUs": 2,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 14336,
"memoryGB": 7.0,
@@ -182,6 +199,7 @@
"name": "Standard_DS3_v2",
"family": "standardDSv2Family",
"vCPUs": 4,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 28672,
"memoryGB": 14.0,
@@ -192,6 +210,7 @@
"name": "Standard_DS4_v2",
"family": "standardDSv2Family",
"vCPUs": 8,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 57344,
"memoryGB": 28.0,
@@ -202,6 +221,7 @@
"name": "Standard_DS5_v2",
"family": "standardDSv2Family",
"vCPUs": 16,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 114688,
"memoryGB": 56.0,
@@ -212,6 +232,7 @@
"name": "Standard_DS11_v2",
"family": "standardDSv2Family",
"vCPUs": 2,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 28672,
"memoryGB": 14.0,
@@ -222,6 +243,7 @@
"name": "Standard_DS12_v2",
"family": "standardDSv2Family",
"vCPUs": 4,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 57344,
"memoryGB": 28.0,
@@ -232,6 +254,7 @@
"name": "Standard_DS13_v2",
"family": "standardDSv2Family",
"vCPUs": 8,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 114688,
"memoryGB": 56.0,
@@ -242,6 +265,7 @@
"name": "Standard_DS14_v2",
"family": "standardDSv2Family",
"vCPUs": 16,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 229376,
"memoryGB": 112.0,
@@ -252,6 +276,7 @@
"name": "Standard_DS15_v2",
"family": "standardDSv2Family",
"vCPUs": 20,
+ "gpus": 0,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 286720,
"memoryGB": 140.0,
@@ -262,6 +287,7 @@
"name": "Standard_NC6s_v2",
"family": "standardNCSv2Family",
"vCPUs": 6,
+ "gpus": 1,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 344064,
"memoryGB": 112.0,
@@ -272,6 +298,7 @@
"name": "Standard_NC12s_v2",
"family": "standardNCSv2Family",
"vCPUs": 12,
+ "gpus": 2,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 688128,
"memoryGB": 224.0,
@@ -282,6 +309,7 @@
"name": "Standard_NC24rs_v2",
"family": "standardNCSv2Family",
"vCPUs": 24,
+ "gpus": 4,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 1376256,
"memoryGB": 448.0,
@@ -292,6 +320,7 @@
"name": "Standard_NC24s_v2",
"family": "standardNCSv2Family",
"vCPUs": 24,
+ "gpus": 4,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 1376256,
"memoryGB": 448.0,
@@ -302,6 +331,7 @@
"name": "Standard_NC6s_v3",
"family": "standardNCSv3Family",
"vCPUs": 6,
+ "gpus": 1,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 344064,
"memoryGB": 112.0,
@@ -312,6 +342,7 @@
"name": "Standard_NC12s_v3",
"family": "standardNCSv3Family",
"vCPUs": 12,
+ "gpus": 2,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 688128,
"memoryGB": 224.0,
@@ -322,6 +353,7 @@
"name": "Standard_NC24rs_v3",
"family": "standardNCSv3Family",
"vCPUs": 24,
+ "gpus": 4,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 1376256,
"memoryGB": 448.0,
@@ -332,6 +364,7 @@
"name": "Standard_NC24s_v3",
"family": "standardNCSv3Family",
"vCPUs": 24,
+ "gpus": 4,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 1376256,
"memoryGB": 448.0,
@@ -342,6 +375,7 @@
"name": "Standard_NC6",
"family": "standardNCFamily",
"vCPUs": 6,
+ "gpus": 1,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 389120,
"memoryGB": 56.0,
@@ -352,6 +386,7 @@
"name": "Standard_NC12",
"family": "standardNCFamily",
"vCPUs": 12,
+ "gpus": 2,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 696320,
"memoryGB": 112.0,
@@ -362,6 +397,7 @@
"name": "Standard_NC24",
"family": "standardNCFamily",
"vCPUs": 24,
+ "gpus": 4,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 1474560,
"memoryGB": 224.0,
@@ -372,6 +408,7 @@
"name": "Standard_NC24r",
"family": "standardNCFamily",
"vCPUs": 24,
+ "gpus": 4,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 1474560,
"memoryGB": 224.0,
@@ -382,6 +419,7 @@
"name": "Standard_NV6",
"family": "standardNVFamily",
"vCPUs": 6,
+ "gpus": 1,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 389120,
"memoryGB": 56.0,
@@ -392,6 +430,7 @@
"name": "Standard_NV12",
"family": "standardNVFamily",
"vCPUs": 12,
+ "gpus": 2,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 696320,
"memoryGB": 112.0,
@@ -402,6 +441,7 @@
"name": "Standard_NV24",
"family": "standardNVFamily",
"vCPUs": 24,
+ "gpus": 4,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 1474560,
"memoryGB": 224.0,
@@ -412,6 +452,7 @@
"name": "Standard_ND6s",
"family": "standardNDSFamily",
"vCPUs": 6,
+ "gpus": 1,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 344064,
"memoryGB": 112.0,
@@ -422,6 +463,7 @@
"name": "Standard_ND12s",
"family": "standardNDSFamily",
"vCPUs": 12,
+ "gpus": 2,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 688128,
"memoryGB": 224.0,
@@ -432,6 +474,7 @@
"name": "Standard_ND24rs",
"family": "standardNDSFamily",
"vCPUs": 24,
+ "gpus": 4,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 1376256,
"memoryGB": 448.0,
@@ -442,6 +485,7 @@
"name": "Standard_ND24s",
"family": "standardNDSFamily",
"vCPUs": 24,
+ "gpus": 4,
"osVhdSizeMB": 1047552,
"maxResourceVolumeMB": 1376256,
"memoryGB": 448.0,
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/ListWorkspaceQuotasByVMFamily.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/ListWorkspaceQuotasByVMFamily.json
new file mode 100644
index 000000000000..2f32eddbc799
--- /dev/null
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/ListWorkspaceQuotasByVMFamily.json
@@ -0,0 +1,415 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus",
+ "api-version": "2019-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/vmFamily/quotas",
+ "limit": 48,
+ "name": {
+ "localizedValue": "Standard D Family Cluster Dedicated vCPUs",
+ "value": "Standard D Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 12,
+ "name": {
+ "value": "Standard D Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard D Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 12,
+ "name": {
+ "value": "Standard D Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard D Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 24,
+ "name": {
+ "value": "Standard D Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard D Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/vmFamily/quota",
+ "limit": 24,
+ "name": {
+ "value": "Standard DSv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 24,
+ "name": {
+ "value": "Standard DSv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 12,
+ "name": {
+ "value": "Standard DSv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 12,
+ "name": {
+ "value": "Standard DSv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/vmFamily/quotas",
+ "limit": 24,
+ "name": {
+ "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs",
+ "value": "Standard Dv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard Dv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 24,
+ "name": {
+ "value": "Standard Dv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard Dv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/vmFamily/quotas",
+ "limit": 24,
+ "name": {
+ "value": "Standard FSv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard FSv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 24,
+ "name": {
+ "value": "Standard FSv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 12,
+ "name": {
+ "value": "Standard FSv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/vmFamily/quotas",
+ "limit": 24,
+ "name": {
+ "localizedValue": "Standard NC Family Cluster Dedicated vCPUs",
+ "value": "Standard NC Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 24,
+ "name": {
+ "value": "Standard NC Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NC Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 24,
+ "name": {
+ "value": "Standard NC Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NC Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 24,
+ "name": {
+ "value": "Standard NC Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NC Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/vmFamily/quotas",
+ "limit": 0,
+ "name": {
+ "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs",
+ "value": "Standard NCv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard NCv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard NCv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard NCv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/vmFamily/quotas",
+ "limit": 0,
+ "name": {
+ "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs",
+ "value": "Standard NCv3 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard NCv3 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard NCv3 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard NCv3 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/vmFamily/quotas",
+ "limit": 0,
+ "name": {
+ "localizedValue": "Standard ND Family Cluster Dedicated vCPUs",
+ "value": "Standard ND Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard ND Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard ND Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard ND Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard ND Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard ND Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard ND Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/vmFamily/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard NDv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard NDv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard NDv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 0,
+ "name": {
+ "value": "Standard NDv2 Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/vmFamily/quotas",
+ "limit": 24,
+ "name": {
+ "localizedValue": "Standard NV Family Cluster Dedicated vCPUs",
+ "value": "Standard NV Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 24,
+ "name": {
+ "value": "Standard NV Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NV Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 24,
+ "name": {
+ "value": "Standard NV Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NV Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 24,
+ "name": {
+ "value": "Standard NV Family Cluster Dedicated vCPUs",
+ "localizedValue": "Standard NV Family Cluster Dedicated vCPUs"
+ },
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/updateQuota.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/updateQuota.json
new file mode 100644
index 000000000000..a1cf4459b7bf
--- /dev/null
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/updateQuota.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus",
+ "api-version": "2019-06-01",
+ "parameters": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 100,
+ "unit": "Count"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 200,
+ "unit": "Count"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 100,
+ "unit": "Count",
+ "status": "Success"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs",
+ "type": "Microsoft.MachineLearningServices/workspaces/quotas",
+ "limit": 200,
+ "unit": "Count",
+ "status": "Success"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/machineLearningServices.json
index 203fc21a013c..5ab70e0c0465 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/machineLearningServices.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/machineLearningServices.json
@@ -388,6 +388,9 @@
{
"$ref": "#/parameters/APIVersionParameter"
},
+ {
+ "$ref": "#/parameters/ExpandChildrenParameter"
+ },
{
"$ref": "#/parameters/SubscriptionIdParameter"
},
@@ -456,6 +459,100 @@
}
}
},
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/updateQuotas": {
+ "post": {
+ "tags": [
+ "Quota"
+ ],
+ "operationId": "Quotas_Update",
+ "description": "Update quota for each VM family in workspace.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location for update quota is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QuotaUpdateParameters"
+ },
+ "description": "Quota update parameters."
+ },
+ {
+ "$ref": "#/parameters/APIVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/UpdateWorkspaceQuotasResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MachineLearningServiceError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "update quotas": {
+ "$ref": "./examples/updateQuota.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/Quotas": {
+ "get": {
+ "tags": [
+ "Quota"
+ ],
+ "operationId": "Quotas_List",
+ "description": "Gets the currently assigned Workspace Quotas based on VMFamily.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/APIVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location for which resource usage is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ListWorkspaceQuotas"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List workspace quotas by VMFamily": {
+ "$ref": "./examples/ListWorkspaceQuotasByVMFamily.json"
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces": {
"get": {
"tags": [
@@ -927,6 +1024,14 @@
"description": "Version of Azure Machine Learning resource provider API.",
"required": true
},
+ "ExpandChildrenParameter": {
+ "in": "query",
+ "name": "expandChildren",
+ "type": "string",
+ "description": "Specifies if detailed usages of child resources are required.",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
"PaginationParameter": {
"in": "query",
"name": "$skiptoken",
@@ -1293,6 +1398,189 @@
}
}
},
+ "QuotaBaseProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Specifies the resource ID."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the resource type."
+ },
+ "limit": {
+ "type": "integer",
+ "format": "int64",
+ "title": "Limit.",
+ "description": "The maximum permitted quota of the resource."
+ },
+ "unit": {
+ "type": "string",
+ "description": "An enum describing the unit of quota measurement.",
+ "enum": [
+ "Count"
+ ],
+ "x-ms-enum": {
+ "name": "QuotaUnit",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The properties for Quota update or retrieval."
+ },
+ "QuotaUpdateParameters": {
+ "properties": {
+ "value": {
+ "description": "The list for update quota.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QuotaBaseProperties"
+ }
+ }
+ },
+ "description": "Quota update parameters."
+ },
+ "UpdateWorkspaceQuotasResult": {
+ "properties": {
+ "value": {
+ "description": "The list of workspace quota update result.",
+ "items": {
+ "$ref": "#/definitions/UpdateWorkspaceQuotas"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "nextLink": {
+ "description": "The URI to fetch the next page of workspace quota update result. Call ListNext() with this to fetch the next page of Workspace Quota update result.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "description": "The result of update workspace quota."
+ },
+ "UpdateWorkspaceQuotas": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the resource ID."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the resource type."
+ },
+ "limit": {
+ "type": "integer",
+ "format": "int64",
+ "title": "Limit.",
+ "description": "The maximum permitted quota of the resource."
+ },
+ "unit": {
+ "readOnly": true,
+ "type": "string",
+ "description": "An enum describing the unit of quota measurement.",
+ "enum": [
+ "Count"
+ ],
+ "x-ms-enum": {
+ "name": "QuotaUnit",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "type": "string",
+ "readOnly": false,
+ "title": "Update Workspace Quota Status.",
+ "description": "Status of update workspace quota.",
+ "enum": [
+ "Undefined",
+ "Success",
+ "Failure",
+ "InvalidQuotaBelowClusterMinimum",
+ "InvalidQuotaExceedsSubscriptionLimit",
+ "InvalidVMFamilyName"
+ ],
+ "x-ms-enum": {
+ "name": "status",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The properties for update Quota response."
+ },
+ "ResourceName": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "localizedValue": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized name of the resource."
+ }
+ },
+ "description": "The Resource Name."
+ },
+ "ResourceQuota": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the resource ID."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the resource type."
+ },
+ "name": {
+ "$ref": "#/definitions/ResourceName",
+ "description": "Name of the resource.",
+ "readOnly": true
+ },
+ "limit": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "title": "Limit.",
+ "description": "The maximum permitted quota of the resource."
+ },
+ "unit": {
+ "readOnly": true,
+ "type": "string",
+ "description": "An enum describing the unit of quota measurement.",
+ "enum": [
+ "Count"
+ ],
+ "x-ms-enum": {
+ "name": "QuotaUnit",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The quota assigned to a resource."
+ },
+ "ListWorkspaceQuotas": {
+ "properties": {
+ "value": {
+ "description": "The list of Workspace Quotas by VM Family",
+ "items": {
+ "$ref": "#/definitions/ResourceQuota"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "nextLink": {
+ "description": "The URI to fetch the next page of workspace quota information by VM Family. Call ListNext() with this to fetch the next page of Workspace Quota information.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "description": "The List WorkspaceQuotasByVMFamily operation response."
+ },
"Identity": {
"properties": {
"principalId": {
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/Maintenance.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/Maintenance.json
index de7f0ec5be77..074e2f7a0d07 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/Maintenance.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/Maintenance.json
@@ -1,1632 +1,1632 @@
{
- "swagger": "2.0",
- "info": {
- "version": "2018-06-01-preview",
- "title": "MaintenanceManagementClient",
- "description": "Azure Maintenance Management Client"
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/{applyUpdateName}": {
- "get": {
- "tags": [
- "ApplyUpdates"
- ],
- "summary": "Track Updates to resource with parent",
- "description": "Track maintenance updates to resource with parent",
- "operationId": "ApplyUpdates_GetParent",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource group name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceParentType",
- "in": "path",
- "description": "Resource parent type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceParentName",
- "in": "path",
- "description": "Resource parent identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerName",
- "in": "path",
- "description": "Resource provider name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceType",
- "in": "path",
- "description": "Resource type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "applyUpdateName",
- "in": "path",
- "description": "applyUpdate Id",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ApplyUpdate"
- }
- }
- },
- "x-ms-examples": {
- "ApplyUpdates_GetParent": {
- "$ref": "./examples/ApplyUpdates_GetParent.json"
- }
- }
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-06-01-preview",
+ "title": "MaintenanceManagementClient",
+ "description": "Azure Maintenance Management Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/{applyUpdateName}": {
+ "get": {
+ "tags": [
+ "ApplyUpdates"
+ ],
+ "summary": "Track Updates to resource with parent",
+ "description": "Track maintenance updates to resource with parent",
+ "operationId": "ApplyUpdates_GetParent",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceParentType",
+ "in": "path",
+ "description": "Resource parent type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceParentName",
+ "in": "path",
+ "description": "Resource parent identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Resource provider name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "description": "Resource type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "applyUpdateName",
+ "in": "path",
+ "description": "applyUpdate Id",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ApplyUpdate"
}
+ }
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/{applyUpdateName}": {
- "get": {
- "tags": [
- "ApplyUpdates"
- ],
- "summary": "Track Updates to resource",
- "description": "Track maintenance updates to resource",
- "operationId": "ApplyUpdates_Get",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource group name",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerName",
- "in": "path",
- "description": "Resource provider name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceType",
- "in": "path",
- "description": "Resource type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "applyUpdateName",
- "in": "path",
- "description": "applyUpdate Id",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ApplyUpdate"
- }
- }
- },
- "x-ms-examples": {
- "ApplyUpdates_Get": {
- "$ref": "./examples/ApplyUpdates_Get.json"
- }
- }
+ "x-ms-examples": {
+ "ApplyUpdates_GetParent": {
+ "$ref": "./examples/ApplyUpdates_GetParent.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/{applyUpdateName}": {
+ "get": {
+ "tags": [
+ "ApplyUpdates"
+ ],
+ "summary": "Track Updates to resource",
+ "description": "Track maintenance updates to resource",
+ "operationId": "ApplyUpdates_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Resource provider name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "description": "Resource type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "applyUpdateName",
+ "in": "path",
+ "description": "applyUpdate Id",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ApplyUpdate"
}
+ }
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/default": {
- "put": {
- "tags": [
- "ApplyUpdates"
- ],
- "summary": "Apply Updates to resource with parent",
- "description": "Apply maintenance updates to resource with parent",
- "operationId": "ApplyUpdates_CreateOrUpdateParent",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource group name",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerName",
- "in": "path",
- "description": "Resource provider name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceParentType",
- "in": "path",
- "description": "Resource parent type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceParentName",
- "in": "path",
- "description": "Resource parent identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceType",
- "in": "path",
- "description": "Resource type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource identifier",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ApplyUpdate"
- }
- }
- },
- "x-ms-examples": {
- "ApplyUpdates_CreateOrUpdateParent": {
- "$ref": "./examples/ApplyUpdates_CreateOrUpdateParent.json"
- }
- }
+ "x-ms-examples": {
+ "ApplyUpdates_Get": {
+ "$ref": "./examples/ApplyUpdates_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/default": {
+ "put": {
+ "tags": [
+ "ApplyUpdates"
+ ],
+ "summary": "Apply Updates to resource with parent",
+ "description": "Apply maintenance updates to resource with parent",
+ "operationId": "ApplyUpdates_CreateOrUpdateParent",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Resource provider name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceParentType",
+ "in": "path",
+ "description": "Resource parent type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceParentName",
+ "in": "path",
+ "description": "Resource parent identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "description": "Resource type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ApplyUpdate"
}
+ }
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/default": {
- "put": {
- "tags": [
- "ApplyUpdates"
- ],
- "summary": "Apply Updates to resource",
- "description": "Apply maintenance updates to resource",
- "operationId": "ApplyUpdates_CreateOrUpdate",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource group name",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerName",
- "in": "path",
- "description": "Resource provider name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceType",
- "in": "path",
- "description": "Resource type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource identifier",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ApplyUpdate"
- }
- }
- },
- "x-ms-examples": {
- "ApplyUpdates_CreateOrUpdate": {
- "$ref": "./examples/ApplyUpdates_CreateOrUpdate.json"
- }
- }
+ "x-ms-examples": {
+ "ApplyUpdates_CreateOrUpdateParent": {
+ "$ref": "./examples/ApplyUpdates_CreateOrUpdateParent.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/default": {
+ "put": {
+ "tags": [
+ "ApplyUpdates"
+ ],
+ "summary": "Apply Updates to resource",
+ "description": "Apply maintenance updates to resource",
+ "operationId": "ApplyUpdates_CreateOrUpdate",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Resource provider name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "description": "Resource type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ApplyUpdate"
}
+ }
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}": {
- "put": {
- "tags": [
- "ConfigurationAssignments"
- ],
- "summary": "Create configuration assignment",
- "description": "Register configuration for resource.",
- "operationId": "ConfigurationAssignments_CreateOrUpdateParent",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource group name",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerName",
- "in": "path",
- "description": "Resource provider name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceParentType",
- "in": "path",
- "description": "Resource parent type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceParentName",
- "in": "path",
- "description": "Resource parent identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceType",
- "in": "path",
- "description": "Resource type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "configurationAssignmentName",
- "in": "path",
- "description": "Configuration assignment name",
- "required": true,
- "type": "string"
- },
- {
- "name": "configurationAssignment",
- "in": "body",
- "description": "The configurationAssignment",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ConfigurationAssignment"
- }
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ConfigurationAssignment"
- }
- }
- },
- "x-ms-examples": {
- "ConfigurationAssignments_CreateOrUpdateParent": {
- "$ref": "./examples/ConfigurationAssignments_CreateOrUpdateParent.json"
- }
- }
- },
- "delete": {
- "tags": [
- "ConfigurationAssignments"
- ],
- "summary": "Unregister configuration for resource",
- "description": "Unregister configuration for resource.",
- "operationId": "ConfigurationAssignments_DeleteParent",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource group name",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerName",
- "in": "path",
- "description": "Resource provider name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceParentType",
- "in": "path",
- "description": "Resource parent type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceParentName",
- "in": "path",
- "description": "Resource parent identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceType",
- "in": "path",
- "description": "Resource type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "configurationAssignmentName",
- "in": "path",
- "description": "Unique configuration assignment name",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ConfigurationAssignment"
- }
- }
- },
- "x-ms-examples": {
- "ConfigurationAssignments_DeleteParent": {
- "$ref": "./examples/ConfigurationAssignments_DeleteParent.json"
- }
- }
+ "x-ms-examples": {
+ "ApplyUpdates_CreateOrUpdate": {
+ "$ref": "./examples/ApplyUpdates_CreateOrUpdate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}": {
+ "put": {
+ "tags": [
+ "ConfigurationAssignments"
+ ],
+ "summary": "Create configuration assignment",
+ "description": "Register configuration for resource.",
+ "operationId": "ConfigurationAssignments_CreateOrUpdateParent",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Resource provider name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceParentType",
+ "in": "path",
+ "description": "Resource parent type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceParentName",
+ "in": "path",
+ "description": "Resource parent identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "description": "Resource type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "configurationAssignmentName",
+ "in": "path",
+ "description": "Configuration assignment name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "configurationAssignment",
+ "in": "body",
+ "description": "The configurationAssignment",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationAssignment"
}
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}": {
- "put": {
- "tags": [
- "ConfigurationAssignments"
- ],
- "summary": "Create configuration assignment",
- "description": "Register configuration for resource.",
- "operationId": "ConfigurationAssignments_CreateOrUpdate",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource group name",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerName",
- "in": "path",
- "description": "Resource provider name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceType",
- "in": "path",
- "description": "Resource type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "configurationAssignmentName",
- "in": "path",
- "description": "Configuration assignment name",
- "required": true,
- "type": "string"
- },
- {
- "name": "configurationAssignment",
- "in": "body",
- "description": "The configurationAssignment",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ConfigurationAssignment"
- }
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ConfigurationAssignment"
- }
- }
- },
- "x-ms-examples": {
- "ConfigurationAssignments_CreateOrUpdate": {
- "$ref": "./examples/ConfigurationAssignments_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "ConfigurationAssignments"
- ],
- "summary": "Unregister configuration for resource",
- "description": "Unregister configuration for resource.",
- "operationId": "ConfigurationAssignments_Delete",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource group name",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerName",
- "in": "path",
- "description": "Resource provider name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceType",
- "in": "path",
- "description": "Resource type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "configurationAssignmentName",
- "in": "path",
- "description": "Unique configuration assignment name",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ConfigurationAssignment"
- }
- }
- },
- "x-ms-examples": {
- "ConfigurationAssignments_Delete": {
- "$ref": "./examples/ConfigurationAssignments_Delete.json"
- }
- }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationAssignment"
}
+ }
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments": {
- "get": {
- "tags": [
- "ConfigurationAssignments"
- ],
- "summary": "List configurationAssignments for resource",
- "description": "List configurationAssignments for resource.",
- "operationId": "ConfigurationAssignments_ListParent",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource group name",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerName",
- "in": "path",
- "description": "Resource provider name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceParentType",
- "in": "path",
- "description": "Resource parent type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceParentName",
- "in": "path",
- "description": "Resource parent identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceType",
- "in": "path",
- "description": "Resource type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource identifier",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ListConfigurationAssignmentsResult"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- },
- "x-ms-examples": {
- "ConfigurationAssignments_ListParent": {
- "$ref": "./examples/ConfigurationAssignments_ListParent.json"
- }
- }
+ "x-ms-examples": {
+ "ConfigurationAssignments_CreateOrUpdateParent": {
+ "$ref": "./examples/ConfigurationAssignments_CreateOrUpdateParent.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationAssignments"
+ ],
+ "summary": "Unregister configuration for resource",
+ "description": "Unregister configuration for resource.",
+ "operationId": "ConfigurationAssignments_DeleteParent",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Resource provider name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceParentType",
+ "in": "path",
+ "description": "Resource parent type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceParentName",
+ "in": "path",
+ "description": "Resource parent identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "description": "Resource type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "configurationAssignmentName",
+ "in": "path",
+ "description": "Unique configuration assignment name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationAssignment"
}
+ }
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments": {
- "get": {
- "tags": [
- "ConfigurationAssignments"
- ],
- "summary": "List configurationAssignments for resource",
- "description": "List configurationAssignments for resource.",
- "operationId": "ConfigurationAssignments_List",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource group name",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerName",
- "in": "path",
- "description": "Resource provider name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceType",
- "in": "path",
- "description": "Resource type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource identifier",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ListConfigurationAssignmentsResult"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- },
- "x-ms-examples": {
- "ConfigurationAssignments_List": {
- "$ref": "./examples/ConfigurationAssignments_List.json"
- }
- }
+ "x-ms-examples": {
+ "ConfigurationAssignments_DeleteParent": {
+ "$ref": "./examples/ConfigurationAssignments_DeleteParent.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}": {
+ "put": {
+ "tags": [
+ "ConfigurationAssignments"
+ ],
+ "summary": "Create configuration assignment",
+ "description": "Register configuration for resource.",
+ "operationId": "ConfigurationAssignments_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Resource provider name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "description": "Resource type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "configurationAssignmentName",
+ "in": "path",
+ "description": "Configuration assignment name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "configurationAssignment",
+ "in": "body",
+ "description": "The configurationAssignment",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationAssignment"
}
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Maintenance/maintenanceConfigurations/{resourceName}": {
- "get": {
- "tags": [
- "MaintenanceConfigurations"
- ],
- "summary": "Get Configuration record",
- "operationId": "MaintenanceConfigurations_Get",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource Group Name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource Identifier",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/MaintenanceConfiguration"
- }
- },
- "default": {
- "description": "BadRequest",
- "schema": {
- "$ref": "#/definitions/MaintenanceError"
- }
- }
- },
- "x-ms-examples": {
- "MaintenanceConfigurations_GetForResource": {
- "$ref": "./examples/MaintenanceConfigurations_GetForResource.json"
- }
- }
- },
- "put": {
- "tags": [
- "MaintenanceConfigurations"
- ],
- "summary": "Create or Update configuration record",
- "operationId": "MaintenanceConfigurations_CreateOrUpdate",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource Group Name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource Identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "configuration",
- "in": "body",
- "description": "The configuration",
- "required": true,
- "schema": {
- "$ref": "#/definitions/MaintenanceConfiguration"
- }
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/MaintenanceConfiguration"
- }
- },
- "default": {
- "description": "BadRequest",
- "schema": {
- "$ref": "#/definitions/MaintenanceError"
- }
- }
- },
- "x-ms-examples": {
- "MaintenanceConfigurations_CreateOrUpdateForResource": {
- "$ref": "./examples/MaintenanceConfigurations_CreateOrUpdateForResource.json"
- }
- }
- },
- "delete": {
- "tags": [
- "MaintenanceConfigurations"
- ],
- "summary": "Delete Configuration record",
- "operationId": "MaintenanceConfigurations_Delete",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource Group Name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource Identifier",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/MaintenanceConfiguration"
- }
- },
- "default": {
- "description": "BadRequest",
- "schema": {
- "$ref": "#/definitions/MaintenanceError"
- }
- }
- },
- "x-ms-examples": {
- "MaintenanceConfigurations_DeleteForResource": {
- "$ref": "./examples/MaintenanceConfigurations_DeleteForResource.json"
- }
- }
- },
- "patch": {
- "tags": [
- "MaintenanceConfigurations"
- ],
- "summary": "Patch configuration record",
- "operationId": "MaintenanceConfigurations_Update",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource Group Name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource Identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "configuration",
- "in": "body",
- "description": "The configuration",
- "required": true,
- "schema": {
- "$ref": "#/definitions/MaintenanceConfiguration"
- }
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/MaintenanceConfiguration"
- }
- },
- "default": {
- "description": "BadRequest",
- "schema": {
- "$ref": "#/definitions/MaintenanceError"
- }
- }
- },
- "x-ms-examples": {
- "MaintenanceConfigurations_UpdateForResource": {
- "$ref": "./examples/MaintenanceConfigurations_UpdateForResource.json"
- }
- }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationAssignment"
}
+ }
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/maintenanceConfigurations": {
- "get": {
- "tags": [
- "MaintenanceConfigurations"
- ],
- "summary": "Get Configuration records within a subscription",
- "operationId": "MaintenanceConfigurations_List",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ListMaintenanceConfigurationsResult"
- }
- },
- "default": {
- "description": "BadRequest",
- "schema": {
- "$ref": "#/definitions/MaintenanceError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- },
- "x-ms-examples": {
- "MaintenanceConfigurations_List": {
- "$ref": "./examples/MaintenanceConfigurations_List.json"
- }
- }
+ "x-ms-examples": {
+ "ConfigurationAssignments_CreateOrUpdate": {
+ "$ref": "./examples/ConfigurationAssignments_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationAssignments"
+ ],
+ "summary": "Unregister configuration for resource",
+ "description": "Unregister configuration for resource.",
+ "operationId": "ConfigurationAssignments_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Resource provider name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "description": "Resource type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "configurationAssignmentName",
+ "in": "path",
+ "description": "Unique configuration assignment name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationAssignment"
}
+ }
},
- "/providers/Microsoft.Maintenance/operations": {
- "get": {
- "tags": [
- "Operations"
- ],
- "summary": "List available operations",
- "description": "List the available operations supported by the Microsoft.Maintenance resource provider",
- "operationId": "Operations_List",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OperationsListResult"
- }
- },
- "default": {
- "description": "BadRequest",
- "schema": {
- "$ref": "#/definitions/MaintenanceError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- },
- "x-ms-examples": {
- "Operations_List": {
- "$ref": "./examples/Operations_List.json"
- }
- }
+ "x-ms-examples": {
+ "ConfigurationAssignments_Delete": {
+ "$ref": "./examples/ConfigurationAssignments_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments": {
+ "get": {
+ "tags": [
+ "ConfigurationAssignments"
+ ],
+ "summary": "List configurationAssignments for resource",
+ "description": "List configurationAssignments for resource.",
+ "operationId": "ConfigurationAssignments_ListParent",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Resource provider name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceParentType",
+ "in": "path",
+ "description": "Resource parent type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceParentName",
+ "in": "path",
+ "description": "Resource parent identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "description": "Resource type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ListConfigurationAssignmentsResult"
}
+ }
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/updates": {
- "get": {
- "tags": [
- "Updates"
- ],
- "summary": "Get Updates to resource",
- "description": "Get updates to resources.",
- "operationId": "Updates_ListParent",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource group name",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerName",
- "in": "path",
- "description": "Resource provider name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceParentType",
- "in": "path",
- "description": "Resource parent type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceParentName",
- "in": "path",
- "description": "Resource parent identifier",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceType",
- "in": "path",
- "description": "Resource type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource identifier",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ListUpdatesResult"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- },
- "x-ms-examples": {
- "Updates_ListParent": {
- "$ref": "./examples/Updates_ListParent.json"
- }
- }
- }
+ "x-ms-pageable": {
+ "nextLinkName": null
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/updates": {
- "get": {
- "tags": [
- "Updates"
- ],
- "summary": "Get Updates to resource",
- "description": "Get updates to resources.",
- "operationId": "Updates_List",
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Resource group name",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerName",
- "in": "path",
- "description": "Resource provider name",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceType",
- "in": "path",
- "description": "Resource type",
- "required": true,
- "type": "string"
- },
- {
- "name": "resourceName",
- "in": "path",
- "description": "Resource identifier",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ListUpdatesResult"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- },
- "x-ms-examples": {
- "Updates_List": {
- "$ref": "./examples/Updates_List.json"
- }
- }
- }
+ "x-ms-examples": {
+ "ConfigurationAssignments_ListParent": {
+ "$ref": "./examples/ConfigurationAssignments_ListParent.json"
+ }
}
+ }
},
- "definitions": {
- "ApplyUpdateProperties": {
- "description": "Properties for apply update",
- "type": "object",
- "properties": {
- "status": {
- "description": "The status",
- "enum": [
- "Pending",
- "InProgress",
- "Completed",
- "RetryNow",
- "RetryLater"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "UpdateStatus",
- "modelAsString": true
- }
- },
- "resourceId": {
- "description": "The resourceId",
- "type": "string"
- },
- "lastUpdateTime": {
- "format": "date-time",
- "description": "Last Update time",
- "type": "string"
- }
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments": {
+ "get": {
+ "tags": [
+ "ConfigurationAssignments"
+ ],
+ "summary": "List configurationAssignments for resource",
+ "description": "List configurationAssignments for resource.",
+ "operationId": "ConfigurationAssignments_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Resource provider name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "description": "Resource type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ListConfigurationAssignmentsResult"
}
+ }
},
- "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
+ "x-ms-pageable": {
+ "nextLinkName": null
},
- "ApplyUpdate": {
- "description": "Apply Update request",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ApplyUpdateProperties",
- "description": "Properties of the apply update",
- "x-ms-client-flatten": true
- }
+ "x-ms-examples": {
+ "ConfigurationAssignments_List": {
+ "$ref": "./examples/ConfigurationAssignments_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Maintenance/maintenanceConfigurations/{resourceName}": {
+ "get": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "summary": "Get Configuration record",
+ "operationId": "MaintenanceConfigurations_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource Group Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource Identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
}
- },
- "ConfigurationAssignmentProperties": {
- "description": "Properties for configuration assignment",
- "type": "object",
- "properties": {
- "maintenanceConfigurationId": {
- "description": "The maintenance configuration Id",
- "type": "string"
- },
- "resourceId": {
- "description": "The unique resourceId",
- "type": "string"
- }
+ },
+ "default": {
+ "description": "BadRequest",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceError"
}
+ }
},
- "ConfigurationAssignment": {
- "description": "Configuration Assignment",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "location": {
- "description": "Location of the resource",
- "type": "string"
- },
- "properties": {
- "$ref": "#/definitions/ConfigurationAssignmentProperties",
- "description": "Properties of the configuration assignment",
- "x-ms-client-flatten": true
- }
+ "x-ms-examples": {
+ "MaintenanceConfigurations_GetForResource": {
+ "$ref": "./examples/MaintenanceConfigurations_GetForResource.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "summary": "Create or Update configuration record",
+ "operationId": "MaintenanceConfigurations_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource Group Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource Identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "configuration",
+ "in": "body",
+ "description": "The configuration",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
}
- },
- "ListConfigurationAssignmentsResult": {
- "description": "Response for ConfigurationAssignments list",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of configuration Assignments",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ConfigurationAssignment"
- }
- }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
}
- },
- "MaintenanceConfigurationProperties": {
- "description": "Properties for maintenance configuration",
- "type": "object",
- "properties": {
- "namespace": {
- "description": "Gets or sets namespace of the resource",
- "type": "string"
- },
- "extensionProperties": {
- "description": "Gets or sets extensionProperties of the maintenanceConfiguration",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "maintenanceScope": {
- "description": "Gets or sets maintenanceScope of the configuration",
- "enum": [
- "All",
- "Host",
- "Resource",
- "InResource"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "MaintenanceScope",
- "modelAsString": true
- }
- }
+ },
+ "default": {
+ "description": "BadRequest",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceError"
}
+ }
},
- "MaintenanceConfiguration": {
- "description": "Maintenance configuration record type",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "location": {
- "description": "Gets or sets location of the resource",
- "type": "string"
- },
- "tags": {
- "description": "Gets or sets tags of the resource",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/MaintenanceConfigurationProperties",
- "description": "Gets or sets properties of the resource",
- "x-ms-client-flatten": true
- }
+ "x-ms-examples": {
+ "MaintenanceConfigurations_CreateOrUpdateForResource": {
+ "$ref": "./examples/MaintenanceConfigurations_CreateOrUpdateForResource.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "summary": "Delete Configuration record",
+ "operationId": "MaintenanceConfigurations_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource Group Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource Identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
}
- },
- "MaintenanceError": {
- "description": "An error response received from the Azure Maintenance service.",
- "type": "object",
- "properties": {
- "error": {
- "$ref": "#/definitions/ErrorDetails",
- "description": "Details of the error"
- }
+ },
+ "default": {
+ "description": "BadRequest",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceError"
}
+ }
},
- "ErrorDetails": {
- "description": "An error response details received from the Azure Maintenance service.",
- "type": "object",
- "properties": {
- "code": {
- "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
- "type": "string"
- },
- "message": {
- "description": "Human-readable representation of the error.",
- "type": "string"
- }
+ "x-ms-examples": {
+ "MaintenanceConfigurations_DeleteForResource": {
+ "$ref": "./examples/MaintenanceConfigurations_DeleteForResource.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "summary": "Patch configuration record",
+ "operationId": "MaintenanceConfigurations_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource Group Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource Identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "configuration",
+ "in": "body",
+ "description": "The configuration",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
}
- },
- "ListMaintenanceConfigurationsResult": {
- "description": "Response for MaintenanceConfigurations list",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of maintenance Configurations",
- "type": "array",
- "items": {
- "$ref": "#/definitions/MaintenanceConfiguration"
- }
- }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
}
- },
- "OperationsListResult": {
- "description": "Result of the List Operations operation",
- "type": "object",
- "properties": {
- "value": {
- "description": "A collection of operations",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Operation"
- }
- }
+ },
+ "default": {
+ "description": "BadRequest",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceError"
}
+ }
},
- "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
- }
+ "x-ms-examples": {
+ "MaintenanceConfigurations_UpdateForResource": {
+ "$ref": "./examples/MaintenanceConfigurations_UpdateForResource.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/maintenanceConfigurations": {
+ "get": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "summary": "Get Configuration records within a subscription",
+ "operationId": "MaintenanceConfigurations_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ListMaintenanceConfigurationsResult"
}
- },
- "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"
- }
+ },
+ "default": {
+ "description": "BadRequest",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceError"
}
+ }
},
- "ListUpdatesResult": {
- "description": "Response for Updates list",
- "type": "object",
- "properties": {
- "value": {
- "description": "The pending updates",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Update"
- }
- }
- }
+ "x-ms-pageable": {
+ "nextLinkName": null
},
- "Update": {
- "description": "Maintenance update on a resource",
- "type": "object",
- "properties": {
- "maintenanceScope": {
- "description": "The impact area",
- "enum": [
- "All",
- "Host",
- "Resource",
- "InResource"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "MaintenanceScope",
- "modelAsString": true
- }
- },
- "impactType": {
- "description": "The impact type",
- "enum": [
- "None",
- "Freeze",
- "Restart",
- "Redeploy"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ImpactType",
- "modelAsString": true
- }
- },
- "status": {
- "description": "The status",
- "enum": [
- "Pending",
- "InProgress",
- "Completed",
- "RetryNow",
- "RetryLater"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "UpdateStatus",
- "modelAsString": true
- }
- },
- "impactDurationInSec": {
- "format": "int32",
- "description": "Duration of impact in seconds",
- "type": "integer"
- },
- "notBefore": {
- "format": "date-time",
- "description": "Time when Azure will start force updates if not self-updated by customer before this time",
- "type": "string"
- },
- "properties": {
- "$ref": "#/definitions/UpdateProperties",
- "description": "Properties of the apply update",
- "x-ms-client-flatten": true
- }
+ "x-ms-examples": {
+ "MaintenanceConfigurations_List": {
+ "$ref": "./examples/MaintenanceConfigurations_List.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Maintenance/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "List available operations",
+ "description": "List the available operations supported by the Microsoft.Maintenance resource provider",
+ "operationId": "Operations_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationsListResult"
}
- },
- "UpdateProperties": {
- "description": "Properties for update",
- "type": "object",
- "properties": {
- "resourceId": {
- "description": "The resourceId",
- "type": "string"
- }
+ },
+ "default": {
+ "description": "BadRequest",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceError"
}
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
}
+ }
},
- "parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/updates": {
+ "get": {
+ "tags": [
+ "Updates"
+ ],
+ "summary": "Get Updates to resource",
+ "description": "Get updates to resources.",
+ "operationId": "Updates_ListParent",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
"in": "path",
- "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "description": "Resource group name",
"required": true,
"type": "string"
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "description": "Version of the API to be used with the client request.",
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Resource provider name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceParentType",
+ "in": "path",
+ "description": "Resource parent type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceParentName",
+ "in": "path",
+ "description": "Resource parent identifier",
"required": true,
"type": "string"
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "description": "Resource type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ListUpdatesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Updates_ListParent": {
+ "$ref": "./examples/Updates_ListParent.json"
+ }
}
+ }
},
- "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"
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/updates": {
+ "get": {
+ "tags": [
+ "Updates"
+ ],
+ "summary": "Get Updates to resource",
+ "description": "Get updates to resources.",
+ "operationId": "Updates_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Resource provider name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "description": "Resource type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource identifier",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ListUpdatesResult"
}
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Updates_List": {
+ "$ref": "./examples/Updates_List.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ApplyUpdateProperties": {
+ "description": "Properties for apply update",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status",
+ "enum": [
+ "Pending",
+ "InProgress",
+ "Completed",
+ "RetryNow",
+ "RetryLater"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "resourceId": {
+ "description": "The resourceId",
+ "type": "string"
+ },
+ "lastUpdateTime": {
+ "format": "date-time",
+ "description": "Last Update time",
+ "type": "string"
+ }
+ }
+ },
+ "Resource": {
+ "description": "Definition of a Resource",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Fully qualified identifier of the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of the resource",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ApplyUpdate": {
+ "description": "Apply Update request",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ApplyUpdateProperties",
+ "description": "Properties of the apply update",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ConfigurationAssignmentProperties": {
+ "description": "Properties for configuration assignment",
+ "type": "object",
+ "properties": {
+ "maintenanceConfigurationId": {
+ "description": "The maintenance configuration Id",
+ "type": "string"
+ },
+ "resourceId": {
+ "description": "The unique resourceId",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigurationAssignment": {
+ "description": "Configuration Assignment",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "Location of the resource",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/ConfigurationAssignmentProperties",
+ "description": "Properties of the configuration assignment",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ListConfigurationAssignmentsResult": {
+ "description": "Response for ConfigurationAssignments list",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of configuration Assignments",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationAssignment"
+ }
+ }
+ }
+ },
+ "MaintenanceConfigurationProperties": {
+ "description": "Properties for maintenance configuration",
+ "type": "object",
+ "properties": {
+ "namespace": {
+ "description": "Gets or sets namespace of the resource",
+ "type": "string"
+ },
+ "extensionProperties": {
+ "description": "Gets or sets extensionProperties of the maintenanceConfiguration",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "maintenanceScope": {
+ "description": "Gets or sets maintenanceScope of the configuration",
+ "enum": [
+ "All",
+ "Host",
+ "Resource",
+ "InResource"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MaintenanceScope",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "MaintenanceConfiguration": {
+ "description": "Maintenance configuration record type",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
}
+ ],
+ "properties": {
+ "location": {
+ "description": "Gets or sets location of the resource",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Gets or sets tags of the resource",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/MaintenanceConfigurationProperties",
+ "description": "Gets or sets properties of the resource",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "MaintenanceError": {
+ "description": "An error response received from the Azure Maintenance service.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDetails",
+ "description": "Details of the error"
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "An error response details received from the Azure Maintenance service.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Human-readable representation of the error.",
+ "type": "string"
+ }
+ }
+ },
+ "ListMaintenanceConfigurationsResult": {
+ "description": "Response for MaintenanceConfigurations list",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of maintenance Configurations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "ListUpdatesResult": {
+ "description": "Response for Updates list",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The pending updates",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Update"
+ }
+ }
+ }
+ },
+ "Update": {
+ "description": "Maintenance update on a resource",
+ "type": "object",
+ "properties": {
+ "maintenanceScope": {
+ "description": "The impact area",
+ "enum": [
+ "All",
+ "Host",
+ "Resource",
+ "InResource"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MaintenanceScope",
+ "modelAsString": true
+ }
+ },
+ "impactType": {
+ "description": "The impact type",
+ "enum": [
+ "None",
+ "Freeze",
+ "Restart",
+ "Redeploy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ImpactType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The status",
+ "enum": [
+ "Pending",
+ "InProgress",
+ "Completed",
+ "RetryNow",
+ "RetryLater"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "impactDurationInSec": {
+ "format": "int32",
+ "description": "Duration of impact in seconds",
+ "type": "integer"
+ },
+ "notBefore": {
+ "format": "date-time",
+ "description": "Time when Azure will start force updates if not self-updated by customer before this time",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/UpdateProperties",
+ "description": "Properties of the apply update",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UpdateProperties": {
+ "description": "Properties for update",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The resourceId",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "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/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_CreateOrUpdate.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_CreateOrUpdate.json
index b4264e12af39..b01f3b7745f8 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_CreateOrUpdate.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_CreateOrUpdate.json
@@ -2,9 +2,9 @@
"parameters": {
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
"resourceGroupName": "examplerg",
- "providerName" : "Microsoft.Compute",
- "resourceType" : "virtualMachineScaleSets",
- "resourceName" : "smdtest1",
+ "providerName": "Microsoft.Compute",
+ "resourceType": "virtualMachineScaleSets",
+ "resourceName": "smdtest1",
"api-version": "2018-06-01-preview"
},
"responses": {
@@ -16,8 +16,8 @@
"properties": {
"resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1",
"status": "Pending"
- }
+ }
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_CreateOrUpdateParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_CreateOrUpdateParent.json
index 5ca31ab48bae..9e6017e81d9b 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_CreateOrUpdateParent.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_CreateOrUpdateParent.json
@@ -2,11 +2,11 @@
"parameters": {
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
"resourceGroupName": "examplerg",
- "providerName" : "Microsoft.Compute",
- "resourceParentType" : "virtualMachineScaleSets",
- "resourceParentName" : "smdtest1",
- "resourceType" : "virtualMachines",
- "resourceName" : "smdvm1",
+ "providerName": "Microsoft.Compute",
+ "resourceParentType": "virtualMachineScaleSets",
+ "resourceParentName": "smdtest1",
+ "resourceType": "virtualMachines",
+ "resourceName": "smdvm1",
"api-version": "2018-06-01-preview"
},
"responses": {
@@ -18,8 +18,8 @@
"properties": {
"resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1",
"status": "Pending"
- }
+ }
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_Get.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_Get.json
index 127fbb817d04..b38e704cb692 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_Get.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_Get.json
@@ -2,10 +2,10 @@
"parameters": {
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
"resourceGroupName": "examplerg",
- "providerName" : "Microsoft.Compute",
- "resourceType" : "virtualMachineScaleSets",
- "resourceName" : "smdtest1",
- "applyUpdateName" : "e9b9685d-78e4-44c4-a81c-64a14f9b87b6",
+ "providerName": "Microsoft.Compute",
+ "resourceType": "virtualMachineScaleSets",
+ "resourceName": "smdtest1",
+ "applyUpdateName": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6",
"api-version": "2018-06-01-preview"
},
"responses": {
@@ -17,8 +17,8 @@
"properties": {
"resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1",
"status": "Completed"
- }
+ }
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_GetParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_GetParent.json
index 21db01cf51d0..dafb11767427 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_GetParent.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ApplyUpdates_GetParent.json
@@ -2,12 +2,12 @@
"parameters": {
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
"resourceGroupName": "examplerg",
- "providerName" : "Microsoft.Compute",
- "resourceParentType" : "virtualMachineScaleSets",
- "resourceParentName" : "smdtest1",
- "resourceType" : "virtualMachines",
- "resourceName" : "smdvm1",
- "applyUpdateName" : "e9b9685d-78e4-44c4-a81c-64a14f9b87b6",
+ "providerName": "Microsoft.Compute",
+ "resourceParentType": "virtualMachineScaleSets",
+ "resourceParentName": "smdtest1",
+ "resourceType": "virtualMachines",
+ "resourceName": "smdvm1",
+ "applyUpdateName": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6",
"api-version": "2018-06-01-preview"
},
"responses": {
@@ -19,8 +19,8 @@
"properties": {
"resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1",
"status": "Completed"
- }
+ }
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_CreateOrUpdate.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_CreateOrUpdate.json
index b84a6ae84081..22f0dd2f177c 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_CreateOrUpdate.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_CreateOrUpdate.json
@@ -2,16 +2,16 @@
"parameters": {
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
"resourceGroupName": "examplerg",
- "providerName" : "Microsoft.Compute",
- "resourceType" : "virtualMachineScaleSets",
- "resourceName" : "smdtest1",
- "configurationAssignmentName" : "workervmConfiguration",
+ "providerName": "Microsoft.Compute",
+ "resourceType": "virtualMachineScaleSets",
+ "resourceName": "smdtest1",
+ "configurationAssignmentName": "workervmConfiguration",
"api-version": "2018-06-01-preview",
"configurationAssignment": {
- "properties": {
- "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1"
- }
- }
+ "properties": {
+ "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1"
+ }
+ }
},
"responses": {
"200": {
@@ -22,8 +22,8 @@
"properties": {
"maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1",
"resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1"
- }
+ }
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_CreateOrUpdateParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_CreateOrUpdateParent.json
index 3b8be738006e..a7b989afc6cf 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_CreateOrUpdateParent.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_CreateOrUpdateParent.json
@@ -2,18 +2,18 @@
"parameters": {
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
"resourceGroupName": "examplerg",
- "providerName" : "Microsoft.Compute",
- "resourceParentType" : "virtualMachineScaleSets",
- "resourceParentName" : "smdtest1",
- "resourceType" : "virtualMachines",
- "resourceName" : "smdvm1",
- "configurationAssignmentName" : "workervmPolicy",
+ "providerName": "Microsoft.Compute",
+ "resourceParentType": "virtualMachineScaleSets",
+ "resourceParentName": "smdtest1",
+ "resourceType": "virtualMachines",
+ "resourceName": "smdvm1",
+ "configurationAssignmentName": "workervmPolicy",
"api-version": "2018-06-01-preview",
"configurationAssignment": {
- "properties": {
- "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1"
- }
- }
+ "properties": {
+ "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1"
+ }
+ }
},
"responses": {
"200": {
@@ -24,8 +24,8 @@
"properties": {
"maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1",
"resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1"
- }
+ }
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_Delete.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_Delete.json
index 8b95b257ae05..984c2e4b7a2b 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_Delete.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_Delete.json
@@ -2,10 +2,10 @@
"parameters": {
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
"resourceGroupName": "examplerg",
- "providerName" : "Microsoft.Compute",
- "resourceType" : "virtualMachineScaleSets",
- "resourceName" : "smdtest1",
- "configurationAssignmentName" : "workervmConfiguration",
+ "providerName": "Microsoft.Compute",
+ "resourceType": "virtualMachineScaleSets",
+ "resourceName": "smdtest1",
+ "configurationAssignmentName": "workervmConfiguration",
"api-version": "2018-06-01-preview"
},
"responses": {
@@ -14,7 +14,7 @@
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration",
"name": "workervmConfiguration",
"type": "Microsoft.Maintenance/configurationAssignments"
- }
+ }
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_DeleteParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_DeleteParent.json
index fc7ac3fe53e3..f203debbdfd4 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_DeleteParent.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_DeleteParent.json
@@ -2,12 +2,12 @@
"parameters": {
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
"resourceGroupName": "examplerg",
- "providerName" : "Microsoft.Compute",
- "resourceParentType" : "virtualMachineScaleSets",
- "resourceParentName" : "smdtest1",
- "resourceType" : "virtualMachines",
- "resourceName" : "smdvm1",
- "configurationAssignmentName" : "workervmConfiguration",
+ "providerName": "Microsoft.Compute",
+ "resourceParentType": "virtualMachineScaleSets",
+ "resourceParentName": "smdtest1",
+ "resourceType": "virtualMachines",
+ "resourceName": "smdvm1",
+ "configurationAssignmentName": "workervmConfiguration",
"api-version": "2018-06-01-preview"
},
"responses": {
@@ -16,7 +16,7 @@
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration",
"name": "workervmConfiguration",
"type": "Microsoft.Maintenance/configurationAssignments"
- }
+ }
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_List.json
index 75b0ba1dc730..37a91f196fb8 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_List.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_List.json
@@ -2,15 +2,15 @@
"parameters": {
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
"resourceGroupName": "examplerg",
- "providerName" : "Microsoft.Compute",
- "resourceType" : "virtualMachineScaleSets",
- "resourceName" : "smdtest1",
+ "providerName": "Microsoft.Compute",
+ "resourceType": "virtualMachineScaleSets",
+ "resourceName": "smdtest1",
"api-version": "2018-06-01-preview"
},
"responses": {
"200": {
"body": {
- "value":[
+ "value": [
{
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration",
"name": "workervmConfiguration",
@@ -18,10 +18,10 @@
"properties": {
"maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1",
"resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1"
- }
+ }
}
]
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_ListParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_ListParent.json
index 759ead17c1fc..01e6a167ef60 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_ListParent.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/ConfigurationAssignments_ListParent.json
@@ -2,17 +2,17 @@
"parameters": {
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
"resourceGroupName": "examplerg",
- "providerName" : "Microsoft.Compute",
- "resourceParentType" : "virtualMachineScaleSets",
- "resourceParentName" : "smdtest1",
- "resourceType" : "virtualMachines",
- "resourceName" : "smdvm1",
+ "providerName": "Microsoft.Compute",
+ "resourceParentType": "virtualMachineScaleSets",
+ "resourceParentName": "smdtest1",
+ "resourceType": "virtualMachines",
+ "resourceName": "smdvm1",
"api-version": "2018-06-01-preview"
},
"responses": {
"200": {
"body": {
- "value":[
+ "value": [
{
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1/providers/Microsoft.Maintenance/configurationAssignments/workervmPolicy",
"name": "workervmPolicy",
@@ -20,10 +20,10 @@
"properties": {
"maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1",
"resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1"
- }
+ }
}
]
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_CreateOrUpdateForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_CreateOrUpdateForResource.json
index 618936d8c95b..74594ae41754 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_CreateOrUpdateForResource.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_CreateOrUpdateForResource.json
@@ -1,27 +1,27 @@
{
- "parameters": {
- "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
- "resourceGroupName": "examplerg",
- "resourceName" : "configuration1",
- "api-version": "2018-06-01-preview",
- "configuration": {
- "location": "westus2",
- "properties": {
- "namespace": "Microsoft.Maintenance"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1",
- "name": "configuration1",
- "location": "westus2",
- "properties": {
- "namespace": "Microsoft.Maintenance",
- "maintenanceScope": "All"
- }
- }
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "resourceName": "configuration1",
+ "api-version": "2018-06-01-preview",
+ "configuration": {
+ "location": "westus2",
+ "properties": {
+ "namespace": "Microsoft.Maintenance"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1",
+ "name": "configuration1",
+ "location": "westus2",
+ "properties": {
+ "namespace": "Microsoft.Maintenance",
+ "maintenanceScope": "All"
}
+ }
}
+ }
}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_DeleteForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_DeleteForResource.json
index e664e47c271c..ec757ada9783 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_DeleteForResource.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_DeleteForResource.json
@@ -1,20 +1,20 @@
{
- "parameters": {
- "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
- "resourceGroupName": "examplerg",
- "resourceName" : "example1",
- "api-version": "2018-06-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1",
- "name": "configuration1",
- "location": "westus2",
- "properties": {
- "namespace": "Microsoft.Maintenance"
- }
- }
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "resourceName": "example1",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1",
+ "name": "configuration1",
+ "location": "westus2",
+ "properties": {
+ "namespace": "Microsoft.Maintenance"
}
+ }
}
+ }
}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_GetForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_GetForResource.json
index 5c46c6ccb4ba..e6188342e08d 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_GetForResource.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_GetForResource.json
@@ -1,21 +1,21 @@
{
- "parameters": {
- "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
- "resourceGroupName": "examplerg",
- "resourceName" : "configuration1",
- "api-version": "2018-06-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1",
- "name": "configuration1",
- "location": "westus2",
- "properties": {
- "namespace": "Microsoft.Maintenance",
- "maintenanceScope": "All"
- }
- }
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "resourceName": "configuration1",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1",
+ "name": "configuration1",
+ "location": "westus2",
+ "properties": {
+ "namespace": "Microsoft.Maintenance",
+ "maintenanceScope": "All"
}
+ }
}
+ }
}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_List.json
index 7c3dee16b6e5..644484c437f9 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_List.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_List.json
@@ -1,20 +1,19 @@
{
- "parameters": {
- "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
- "api-version": "2018-06-01-preview"
- },
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2018-06-01-preview"
+ },
"responses": {
"200": {
"body": {
- "value":
- [
+ "value": [
{
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1",
"name": "configuration1",
"location": "westus2",
"properties": {
"namespace": "Microsoft.Maintenance",
- "maintenanceScope": "All"
+ "maintenanceScope": "All"
}
}
]
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_UpdateForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_UpdateForResource.json
index 618936d8c95b..74594ae41754 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_UpdateForResource.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/MaintenanceConfigurations_UpdateForResource.json
@@ -1,27 +1,27 @@
{
- "parameters": {
- "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
- "resourceGroupName": "examplerg",
- "resourceName" : "configuration1",
- "api-version": "2018-06-01-preview",
- "configuration": {
- "location": "westus2",
- "properties": {
- "namespace": "Microsoft.Maintenance"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1",
- "name": "configuration1",
- "location": "westus2",
- "properties": {
- "namespace": "Microsoft.Maintenance",
- "maintenanceScope": "All"
- }
- }
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "resourceName": "configuration1",
+ "api-version": "2018-06-01-preview",
+ "configuration": {
+ "location": "westus2",
+ "properties": {
+ "namespace": "Microsoft.Maintenance"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1",
+ "name": "configuration1",
+ "location": "westus2",
+ "properties": {
+ "namespace": "Microsoft.Maintenance",
+ "maintenanceScope": "All"
}
+ }
}
+ }
}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/Operations_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/Operations_List.json
index af8acc7ab70a..53a167c7075c 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/Operations_List.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/Operations_List.json
@@ -1,13 +1,12 @@
{
- "parameters": {
- "api-version": "2018-06-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- ]
- }
- }
+ "parameters": {
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": []
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/Updates_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/Updates_List.json
index c99bd147e1c2..015897bb7ede 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/Updates_List.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/Updates_List.json
@@ -2,25 +2,27 @@
"parameters": {
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
"resourceGroupName": "examplerg",
- "providerName" : "Microsoft.Compute",
- "resourceType" : "virtualMachineScaleSets",
- "resourceName" : "smdtest1",
+ "providerName": "Microsoft.Compute",
+ "resourceType": "virtualMachineScaleSets",
+ "resourceName": "smdtest1",
"api-version": "2018-06-01-preview"
},
"responses": {
"200": {
"body": {
- "value": [{
- "maintenanceScope": "Resource",
- "status" : "Pending",
- "impactType": "Reboot",
- "impactDurationInSec": 1440,
- "notBefore": "2018-10-09T06:17:44.235Z",
- "properties":{
- "resourceId":"/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1"
+ "value": [
+ {
+ "maintenanceScope": "Resource",
+ "status": "Pending",
+ "impactType": "Reboot",
+ "impactDurationInSec": 1440,
+ "notBefore": "2018-10-09T06:17:44.235Z",
+ "properties": {
+ "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1"
+ }
}
- }]
+ ]
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/Updates_ListParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/Updates_ListParent.json
index 166c838215d3..9832ccdcdb04 100644
--- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/Updates_ListParent.json
+++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2018-06-01-preview/examples/Updates_ListParent.json
@@ -2,27 +2,29 @@
"parameters": {
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
"resourceGroupName": "examplerg",
- "providerName" : "Microsoft.Compute",
- "resourceParentType" : "virtualMachineScaleSets",
- "resourceParentName" : "smdtest1",
- "resourceType" : "virtualMachines",
- "resourceName" : "1",
+ "providerName": "Microsoft.Compute",
+ "resourceParentType": "virtualMachineScaleSets",
+ "resourceParentName": "smdtest1",
+ "resourceType": "virtualMachines",
+ "resourceName": "1",
"api-version": "2018-06-01-preview"
},
"responses": {
"200": {
"body": {
- "value": [{
- "maintenanceScope": "Resource",
- "status" : "Pending",
- "impactType": "Reboot",
- "impactDurationInSec": 1440,
- "notBefore": "2018-10-09T06:17:44.235Z",
- "properties":{
- "resourceId":"/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/1"
+ "value": [
+ {
+ "maintenanceScope": "Resource",
+ "status": "Pending",
+ "impactType": "Reboot",
+ "impactDurationInSec": 1440,
+ "notBefore": "2018-10-09T06:17:44.235Z",
+ "properties": {
+ "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/1"
+ }
}
- }]
+ ]
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/maintenance/resource-manager/readme.go.md b/specification/maintenance/resource-manager/readme.go.md
new file mode 100644
index 000000000000..2344b31a0af4
--- /dev/null
+++ b/specification/maintenance/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: maintenance
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-06-preview
+```
+
+### Tag: package-2018-06-preview and go
+
+These settings apply only when `--tag=package-2018-06-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-06-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-06-01-preview/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/maintenance/resource-manager/readme.md b/specification/maintenance/resource-manager/readme.md
index 2807fd8e5cf5..f7d84d706585 100644
--- a/specification/maintenance/resource-manager/readme.md
+++ b/specification/maintenance/resource-manager/readme.md
@@ -102,30 +102,7 @@ python:
## Go
-These settings apply only when `--go` is specified on the command line.
-
-``` yaml $(go)
-go:
- license-header: MICROSOFT_APACHE_NO_VERSION
- namespace: Maintenance
- clear-output-folder: true
-```
-
-### Go multi-api
-
-``` yaml $(go) && $(multiapi)
-batch:
- - tag: package-2018-06-preview
-```
-
-### Tag: package-2018-06-preview and go
-
-These settings apply only when `--tag=package-2018-06-preview --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag) == 'package-2018-06-preview' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/Maintenance/mgmt/2018-06-01-preview/Maintenance
-```
+See configuration in [readme.go.md](./readme.go.md)
## Java
diff --git a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksGet.json b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksGet.json
index df8767b44f41..1307f5cad6c4 100644
--- a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksGet.json
+++ b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksGet.json
@@ -10,9 +10,9 @@
"200": {
"body": {
"name": "myManagedNetwork",
- "id": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
+ "id": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
"type": "Microsoft.ManagedNetwork/managedNetworks",
- "tags": [],
+ "tags": {},
"location": "eastus",
"properties": {
"provisioningState": "Succeeded",
@@ -20,10 +20,10 @@
"scope": {
"managementGroups": [
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
},
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
}
],
"subscriptions": [
@@ -36,18 +36,18 @@
],
"virtualNetworks": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
}
],
"subnets": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
}
]
},
diff --git a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksListByResourceGroup.json b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksListByResourceGroup.json
index f9493033130a..8de513d3a9a7 100644
--- a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksListByResourceGroup.json
+++ b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksListByResourceGroup.json
@@ -11,9 +11,9 @@
"value": [
{
"name": "myManagedNetwork",
- "id": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
+ "id": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
"type": "Microsoft.ManagedNetwork/managedNetworks",
- "tags": [],
+ "tags": {},
"location": "eastus",
"properties": {
"provisioningState": "Succeeded",
@@ -21,10 +21,10 @@
"scope": {
"managementGroups": [
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
},
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
}
],
"subscriptions": [
@@ -37,18 +37,18 @@
],
"virtualNetworks": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
}
],
"subnets": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
}
]
},
diff --git a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksListBySubscription.json b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksListBySubscription.json
index 608bc26f8ec0..8139c9f25bb6 100644
--- a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksListBySubscription.json
+++ b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksListBySubscription.json
@@ -10,9 +10,9 @@
"value": [
{
"name": "myManagedNetwork",
- "id": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
+ "id": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
"type": "Microsoft.ManagedNetwork/managedNetworks",
- "tags": [],
+ "tags": {},
"location": "eastus",
"properties": {
"provisioningState": "Succeeded",
@@ -20,10 +20,10 @@
"scope": {
"managementGroups": [
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
},
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
}
],
"subscriptions": [
@@ -36,18 +36,18 @@
],
"virtualNetworks": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
}
],
"subnets": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
}
]
},
diff --git a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksPatch.json b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksPatch.json
index c2d76c7cb580..e7c700985f6c 100644
--- a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksPatch.json
+++ b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksPatch.json
@@ -6,16 +6,16 @@
"resourceGroupName": "myResourceGroup",
"managedNetworkName": "myManagedNetwork",
"parameters": {
- "tags": []
+ "tags": {}
}
},
"responses": {
"200": {
"body": {
"name": "myManagedNetwork",
- "id": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
+ "id": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
"type": "Microsoft.ManagedNetwork/managedNetworks",
- "tags": [],
+ "tags": {},
"location": "eastus",
"properties": {
"provisioningState": "Succeeded",
@@ -23,10 +23,10 @@
"scope": {
"managementGroups": [
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
},
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
}
],
"subscriptions": [
@@ -39,18 +39,18 @@
],
"virtualNetworks": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
}
],
"subnets": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
}
]
},
@@ -64,9 +64,9 @@
"201": {
"body": {
"name": "myManagedNetwork",
- "id": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
+ "id": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
"type": "Microsoft.ManagedNetwork/managedNetworks",
- "tags": [],
+ "tags": {},
"location": "eastus",
"properties": {
"provisioningState": "Succeeded",
@@ -74,10 +74,10 @@
"scope": {
"managementGroups": [
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
},
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
}
],
"subscriptions": [
@@ -90,18 +90,18 @@
],
"virtualNetworks": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
}
],
"subnets": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
}
]
},
diff --git a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksPut.json b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksPut.json
index d97e7acebf4d..01b4c9d74c2c 100644
--- a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksPut.json
+++ b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ManagedNetwork/ManagedNetworksPut.json
@@ -6,16 +6,16 @@
"resourceGroupName": "myResourceGroup",
"managedNetworkName": "myManagedNetwork",
"managedNetwork": {
- "tags": [],
+ "tags": {},
"location": "eastus",
"properties": {
"scope": {
"managementGroups": [
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
},
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
}
],
"subscriptions": [
@@ -28,18 +28,18 @@
],
"virtualNetworks": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
}
],
"subnets": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
}
]
}
@@ -50,9 +50,9 @@
"200": {
"body": {
"name": "myManagedNetwork",
- "id": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
+ "id": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
"type": "Microsoft.ManagedNetwork/managedNetworks",
- "tags": [],
+ "tags": {},
"location": "eastus",
"properties": {
"provisioningState": "Succeeded",
@@ -60,10 +60,10 @@
"scope": {
"managementGroups": [
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
},
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
}
],
"subscriptions": [
@@ -76,18 +76,18 @@
],
"virtualNetworks": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
}
],
"subnets": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
}
]
},
@@ -101,9 +101,9 @@
"201": {
"body": {
"name": "myManagedNetwork",
- "id": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
+ "id": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork",
"type": "Microsoft.ManagedNetwork/managedNetworks",
- "tags": [],
+ "tags": {},
"location": "eastus",
"properties": {
"provisioningState": "Succeeded",
@@ -111,10 +111,10 @@
"scope": {
"managementGroups": [
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000"
},
{
- "id": "providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000"
}
],
"subscriptions": [
@@ -127,18 +127,18 @@
],
"virtualNetworks": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetB"
}
],
"subnets": [
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetA"
},
{
- "id": "subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
+ "id": "/subscriptions/subscriptionC/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/VnetC/subnets/subnetB"
}
]
},
diff --git a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsDelete.json b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsDelete.json
index f9c417947452..7833f39f1a0d 100644
--- a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsDelete.json
+++ b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsDelete.json
@@ -2,7 +2,7 @@
"title": "Create/Update Managed Network",
"parameters": {
"api-version": "2019-06-01",
- "scope": "subscriptions/subscriptionC",
+ "scope": "/subscriptions/subscriptionC",
"scopeAssignmentName": "subscriptionCAssignment"
},
"responses": {
diff --git a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsGet.json b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsGet.json
index 0a80f8a74d2c..ae0414848e4f 100644
--- a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsGet.json
+++ b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsGet.json
@@ -2,17 +2,17 @@
"title": "Create/Update Managed Network",
"parameters": {
"api-version": "2019-06-01",
- "scope": "subscriptions/subscriptionC",
+ "scope": "/subscriptions/subscriptionC",
"scopeAssignmentName": "subscriptionCAssignment"
},
"responses": {
"200": {
"body": {
"name": "subscriptionCAssignment",
- "id": "subscriptions/subscriptionC/providers/Microsoft.ManagedNetwork/scopeAssignments/subscriptionCAssignment",
+ "id": "/subscriptions/subscriptionC/providers/Microsoft.ManagedNetwork/scopeAssignments/subscriptionCAssignment",
"type": "Microsoft.ManagedNetwork/scopeAssignment",
"properties": {
- "assignedManagedNetwork": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork"
+ "assignedManagedNetwork": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork"
}
}
}
diff --git a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsList.json b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsList.json
index 47daf72edb4c..235e7d5a3ae0 100644
--- a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsList.json
+++ b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsList.json
@@ -2,7 +2,7 @@
"title": "Create/Update Managed Network",
"parameters": {
"api-version": "2019-06-01",
- "scope": "subscriptions/subscriptionC"
+ "scope": "/subscriptions/subscriptionC"
},
"responses": {
"200": {
@@ -10,12 +10,12 @@
"value": [
{
"name": "subscriptionCAssignemnt",
- "id": "subscriptions/subscriptionC/providers/Microsoft.ManagedNetwork/scopeAssignments/subscriptionCAssignment",
+ "id": "/subscriptions/subscriptionC/providers/Microsoft.ManagedNetwork/scopeAssignments/subscriptionCAssignment",
"type": "Microsoft.ManagedNetwork/scopeAssignment",
"properties": {
"provisioningState": "Succeeded",
"etag": "sadf-asdf-asdf-asdf",
- "assignedManagedNetwork": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork"
+ "assignedManagedNetwork": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork"
}
}
],
diff --git a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsPut.json b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsPut.json
index 9e346c1e37fa..95179433f1be 100644
--- a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsPut.json
+++ b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsPut.json
@@ -2,11 +2,11 @@
"title": "Create/Update Managed Network",
"parameters": {
"api-version": "2019-06-01",
- "scope": "subscriptions/subscriptionC",
+ "scope": "/subscriptions/subscriptionC",
"scopeAssignmentName": "subscriptionCAssignment",
"parameters": {
"properties": {
- "assignedManagedNetwork": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork"
+ "assignedManagedNetwork": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork"
}
}
},
@@ -14,24 +14,24 @@
"200": {
"body": {
"name": "subscriptionCAssignment",
- "id": "subscriptions/subscriptionC/providers/Microsoft.ManagedNetwork/scopeAssignments/subscriptionCAssignment",
+ "id": "/subscriptions/subscriptionC/providers/Microsoft.ManagedNetwork/scopeAssignments/subscriptionCAssignment",
"type": "Microsoft.ManagedNetwork/scopeAssignment",
"properties": {
"provisioningState": "Succeeded",
"etag": "sadf-asdf-asdf-asdf",
- "assignedManagedNetwork": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork"
+ "assignedManagedNetwork": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork"
}
}
},
"201": {
"body": {
"name": "subscriptionCAssignment",
- "id": "subscriptions/subscriptionC/providers/Microsoft.ManagedNetwork/scopeAssignments/subscriptionCAssignment",
+ "id": "/subscriptions/subscriptionC/providers/Microsoft.ManagedNetwork/scopeAssignments/subscriptionCAssignment",
"type": "Microsoft.ManagedNetwork/scopeAssignment",
"properties": {
"provisioningState": "Succeeded",
"etag": "sadf-asdf-asdf-asdf",
- "assignedManagedNetwork": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork"
+ "assignedManagedNetwork": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetwork/managedNetworks/myManagedNetwork"
}
}
}
diff --git a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/managedNetwork.json b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/managedNetwork.json
index 505d0362f690..487d426e914e 100644
--- a/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/managedNetwork.json
+++ b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/managedNetwork.json
@@ -1011,12 +1011,16 @@
"type": "object",
"properties": {
"tags": {
- "type": "array",
- "items": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/TagsObject"
+ "type": "object",
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "additionalProperties": {
+ "type": "string"
},
- "description": "Updates the tags property of the Managed Network"
+ "description": "Resource tags"
}
},
"description": "Update Tags of Managed Network"
@@ -1406,6 +1410,14 @@
"readOnly": true,
"type": "string",
"description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts."
+ },
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "The geo-location where the resource lives"
}
},
"x-ms-azure-resource": true
@@ -1414,24 +1426,16 @@
"description": "The resource model definition for a ARM tracked top level resource",
"properties": {
"tags": {
- "type": "array",
- "items": {
- "type": "string",
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ]
- },
- "description": "Resource tags."
- },
- "location": {
- "type": "string",
+ "type": "object",
"x-ms-mutability": [
"read",
- "create"
+ "create",
+ "update"
],
- "description": "The geo-location where the resource lives"
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
}
},
"required": [
@@ -1460,10 +1464,6 @@
},
"description": "Generic pointer to a resource"
},
- "TagsObject": {
- "type": "string",
- "description": "Resource tags."
- },
"ResourceProperties": {
"properties": {
"provisioningState": {
diff --git a/specification/managednetwork/resource-manager/readme.cli.md b/specification/managednetwork/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..31ea0f7ae092
--- /dev/null
+++ b/specification/managednetwork/resource-manager/readme.cli.md
@@ -0,0 +1,15 @@
+## CLI
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+cli:
+ cli-name: managednetwork
+ namespace: azure.mgmt.managednetwork
+ package-name: azure-mgmt-managednetwork
+ debug: true
+ adjustments:
+ "/sku": "Sku*/"
+ test-setup:
+ - name: Create or Update a service with all parameters
+```
diff --git a/specification/managednetwork/resource-manager/readme.md b/specification/managednetwork/resource-manager/readme.md
index 381cf01e0494..d728435d48d2 100644
--- a/specification/managednetwork/resource-manager/readme.md
+++ b/specification/managednetwork/resource-manager/readme.md
@@ -65,9 +65,14 @@ csharp:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: Microsoft.Azure.Management.ManagedNetwork
+ output-folder: $(csharp-sdks-folder)/managednetwork/Microsoft.Azure.Management.ManagedNetwork/src/generated
clear-output-folder: true
```
+## CLI
+
+See configuration in [readme.cli.md](./readme.cli.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/managednetwork/resource-manager/readme.python.md b/specification/managednetwork/resource-manager/readme.python.md
new file mode 100644
index 000000000000..3c302015817c
--- /dev/null
+++ b/specification/managednetwork/resource-manager/readme.python.md
@@ -0,0 +1,23 @@
+## 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-managednetwork
+ clear-output-folder: true
+```
+
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/managednetwork/azure-mgmt-managednetwork/azure/mgmt/managednetwork
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/managednetwork/azure-mgmt-managednetwork
+```
diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/Common.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/Common.json
new file mode 100644
index 000000000000..8ffd3bd1f71a
--- /dev/null
+++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/Common.json
@@ -0,0 +1,80 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Media Services",
+ "version": "2018-07-01"
+ },
+ "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": {
+ "Resource": {
+ "description": "The core properties of ARM resources.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource ID for the resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "TrackedResource": {
+ "description": "The resource model definition for a ARM tracked 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 of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ProxyResource": {
+ "description": "The resource model definition for a ARM proxy resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/MediaGraphs.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/MediaGraphs.json
new file mode 100644
index 000000000000..947796666ecd
--- /dev/null
+++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/MediaGraphs.json
@@ -0,0 +1,757 @@
+{
+ "schemes": [
+ "https"
+ ],
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Media Services",
+ "description": "This Swagger was generated by the API Framework.",
+ "version": "2019-09-01-preview"
+ },
+ "host": "management.azure.com",
+ "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"
+ }
+ }
+ },
+ "definitions": {
+ "MediaGraphProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Media Graph description"
+ },
+ "state": {
+ "type": "string",
+ "enum": [
+ "Running",
+ "Starting",
+ "Stopped",
+ "Stopping"
+ ],
+ "x-ms-enum": {
+ "name": "MediaGraphState",
+ "values": [
+ {
+ "value": "Running",
+ "description": "Media Graph is Running"
+ },
+ {
+ "value": "Starting",
+ "description": "Media Graph is Starting"
+ },
+ {
+ "value": "Stopped",
+ "description": "Media Graph has Stopped"
+ },
+ {
+ "value": "Stopping",
+ "description": "Media Graph is Stopping"
+ }
+ ],
+ "modelAsString": true
+ },
+ "description": "Media Graph state",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date the Media Graph was created",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date the Media Graph was last modified",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MediaGraphSource"
+ },
+ "description": "Media Graph sources"
+ },
+ "sinks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MediaGraphSink"
+ },
+ "description": "Media Graph sinks"
+ }
+ },
+ "type": "object",
+ "required": [
+ "sources",
+ "sinks"
+ ],
+ "description": "Class for Media Graph properties"
+ },
+ "MediaGraphSource": {
+ "discriminator": "@odata.type",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "description": "The discriminator for derived types."
+ },
+ "name": {
+ "type": "string",
+ "description": "Source name"
+ }
+ },
+ "type": "object",
+ "required": [
+ "@odata.type",
+ "name"
+ ],
+ "description": "Media source"
+ },
+ "MediaGraphSink": {
+ "discriminator": "@odata.type",
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "description": "The discriminator for derived types."
+ },
+ "name": {
+ "type": "string",
+ "description": "Sink name"
+ },
+ "inputs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Sink inputs"
+ }
+ },
+ "type": "object",
+ "required": [
+ "@odata.type",
+ "name",
+ "inputs"
+ ],
+ "description": "Media Sink"
+ },
+ "MediaGraphRtspSource": {
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphRtspSource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphSource"
+ }
+ ],
+ "properties": {
+ "rtspUrl": {
+ "type": "string",
+ "description": "RTSP URL"
+ },
+ "credentials": {
+ "$ref": "#/definitions/MediaGraphUserCredentials",
+ "description": "RTSP Credentials"
+ }
+ },
+ "type": "object",
+ "required": [
+ "rtspUrl"
+ ],
+ "description": "RTSP source"
+ },
+ "MediaGraphUserCredentials": {
+ "properties": {
+ "username": {
+ "type": "string",
+ "description": "User name"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password credential"
+ }
+ },
+ "type": "object",
+ "required": [
+ "username",
+ "password"
+ ],
+ "description": "Credentials to authenticate to Media Graph sources"
+ },
+ "MediaGraphAssetSink": {
+ "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphAssetSink",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MediaGraphSink"
+ }
+ ],
+ "properties": {
+ "assetName": {
+ "type": "string",
+ "description": "Asset name"
+ }
+ },
+ "type": "object",
+ "required": [
+ "assetName"
+ ],
+ "description": "Asset sink"
+ },
+ "MediaGraph": {
+ "allOf": [
+ {
+ "$ref": "./Common.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MediaGraphProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "description": "The Media Graph."
+ },
+ "MediaGraphOperationError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The operation error code"
+ },
+ "message": {
+ "type": "string",
+ "description": "The operation error message"
+ }
+ },
+ "type": "object",
+ "description": "The operation error"
+ },
+ "MediaGraphOperationStatus": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the Media Graph operation"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the Media Graph operation"
+ },
+ "error": {
+ "$ref": "#/definitions/MediaGraphOperationError",
+ "description": "The error for the Media Graph operation"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "description": "The status of the Media Graph operation"
+ },
+ "MediaGraphOperationResult": {
+ "properties": {},
+ "type": "object",
+ "description": "The result of the Media Graph operation"
+ },
+ "ODataError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "A language-independent error name."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the error (for example, the name of the property in error)."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ODataError"
+ },
+ "description": "The error details."
+ }
+ },
+ "type": "object",
+ "description": "Information about an error."
+ },
+ "ApiError": {
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ODataError",
+ "description": "The error properties."
+ }
+ },
+ "type": "object",
+ "description": "The API error."
+ },
+ "MediaGraphCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MediaGraph"
+ },
+ "description": "A collection of MediaGraph items."
+ },
+ "@odata.nextLink": {
+ "type": "string",
+ "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)."
+ }
+ },
+ "type": "object",
+ "description": "A collection of MediaGraph items."
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/mediaGraphs": {
+ "get": {
+ "summary": "List Media Graphs",
+ "description": "Lists Media Graphs in the Media Services account",
+ "operationId": "MediaGraphs_List",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MediaGraphCollection"
+ }
+ },
+ "default": {
+ "description": "Detailed error information.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/MediaServicesAccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n."
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "@odata.nextLink"
+ },
+ "x-ms-examples": {
+ "List all Media Graphs": {
+ "$ref": "examples/media-graph-list-all.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/mediaGraphs/{mediaGraphName}": {
+ "get": {
+ "summary": "Get a Media Graph",
+ "description": "Get the details of a Media Graph in the Media Services account",
+ "operationId": "MediaGraphs_Get",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MediaGraph"
+ }
+ },
+ "404": {
+ "description": "NotFound"
+ },
+ "default": {
+ "description": "Detailed error information.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/MediaServicesAccountName"
+ },
+ {
+ "name": "mediaGraphName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Media Graph name."
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a Media Graph by name": {
+ "$ref": "examples/media-graph-get-by-name.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Create or update a Media Graph",
+ "description": "Create or update a Media Graph in the Media Services account",
+ "operationId": "MediaGraphs_CreateOrUpdate",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MediaGraph"
+ }
+ },
+ "default": {
+ "description": "Detailed error information.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/MediaServicesAccountName"
+ },
+ {
+ "name": "mediaGraphName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Media Graph name."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MediaGraph"
+ },
+ "description": "The request parameters"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "x-ms-examples": {
+ "Create or update a Media Graph": {
+ "$ref": "examples/media-graph-create.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete a Media Graph",
+ "description": "Deletes a Media Graph in the Media Services account",
+ "operationId": "MediaGraphs_Delete",
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Detailed error information.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/MediaServicesAccountName"
+ },
+ {
+ "name": "mediaGraphName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Media Graph name."
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "x-ms-examples": {
+ "Delete a Media Graph": {
+ "$ref": "examples/media-graph-delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/mediaGraphs/{mediaGraphName}/start": {
+ "post": {
+ "summary": "Start a Media Graph",
+ "description": "Start a Media Graph in the Media Services account",
+ "operationId": "MediaGraphs_Start",
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Detailed error information.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/MediaServicesAccountName"
+ },
+ {
+ "name": "mediaGraphName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Media Graph name."
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Start Media Graph": {
+ "$ref": "examples/media-graph-start.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/mediaGraphs/{mediaGraphName}/stop": {
+ "post": {
+ "summary": "Stop a Media Graph",
+ "description": "Stop a Media Graph in the Media Services account",
+ "operationId": "MediaGraphs_Stop",
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Detailed error information.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/MediaServicesAccountName"
+ },
+ {
+ "name": "mediaGraphName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Media Graph name."
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Stop Media Graph": {
+ "$ref": "examples/media-graph-stop.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/mediaGraphs/{mediaGraphName}/operationsStatus/{operationId}": {
+ "get": {
+ "summary": "Get the operation status",
+ "description": "Get the operation status of a Media Graph in the media services account",
+ "operationId": "OperationsStatus_Get",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MediaGraphOperationStatus"
+ }
+ },
+ "default": {
+ "description": "Detailed error information.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/MediaServicesAccountName"
+ },
+ {
+ "name": "mediaGraphName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Media Graph name."
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The operation ID"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "x-ms-examples": {
+ "Get the operation status": {
+ "$ref": "examples/operation-status-get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/mediaGraphs/{mediaGraphName}/operationResults/{operationId}": {
+ "get": {
+ "summary": "Get the operation result",
+ "description": "Get the operation result of a Media Graph in the Media Services account",
+ "operationId": "OperationResults_Get",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MediaGraphOperationResult"
+ }
+ },
+ "default": {
+ "description": "Detailed error information.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/MediaServicesAccountName"
+ },
+ {
+ "name": "mediaGraphName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Media Graph name."
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The operation ID"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "x-ms-examples": {
+ "Get the operation result": {
+ "$ref": "examples/operation-result-get.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The unique identifier for a Microsoft Azure subscription."
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group within the Azure subscription.",
+ "x-ms-parameter-location": "method"
+ },
+ "MediaServicesAccountName": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Media Services account name.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The Version of the API to be used with the client request."
+ }
+ }
+}
diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-create.json
new file mode 100644
index 000000000000..a09d494e78fe
--- /dev/null
+++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-create.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "contoso",
+ "accountName": "contosomedia",
+ "mediaGraphName": "SampleMediaGraph",
+ "api-version": "2019-09-01-preview",
+ "parameters": {
+ "properties": {
+ "description": "updated description",
+ "sources": [
+ {
+ "@odata.type": "#Microsoft.Media.MediaGraphRtspSource",
+ "name": "rtspSource",
+ "rtspUrl": "rtsp://contoso.com:554/stream1",
+ "credentials": {
+ "username": "exampleusername",
+ "password": "examplepassword"
+ }
+ }
+ ],
+ "sinks": [
+ {
+ "@odata.type": "#Microsoft.Media.MediaGraphAssetSink",
+ "name": "AssetSink",
+ "inputs": [
+ "rtspSource"
+ ],
+ "assetName": "SampleAsset"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "SampleMediaGraph",
+ "properties": {
+ "description": "updated description",
+ "state": "Stopped",
+ "created": "2019-09-01T00:00:00Z",
+ "lastModified": "2019-09-01T00:00:00Z",
+ "sources": [
+ {
+ "@odata.type": "#Microsoft.Media.MediaGraphRtspSource",
+ "name": "rtspSource",
+ "rtspUrl": "rtsp://contoso.com:554/stream1"
+ }
+ ],
+ "sinks": [
+ {
+ "@odata.type": "#Microsoft.Media.MediaGraphAssetSink",
+ "name": "AssetSink",
+ "inputs": [
+ "rtspSource"
+ ],
+ "assetName": "SampleAsset"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-delete.json
new file mode 100644
index 000000000000..70f175487496
--- /dev/null
+++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "contoso",
+ "accountName": "contosomedia",
+ "mediaGraphName": "SampleMediaGraph",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-get-by-name.json
new file mode 100644
index 000000000000..371fc45ce350
--- /dev/null
+++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-get-by-name.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "contoso",
+ "accountName": "contosomedia",
+ "mediaGraphName": "SampleMediaGraph1",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "404": {},
+ "200": {
+ "body": {
+ "name": "SampleMediaGraph1",
+ "properties": {
+ "description": "",
+ "state": "Stopped",
+ "created": "2019-09-01T00:00:00Z",
+ "lastModified": "2019-09-01T00:00:00Z",
+ "sources": [
+ {
+ "@odata.type": "#Microsoft.Media.MediaGraphRtspSource",
+ "name": "RTSPSource1",
+ "rtspUrl": "rtsp://contoso.com:554/stream1"
+ }
+ ],
+ "sinks": [
+ {
+ "@odata.type": "#Microsoft.Media.MediaGraphAssetSink",
+ "name": "AssetSink1",
+ "inputs": [
+ "RTSPSource1"
+ ],
+ "assetName": "Sample Asset1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-list-all.json
new file mode 100644
index 000000000000..acb0a13f999b
--- /dev/null
+++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-list-all.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "contoso",
+ "accountName": "contosomedia",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "SampleMediaGraph0",
+ "properties": {
+ "description": "",
+ "state": "Stopped",
+ "created": "2019-09-01T00:00:00Z",
+ "lastModified": "2019-09-01T00:00:00Z",
+ "sources": [
+ {
+ "@odata.type": "#Microsoft.Media.MediaGraphRtspSource",
+ "name": "RTSPSource0",
+ "rtspUrl": "rtsp://contoso.com:554/stream0"
+ }
+ ],
+ "sinks": [
+ {
+ "@odata.type": "#Microsoft.Media.MediaGraphAssetSink",
+ "name": "AssetSink0",
+ "inputs": [
+ "RTSPSource0"
+ ],
+ "assetName": "Sample Asset0"
+ }
+ ]
+ }
+ },
+ {
+ "name": "SampleMediaGraph1",
+ "properties": {
+ "description": "",
+ "state": "Stopped",
+ "created": "2019-09-01T00:00:00Z",
+ "lastModified": "2019-09-01T00:00:00Z",
+ "sources": [
+ {
+ "@odata.type": "#Microsoft.Media.MediaGraphRtspSource",
+ "name": "RTSPSource1",
+ "rtspUrl": "rtsp://contoso.com:554/stream1"
+ }
+ ],
+ "sinks": [
+ {
+ "@odata.type": "#Microsoft.Media.MediaGraphAssetSink",
+ "name": "AssetSink1",
+ "inputs": [
+ "RTSPSource1"
+ ],
+ "assetName": "Sample Asset1"
+ }
+ ]
+ }
+ },
+ {
+ "name": "SampleMediaGraph2",
+ "properties": {
+ "description": "",
+ "state": "Stopped",
+ "created": "2019-09-01T00:00:00Z",
+ "lastModified": "2019-09-01T00:00:00Z",
+ "sources": [
+ {
+ "@odata.type": "#Microsoft.Media.MediaGraphRtspSource",
+ "name": "RTSPSource2",
+ "rtspUrl": "rtsp://contoso.com:554/stream2"
+ }
+ ],
+ "sinks": [
+ {
+ "@odata.type": "#Microsoft.Media.MediaGraphAssetSink",
+ "name": "AssetSink2",
+ "inputs": [
+ "RTSPSource2"
+ ],
+ "assetName": "Sample Asset2"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-start.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-start.json
new file mode 100644
index 000000000000..10c0783ddff3
--- /dev/null
+++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-start.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "contoso",
+ "accountName": "contosomedia",
+ "mediaGraphName": "SampleMediaGraph",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-stop.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-stop.json
new file mode 100644
index 000000000000..10c0783ddff3
--- /dev/null
+++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/media-graph-stop.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "contoso",
+ "accountName": "contosomedia",
+ "mediaGraphName": "SampleMediaGraph",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/operation-result-get.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/operation-result-get.json
new file mode 100644
index 000000000000..7a528e212c6f
--- /dev/null
+++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/operation-result-get.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "contoso",
+ "accountName": "contosomedia",
+ "mediaGraphName": "SampleMediaGraph",
+ "operationId": "7877d0da-ae9b-4c5b-a1fa-c9ece3ef5d11",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/operation-status-get.json b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/operation-status-get.json
new file mode 100644
index 000000000000..1e3ee9bda64d
--- /dev/null
+++ b/specification/mediaservices/resource-manager/Microsoft.Media/preview/2019-09-01-preview/examples/operation-status-get.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "contoso",
+ "accountName": "contosomedia",
+ "mediaGraphName": "SampleMediaGraph",
+ "operationId": "7877d0da-ae9b-4c5b-a1fa-c9ece3ef5d11",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "7877d0da-ae9b-4c5b-a1fa-c9ece3ef5d11",
+ "status": "Succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/mediaservices/resource-manager/readme.md b/specification/mediaservices/resource-manager/readme.md
index cacd66745375..a812b8a7aac6 100644
--- a/specification/mediaservices/resource-manager/readme.md
+++ b/specification/mediaservices/resource-manager/readme.md
@@ -30,6 +30,23 @@ tag: package-2018-07
opt-in-extensible-enums: true
```
+### Tag: package-2019-09-preview
+
+These settings apply only when `--tag=package-2019-09-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-09-preview'
+input-file:
+ - Microsoft.Media/stable/2018-07-01/AccountFilters.json
+ - Microsoft.Media/stable/2018-07-01/Accounts.json
+ - Microsoft.Media/stable/2018-07-01/AssetsAndAssetFilters.json
+ - Microsoft.Media/stable/2018-07-01/ContentKeyPolicies.json
+ - Microsoft.Media/stable/2018-07-01/Encoding.json
+ - Microsoft.Media/preview/2019-09-01-preview/MediaGraphs.json
+ - Microsoft.Media/stable/2018-07-01/StreamingPoliciesAndStreamingLocators.json
+ - Microsoft.Media/stable/2018-07-01/streamingservice.json
+```
+
+
### Tag: package-2019-05-preview
These settings apply only when `--tag=package-2019-05-preview` is specified on the command line.
@@ -286,6 +303,14 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Media/stable/2018-07-01/AccountFilters.json
+ - $(this-folder)/Microsoft.Media/stable/2018-07-01/Accounts.json
+ - $(this-folder)/Microsoft.Media/stable/2018-07-01/AssetsAndAssetFilters.json
+ - $(this-folder)/Microsoft.Media/stable/2018-07-01/ContentKeyPolicies.json
+ - $(this-folder)/Microsoft.Media/stable/2018-07-01/Encoding.json
+ - $(this-folder)/Microsoft.Media/preview/2019-09-01-preview/MediaGraphs.json
+ - $(this-folder)/Microsoft.Media/stable/2018-07-01/StreamingPoliciesAndStreamingLocators.json
+ - $(this-folder)/Microsoft.Media/stable/2018-07-01/streamingservice.json
- $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/AccountFilters.json
- $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/Accounts.json
- $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/AssetsAndAssetFilters.json
@@ -294,14 +319,7 @@ input-file:
- $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/Encoding.json
- $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/StreamingPoliciesAndStreamingLocators.json
- $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/streamingservice.json
- - $(this-folder)/Microsoft.Media/stable/2018-07-01/AccountFilters.json
- - $(this-folder)/Microsoft.Media/stable/2018-07-01/Accounts.json
- - $(this-folder)/Microsoft.Media/stable/2018-07-01/AssetsAndAssetFilters.json
- $(this-folder)/Microsoft.Media/stable/2018-07-01/Common.json
- - $(this-folder)/Microsoft.Media/stable/2018-07-01/ContentKeyPolicies.json
- - $(this-folder)/Microsoft.Media/stable/2018-07-01/Encoding.json
- - $(this-folder)/Microsoft.Media/stable/2018-07-01/StreamingPoliciesAndStreamingLocators.json
- - $(this-folder)/Microsoft.Media/stable/2018-07-01/streamingservice.json
- $(this-folder)/Microsoft.Media/stable/2015-10-01/media.json
- $(this-folder)/Microsoft.Media/preview/2018-03-30-preview/Accounts.json
- $(this-folder)/Microsoft.Media/preview/2018-03-30-preview/Assets.json
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerAdminCreateUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerAdminCreateUpdate.json
new file mode 100644
index 000000000000..1679c78a39fc
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerAdminCreateUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testrg",
+ "serverName": "mysqltestsvc4",
+ "administratorName": "activeDirectory",
+ "api-version": "2017-12-01-preview",
+ "properties": {
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/servers/mysqltestsvc4/administrators/activeDirectory",
+ "name": "activeDirectory",
+ "type": "Microsoft.DBforMySQL/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"
+ }
+ }
+ },
+ "202": {
+ "body": "Accepted"
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerAdminDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerAdminDelete.json
new file mode 100644
index 000000000000..10dc27f86aaa
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerAdminDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testrg",
+ "serverName": "mysqltestsvc4",
+ "administratorName": "activeDirectory",
+ "api-version": "2017-12-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": "OK"
+ },
+ "202": {
+ "body": "Accepted"
+ },
+ "204": {
+ "body": "No Content"
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerAdminGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerAdminGet.json
new file mode 100644
index 000000000000..55dcc08c1637
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerAdminGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testrg",
+ "serverName": "mysqltestsvc4",
+ "administratorName": "activeDirectory",
+ "api-version": "2017-12-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/servers/mysqltestsvc4/administrators/activeDirectory",
+ "name": "activeDirectory",
+ "type": "Microsoft.DBforMySQL/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerAdminList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerAdminList.json
new file mode 100644
index 000000000000..8cff5bc20aa7
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerAdminList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testrg",
+ "serverName": "mysqltestsvc4",
+ "api-version": "2017-12-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/servers/mysqltestsvc4/administrators/activeDirectory",
+ "name": "ActiveDirectory",
+ "type": "Microsoft.DBforMySQL/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json
index b7a1f683cc53..51251474b5b6 100644
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json
@@ -1072,6 +1072,202 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/Administrators/activeDirectory": {
+ "get": {
+ "tags": [
+ "ServerAdministrators"
+ ],
+ "operationId": "ServerAdministrators_Get",
+ "x-ms-examples": {
+ "ServerAdministratorGet": {
+ "$ref": "./examples/ServerAdminGet.json"
+ }
+ },
+ "description": "Gets information about a AAD server administrator.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ServerAdministrators"
+ ],
+ "operationId": "ServerAdministrators_CreateOrUpdate",
+ "x-ms-examples": {
+ "ServerAdministratorCreate": {
+ "$ref": "./examples/ServerAdminCreateUpdate.json"
+ }
+ },
+ "description": "Creates or update active directory administrator on an existing server. The update action will overwrite the existing administrator.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ },
+ "description": "The required parameters for creating or updating an AAD server administrator."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ServerAdministrators"
+ ],
+ "operationId": "ServerAdministrators_Delete",
+ "x-ms-examples": {
+ "ServerAdministratorsDelete": {
+ "$ref": "./examples/ServerAdminDelete.json"
+ }
+ },
+ "description": "Deletes AAD Administrator.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "204": {
+ "description": "NoContent",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "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}/administrators": {
+ "get": {
+ "tags": [
+ "ServerAdministrators"
+ ],
+ "operationId": "ServerAdministrators_ListByServer",
+ "description": "Returns a list of server Administrators.",
+ "x-ms-examples": {
+ "get a list of server administrators": {
+ "$ref": "./examples/ServerAdminList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers": {
"get": {
"tags": [
@@ -2272,6 +2468,68 @@
}
},
"description": "An error response from the Batch service."
+ },
+ "ServerAdministratorProperties": {
+ "properties": {
+ "administratorType": {
+ "type": "string",
+ "description": "The type of administrator.",
+ "enum": [
+ "ActiveDirectory"
+ ],
+ "x-ms-enum": {
+ "name": "AdministratorType"
+ }
+ },
+ "login": {
+ "type": "string",
+ "description": "The server administrator login value."
+ },
+ "sid": {
+ "type": "string",
+ "description": "The server administrator Sid (Secure ID).",
+ "format": "uuid"
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The server Active Directory Administrator tenant id.",
+ "format": "uuid"
+ }
+ },
+ "required": [
+ "tenantId",
+ "administratorType",
+ "login",
+ "sid"
+ ],
+ "description": "The properties of an server Administrator."
+ },
+ "ServerAdministratorResource": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServerAdministratorProperties",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the server AAD administrator."
+ }
+ },
+ "description": "Represents a and external administrator to be created.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "ServerAdministratorResourceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ },
+ "description": "The list of server Active Directory Administrators for the server."
+ }
+ },
+ "description": "The response to a list Active Directory Administrators request."
}
},
"parameters": {
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/examples/ServerAdminCreateUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/examples/ServerAdminCreateUpdate.json
new file mode 100644
index 000000000000..f7344538d931
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/examples/ServerAdminCreateUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testrg",
+ "serverName": "mysqltestsvc4",
+ "administratorName": "activeDirectory",
+ "api-version": "2018-06-01-privatepreview",
+ "properties": {
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/servers/mysqltestsvc4/administrators/activeDirectory",
+ "name": "activeDirectory",
+ "type": "Microsoft.DBforMySQL/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"
+ }
+ }
+ },
+ "202": {
+ "body": "Accepted"
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/examples/ServerAdminDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/examples/ServerAdminDelete.json
new file mode 100644
index 000000000000..27789e74bf1d
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/examples/ServerAdminDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testrg",
+ "serverName": "mysqltestsvc4",
+ "administratorName": "activeDirectory",
+ "api-version": "2018-06-01-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": "OK"
+ },
+ "202": {
+ "body": "Accepted"
+ },
+ "204": {
+ "body": "No Content"
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/examples/ServerAdminGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/examples/ServerAdminGet.json
new file mode 100644
index 000000000000..921a633ff5f4
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/examples/ServerAdminGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testrg",
+ "serverName": "mysqltestsvc4",
+ "administratorName": "activeDirectory",
+ "api-version": "2018-06-01-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/servers/mysqltestsvc4/administrators/activeDirectory",
+ "name": "activeDirectory",
+ "type": "Microsoft.DBforMySQL/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/examples/ServerAdminList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/examples/ServerAdminList.json
new file mode 100644
index 000000000000..b5abca2e56d5
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/examples/ServerAdminList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testrg",
+ "serverName": "mysqltestsvc4",
+ "api-version": "2018-06-01-privatepreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/servers/mysqltestsvc4/administrators/activeDirectory",
+ "name": "ActiveDirectory",
+ "type": "Microsoft.DBforMySQL/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json
index 0b8d89484000..196ad34dade8 100644
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json
@@ -1072,6 +1072,202 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/Administrators/activeDirectory": {
+ "get": {
+ "tags": [
+ "ServerAdministrators"
+ ],
+ "operationId": "ServerAdministrators_Get",
+ "x-ms-examples": {
+ "ServerAdministratorGet": {
+ "$ref": "./examples/ServerAdminGet.json"
+ }
+ },
+ "description": "Gets information about a AAD server administrator.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ServerAdministrators"
+ ],
+ "operationId": "ServerAdministrators_CreateOrUpdate",
+ "x-ms-examples": {
+ "ServerAdministratorCreate": {
+ "$ref": "./examples/ServerAdminCreateUpdate.json"
+ }
+ },
+ "description": "Creates or update active directory administrator on an existing server. The update action will overwrite the existing administrator.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ },
+ "description": "The required parameters for creating or updating an AAD server administrator."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ServerAdministrators"
+ ],
+ "operationId": "ServerAdministrators_Delete",
+ "x-ms-examples": {
+ "ServerAdministratorsDelete": {
+ "$ref": "./examples/ServerAdminDelete.json"
+ }
+ },
+ "description": "Deletes AAD Administrator.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "204": {
+ "description": "NoContent",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "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}/administrators": {
+ "get": {
+ "tags": [
+ "ServerAdministrators"
+ ],
+ "operationId": "ServerAdministrators_ListByServer",
+ "description": "Returns a list of server Administrators.",
+ "x-ms-examples": {
+ "get a list of server administrators": {
+ "$ref": "./examples/ServerAdminList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers": {
"get": {
"tags": [
@@ -2833,6 +3029,68 @@
},
"description": "An error response from the Batch service."
},
+ "ServerAdministratorProperties": {
+ "properties": {
+ "administratorType": {
+ "type": "string",
+ "description": "The type of administrator.",
+ "enum": [
+ "ActiveDirectory"
+ ],
+ "x-ms-enum": {
+ "name": "AdministratorType"
+ }
+ },
+ "login": {
+ "type": "string",
+ "description": "The server administrator login value."
+ },
+ "sid": {
+ "type": "string",
+ "description": "The server administrator Sid (Secure ID).",
+ "format": "uuid"
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The server Active Directory Administrator tenant id.",
+ "format": "uuid"
+ }
+ },
+ "required": [
+ "tenantId",
+ "administratorType",
+ "login",
+ "sid"
+ ],
+ "description": "The properties of an server Administrator."
+ },
+ "ServerAdministratorResource": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServerAdministratorProperties",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the server AAD administrator."
+ }
+ },
+ "description": "Represents a and external administrator to be created.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "ServerAdministratorResourceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ },
+ "description": "The list of server Active Directory Administrators for the server."
+ }
+ },
+ "description": "The response to a list Active Directory Administrators request."
+ },
"QueryTextProperties": {
"properties": {
"queryId": {
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_CreateOrUpdate.json
new file mode 100644
index 000000000000..23b886874e54
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_CreateOrUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "api-version": "2019-07-01",
+ "body": {
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_Delete.json
new file mode 100644
index 000000000000..02e5f9dcdff8
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_Get.json
new file mode 100644
index 000000000000..8d66e1d9a64b
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_Get.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "api-version": "2019-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_List.json
new file mode 100644
index 000000000000..420d52e4bc14
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_List.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_Update.json
new file mode 100644
index 000000000000..a339211b0eed
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Accounts_Update.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "api-version": "2019-07-01",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/CheckFilePathAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/CheckFilePathAvailability.json
new file mode 100644
index 000000000000..07a82007b19a
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/CheckFilePathAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "location": "eastus",
+ "api-version": "2019-07-01",
+ "body": {
+ "name": "my-exact-filepth",
+ "type": "netAppAccount/capacityPools/volume",
+ "resourceGroup": "myrg"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/CheckNameAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..c4f861e24e16
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/CheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "location": "eastus",
+ "api-version": "2019-07-01",
+ "body": {
+ "name": "accName",
+ "type": "netAppAccount",
+ "resourceGroup": "myrg"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/MountTargets_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/MountTargets_List.json
new file mode 100644
index 000000000000..135cee712e5a
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/MountTargets_List.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "volumeName": "volumeName",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "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",
+ "subnet": "1.2.3.4",
+ "netmask": "255.255.255.0",
+ "ipAddress": "1.2.3.4",
+ "gateway": "1.2.3.4",
+ "smbServerFqdn": "fullyqualified.domainname.com",
+ "provisioningState": "Created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_CreateOrUpdate.json
new file mode 100644
index 000000000000..314995cbcaaf
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_CreateOrUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "api-version": "2019-07-01",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "size": 4398046511104,
+ "serviceLevel": "Premium"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Created",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Created",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_Delete.json
new file mode 100644
index 000000000000..5d521e774da5
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_Get.json
new file mode 100644
index 000000000000..114854dae1a7
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Created",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_List.json
new file mode 100644
index 000000000000..1dfa390d4c7f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_List.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Created",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_Update.json
new file mode 100644
index 000000000000..eb6bc16169ac
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Pools_Update.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "api-version": "2019-07-01",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Created",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_Create.json
new file mode 100644
index 000000000000..aa15a7c3cfe5
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_Create.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "volumeName": "volumeName",
+ "snapshotName": "snapshotName",
+ "api-version": "2019-07-01",
+ "body": {
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Created"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_Delete.json
new file mode 100644
index 000000000000..d3a9c516244c
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "volumeName": "volumeName",
+ "snapshotName": "snapshotName",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_Get.json
new file mode 100644
index 000000000000..259b2291f651
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "volumeName": "volumeName",
+ "snapshotName": "snapshotName",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_List.json
new file mode 100644
index 000000000000..c05bb76975b3
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_List.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "volumeName": "volumeName",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_Update.json
new file mode 100644
index 000000000000..2bee6a23f8e7
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Snapshots_Update.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "volumeName": "volumeName",
+ "snapshotName": "snapshotName",
+ "api-version": "2019-07-01",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Created"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_CreateOrUpdate.json
new file mode 100644
index 000000000000..a02103f2ffaf
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_CreateOrUpdate.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "volumeName": "volumeName",
+ "api-version": "2019-07-01",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "serviceLevel": "Premium",
+ "creationToken": "my-unique-file-path",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3"
+ }
+ }
+ },
+ "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",
+ "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"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_Delete.json
new file mode 100644
index 000000000000..902afd17fd4d
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "volumeName": "volumeName",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_Get.json
new file mode 100644
index 000000000000..25634dbaff00
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "volumeName": "volumeName",
+ "api-version": "2019-07-01"
+ },
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_List.json
new file mode 100644
index 000000000000..d48101b88c0f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_Update.json
new file mode 100644
index 000000000000..259affa8416e
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/examples/Volumes_Update.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "poolName": "poolName",
+ "volumeName": "volumeName",
+ "api-version": "2019-07-01",
+ "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"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/netapp.json
new file mode 100644
index 000000000000..ea1fa7b7abc2
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-07-01/netapp.json
@@ -0,0 +1,2358 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft NetApp",
+ "description": "Microsoft NetApp Azure Resource Provider specification",
+ "version": "2019-07-01",
+ "x-ms-code-generation-settings": {
+ "name": "AzureNetAppFilesManagementClient"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "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.NetApp/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "Describes the Resource Provider",
+ "description": "Lists all of the available Microsoft.NetApp Rest API operations",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability": {
+ "post": {
+ "summary": "Check resource name availability",
+ "description": "Check if a resource name is available.",
+ "operationId": "CheckNameAvailability",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Name availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceNameAvailabilityRequest"
+ },
+ "x-ms-client-flatten": true
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/location"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceNameAvailability"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "CheckNameAvailability": {
+ "$ref": "examples/CheckNameAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability": {
+ "post": {
+ "summary": "Check file path availability",
+ "description": "Check if a file path is available.",
+ "operationId": "CheckFilePathAvailability",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "File path availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceNameAvailabilityRequest"
+ },
+ "x-ms-client-flatten": true
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/location"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceNameAvailability"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "CheckFilePathAvailability": {
+ "$ref": "examples/CheckFilePathAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts": {
+ "get": {
+ "summary": "Describe all NetApp Accounts in a resource group",
+ "description": "List and describe all NetApp accounts in the resource group",
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/netAppAccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Accounts_List": {
+ "$ref": "examples/Accounts_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}": {
+ "get": {
+ "summary": "Describe a NetApp Account",
+ "description": "Get the NetApp account",
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Accounts_Get": {
+ "$ref": "examples/Accounts_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_CreateOrUpdate",
+ "summary": "Create or update a NetApp account",
+ "description": "Create or update the specified NetApp account within the resource group",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "NetApp Account object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - account updated",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "201": {
+ "description": "Account created",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Accounts_CreateOrUpdate": {
+ "$ref": "examples/Accounts_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_Delete",
+ "summary": "Delete a NetApp account",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "description": "Delete the specified NetApp account",
+ "responses": {
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Accounts_Delete": {
+ "$ref": "examples/Accounts_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_Update",
+ "summary": "Update a NetApp account",
+ "description": "Patch the specified NetApp account",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "NetApp Account object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/netAppAccountPatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - account updated",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Accounts_Update": {
+ "$ref": "examples/Accounts_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools": {
+ "get": {
+ "summary": "Describe all Capacity Pools",
+ "description": "List all capacity pools in the NetApp Account",
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/capacityPoolList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Pools_List": {
+ "$ref": "examples/Pools_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}": {
+ "get": {
+ "summary": "Describe a Capacity Pool",
+ "description": "Get details of the specified capacity pool",
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Pools_Get": {
+ "$ref": "examples/Pools_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_CreateOrUpdate",
+ "summary": "Create or Update the specified capacity pool within the resource group",
+ "description": "Create or Update a capacity pool",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Capacity pool object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - pool updated",
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ "201": {
+ "description": "Pool created",
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Pools_CreateOrUpdate": {
+ "$ref": "examples/Pools_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_Update",
+ "summary": "Update a capacity pool",
+ "description": "Patch the specified capacity pool",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Capacity pool object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/capacityPoolPatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Pools_Update": {
+ "$ref": "examples/Pools_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_Delete",
+ "summary": "Delete a capacity pool",
+ "description": "Delete the specified capacity pool",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Pools_Delete": {
+ "$ref": "examples/Pools_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes": {
+ "get": {
+ "summary": "Describe all volumes",
+ "description": "List all volumes within the capacity pool",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_List",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volumeList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_List": {
+ "$ref": "examples/Volumes_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}": {
+ "get": {
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_Get",
+ "summary": "Describe a volume",
+ "description": "Get the details of the specified volume",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_Get": {
+ "$ref": "examples/Volumes_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_CreateOrUpdate",
+ "summary": "Create or Update a volume",
+ "description": "Create or update the specified volume within the capacity pool",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Volume object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok - volume updated",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "201": {
+ "description": "Volume created",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_CreateOrUpdate": {
+ "$ref": "examples/Volumes_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_Update",
+ "summary": "Update a volume",
+ "description": "Patch the specified volume",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Volume object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/volumePatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_Update": {
+ "$ref": "examples/Volumes_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_Delete",
+ "summary": "Delete a volume",
+ "description": "Delete the specified volume",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_Delete": {
+ "$ref": "examples/Volumes_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/mountTargets": {
+ "get": {
+ "tags": [
+ "MountTargets"
+ ],
+ "operationId": "MountTargets_List",
+ "summary": "Describe all mount targets",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "description": "List all mount targets associated with the volume",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/mountTargetList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "MountTargets_List": {
+ "$ref": "examples/MountTargets_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_List",
+ "summary": "Describe all snapshots",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "description": "List all snapshots associated with the volume",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshotsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Snapshots_List": {
+ "$ref": "examples/Snapshots_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Get",
+ "summary": "Describe a snapshot",
+ "description": "Get details of the specified snapshot",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Snapshots_Get": {
+ "$ref": "examples/Snapshots_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Create",
+ "summary": "Create a snapshot",
+ "description": "Create the specified snapshot within the given volume",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Snapshot object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/snapshot"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Snapshot created",
+ "schema": {
+ "$ref": "#/definitions/snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Snapshots_Create": {
+ "$ref": "examples/Snapshots_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Update",
+ "summary": "Update a snapshot",
+ "description": "Patch a snapshot",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Snapshot object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/snapshotPatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Update request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Snapshots_Update": {
+ "$ref": "examples/Snapshots_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Delete",
+ "summary": "Delete a snapshot",
+ "description": "Delete snapshot",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Snapshots_Delete": {
+ "$ref": "examples/Snapshots_Delete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "description": "Result of the request to list Cloud Volume operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of Storage operations supported by the Storage resource provider."
+ }
+ }
+ },
+ "Operation": {
+ "description": "Microsoft.NetApp 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 NetApp.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed etc.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Operation description.",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "type": "string",
+ "description": "The origin of operations."
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Properties of operation, include metric specifications.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Properties of operation, include metric specifications.",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "One property of operation, include metric specifications."
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "One property of operation, include metric specifications.",
+ "properties": {
+ "metricSpecifications": {
+ "description": "Metric specifications of operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification"
+ }
+ }
+ }
+ },
+ "MetricSpecification": {
+ "description": "Metric specification of operation.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of metric specification."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of metric specification."
+ },
+ "displayDescription": {
+ "type": "string",
+ "description": "Display description of metric specification."
+ },
+ "unit": {
+ "type": "string",
+ "description": "Unit could be Bytes or Count."
+ },
+ "dimensions": {
+ "description": "Dimensions of blobs, including blob type and access tier.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ }
+ },
+ "aggregationType": {
+ "type": "string",
+ "description": "Aggregation type could be Average."
+ },
+ "fillGapWithZero": {
+ "type": "boolean",
+ "description": "The property to decide fill gap with zero or not."
+ },
+ "category": {
+ "type": "string",
+ "description": "The category this metric specification belong to, could be Capacity."
+ },
+ "resourceIdDimensionNameOverride": {
+ "type": "string",
+ "description": "Account Resource Id."
+ }
+ }
+ },
+ "Dimension": {
+ "description": "Dimension of blobs, possibly be blob type or access tier.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Display name of dimension."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of dimension."
+ }
+ }
+ },
+ "ResourceNameAvailability": {
+ "description": "Information regarding availability of a resource name.",
+ "type": "object",
+ "properties": {
+ "isAvailable": {
+ "description": "true indicates name is valid and available. false indicates the name is invalid, unavailable, or both.",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "Invalid indicates the name provided does not match Azure App Service naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable.",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InAvailabilityReasonType",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceNameAvailabilityRequest": {
+ "description": "Resource name availability request content.",
+ "required": [
+ "name",
+ "type",
+ "resourceGroup"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Resource name to verify.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Resource type used for verification.",
+ "enum": [
+ "Microsoft.NetApp/netAppAccounts",
+ "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CheckNameResourceTypes",
+ "modelAsString": true
+ }
+ },
+ "resourceGroup": {
+ "description": "Resource group name.",
+ "type": "string"
+ }
+ }
+ },
+ "netAppAccountList": {
+ "description": "List of NetApp account resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Multiple NetApp accounts",
+ "items": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ }
+ }
+ },
+ "netAppAccount": {
+ "description": "NetApp account resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "NetApp Account properties",
+ "$ref": "#/definitions/accountProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "netAppAccountPatch": {
+ "description": "NetApp account patch resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "NetApp Account properties",
+ "$ref": "#/definitions/accountProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "accountProperties": {
+ "description": "NetApp account properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ },
+ "activeDirectories": {
+ "description": "Active Directories",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/activeDirectory"
+ }
+ }
+ }
+ },
+ "activeDirectory": {
+ "description": "Active Directory",
+ "type": "object",
+ "properties": {
+ "activeDirectoryId": {
+ "type": "string",
+ "description": "Id of the Active Directory"
+ },
+ "username": {
+ "type": "string",
+ "description": "Username of Active Directory domain administrator"
+ },
+ "password": {
+ "type": "string",
+ "description": "Plain text password of Active Directory domain administrator"
+ },
+ "domain": {
+ "type": "string",
+ "description": "Name of the Active Directory domain"
+ },
+ "dns": {
+ "type": "string",
+ "description": "Comma separated list of DNS server IP addresses for the Active Directory domain"
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the Active Directory"
+ },
+ "smbServerName": {
+ "type": "string",
+ "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes"
+ },
+ "organizationalUnit": {
+ "type": "string",
+ "description": "The Organizational Unit (OU) within the Windows Active Directory"
+ }
+ }
+ },
+ "capacityPoolList": {
+ "description": "List of capacity pool resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Capacity pools",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ }
+ }
+ },
+ "capacityPool": {
+ "description": "Capacity pool resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "location",
+ "properties"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Capacity pool properties",
+ "$ref": "#/definitions/poolProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "poolProperties": {
+ "description": "Pool properties",
+ "type": "object",
+ "required": [
+ "size",
+ "serviceLevel"
+ ],
+ "properties": {
+ "poolId": {
+ "title": "poolId",
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID v4 used to identify the Pool",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca7778"
+ },
+ "size": {
+ "title": "size",
+ "type": "integer",
+ "format": "int64",
+ "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).",
+ "minimum": 4398046511104,
+ "maximum": 549755813888000
+ },
+ "serviceLevel": {
+ "title": "serviceLevel",
+ "type": "string",
+ "description": "The service level of the file system",
+ "enum": [
+ "Standard",
+ "Premium",
+ "Ultra"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceLevel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard",
+ "description": "Standard service level"
+ },
+ {
+ "value": "Premium",
+ "description": "Premium service level"
+ },
+ {
+ "value": "Ultra",
+ "description": "Ultra service level"
+ }
+ ]
+ },
+ "example": "Ultra",
+ "default": "Premium"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ }
+ }
+ },
+ "capacityPoolPatch": {
+ "description": "Capacity pool patch resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Capacity pool properties",
+ "$ref": "#/definitions/poolPatchProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "poolPatchProperties": {
+ "description": "Patchable pool properties",
+ "type": "object",
+ "properties": {
+ "size": {
+ "title": "size",
+ "type": "integer",
+ "format": "int64",
+ "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).",
+ "minimum": 4398046511104,
+ "maximum": 549755813888000,
+ "default": 4398046511104
+ },
+ "serviceLevel": {
+ "title": "serviceLevel",
+ "type": "string",
+ "description": "The service level of the file system",
+ "enum": [
+ "Standard",
+ "Premium",
+ "Ultra"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceLevel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard",
+ "description": "Standard service level"
+ },
+ {
+ "value": "Premium",
+ "description": "Premium service level"
+ },
+ {
+ "value": "Ultra",
+ "description": "Ultra service level"
+ }
+ ]
+ },
+ "example": "Ultra",
+ "default": "Premium"
+ }
+ }
+ },
+ "volumeList": {
+ "description": "List of volume resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of volumes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/volume"
+ }
+ }
+ }
+ },
+ "volume": {
+ "description": "Volume resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "location",
+ "properties"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Volume properties",
+ "$ref": "#/definitions/volumeProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "resourceTags": {
+ "description": "Resource tags",
+ "type": "object"
+ },
+ "volumeProperties": {
+ "description": "Volume properties",
+ "type": "object",
+ "required": [
+ "creationToken",
+ "usageThreshold",
+ "subnetId"
+ ],
+ "properties": {
+ "fileSystemId": {
+ "title": "FileSystem ID",
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique FileSystem Identifier.",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca7778"
+ },
+ "creationToken": {
+ "title": "Creation Token or File Path",
+ "type": "string",
+ "description": "A unique file path for the volume. Used when creating mount targets",
+ "minimum": 16,
+ "maximum": 40,
+ "example": "some-amazing-filepath"
+ },
+ "serviceLevel": {
+ "title": "serviceLevel",
+ "type": "string",
+ "description": "The service level of the file system",
+ "enum": [
+ "Standard",
+ "Premium",
+ "Ultra"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceLevel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard",
+ "description": "Standard service level"
+ },
+ {
+ "value": "Premium",
+ "description": "Premium service level"
+ },
+ {
+ "value": "Ultra",
+ "description": "Ultra service level"
+ }
+ ]
+ },
+ "example": "Ultra",
+ "default": "Premium"
+ },
+ "usageThreshold": {
+ "title": "usageThreshold",
+ "type": "integer",
+ "format": "int64",
+ "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.",
+ "minimum": 107374182400,
+ "maximum": 109951162777600,
+ "default": 107374182400,
+ "example": 107374182400
+ },
+ "exportPolicy": {
+ "title": "exportPolicy",
+ "description": "Set of export policy rules",
+ "properties": {
+ "rules": {
+ "title": "Export policy rule",
+ "description": "Export policy rule",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/exportPolicyRule"
+ }
+ }
+ }
+ },
+ "protocolTypes": {
+ "title": "protocolTypes",
+ "description": "Set of protocol types",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "NFSv3",
+ "NFSv4.1"
+ ]
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ },
+ "snapshotId": {
+ "title": "Snapshot ID",
+ "type": "string",
+ "description": "UUID v4 or resource identifier used to identify the Snapshot.",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "baremetalTenantId": {
+ "title": "Baremetal Tenant ID",
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique Baremetal Tenant Identifier.",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9560acf5-4e3a-12e7-9bdb-02007cca7779"
+ },
+ "subnetId": {
+ "type": "string",
+ "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes"
+ },
+ "mountTargets": {
+ "title": "mountTargets",
+ "description": "List of mount targets",
+ "items": {
+ "$ref": "#/definitions/mountTargetList"
+ }
+ }
+ }
+ },
+ "exportPolicyRule": {
+ "description": "Volume Export Policy Rule",
+ "type": "object",
+ "properties": {
+ "ruleIndex": {
+ "type": "integer",
+ "description": "Order index"
+ },
+ "unixReadOnly": {
+ "type": "boolean",
+ "description": "Read only access"
+ },
+ "unixReadWrite": {
+ "type": "boolean",
+ "description": "Read and write access"
+ },
+ "cifs": {
+ "type": "boolean",
+ "description": "Allows CIFS protocol"
+ },
+ "nfsv3": {
+ "type": "boolean",
+ "description": "Allows NFSv3 protocol"
+ },
+ "nfsv41": {
+ "type": "boolean",
+ "description": "Allows NFSv4.1 protocol"
+ },
+ "allowedClients": {
+ "type": "string",
+ "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names"
+ }
+ }
+ },
+ "volumePatch": {
+ "description": "Volume patch resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Patchable volume properties",
+ "$ref": "#/definitions/volumePatchProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "volumePatchProperties": {
+ "description": "Patchable volume properties",
+ "type": "object",
+ "properties": {
+ "serviceLevel": {
+ "title": "serviceLevel",
+ "type": "string",
+ "description": "The service level of the file system",
+ "enum": [
+ "Standard",
+ "Premium",
+ "Ultra"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceLevel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard",
+ "description": "Standard service level"
+ },
+ {
+ "value": "Premium",
+ "description": "Premium service level"
+ },
+ {
+ "value": "Ultra",
+ "description": "Ultra service level"
+ }
+ ]
+ },
+ "example": "Ultra",
+ "default": "Premium"
+ },
+ "usageThreshold": {
+ "title": "usageThreshold",
+ "type": "integer",
+ "format": "int64",
+ "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.",
+ "minimum": 107374182400,
+ "maximum": 109951162777600,
+ "default": 107374182400,
+ "example": 107374182400
+ },
+ "exportPolicy": {
+ "title": "exportPolicy",
+ "description": "Set of export policy rules",
+ "properties": {
+ "rules": {
+ "title": "Export policy rule",
+ "description": "Export policy rule",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/exportPolicyRule"
+ }
+ }
+ }
+ }
+ }
+ },
+ "mountTargetList": {
+ "description": "List of Mount Targets",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of Mount targets",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/mountTarget"
+ }
+ }
+ }
+ },
+ "mountTarget": {
+ "description": "Mount Target",
+ "type": "object",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags",
+ "x-ms-client-flatten": true
+ },
+ "properties": {
+ "description": "Mount Target Properties",
+ "$ref": "#/definitions/mountTargetProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "mountTargetProperties": {
+ "description": "Mount target properties",
+ "type": "object",
+ "required": [
+ "fileSystemId"
+ ],
+ "properties": {
+ "mountTargetId": {
+ "title": "mountTargetId",
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID v4 used to identify the MountTarget",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "fileSystemId": {
+ "title": "fileSystemId",
+ "type": "string",
+ "description": "UUID v4 used to identify the MountTarget",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "ipAddress": {
+ "title": "ipAddress",
+ "description": "The mount target's IPv4 address",
+ "type": "string",
+ "readOnly": true,
+ "example": "1.2.3.4"
+ },
+ "subnet": {
+ "title": "subnet",
+ "type": "string",
+ "description": "The subnet",
+ "example": "1.2.3.4"
+ },
+ "startIp": {
+ "title": "startIp",
+ "description": "The start of IPv4 address range to use when creating a new mount target",
+ "type": "string",
+ "example": "1.2.3.4"
+ },
+ "endIp": {
+ "title": "endIp",
+ "description": "The end of IPv4 address range to use when creating a new mount target",
+ "type": "string",
+ "example": "1.2.3.4"
+ },
+ "gateway": {
+ "title": "gateway",
+ "description": "The gateway of the IPv4 address range to use when creating a new mount target",
+ "type": "string",
+ "example": "1.2.3.4"
+ },
+ "netmask": {
+ "title": "netmask",
+ "description": "The netmask of the IPv4 address range to use when creating a new mount target",
+ "type": "string",
+ "example": "255.255.255.0"
+ },
+ "smbServerFqdn": {
+ "title": "smbServerFQDN",
+ "description": "The SMB server's Fully Qualified Domain Name, FQDN",
+ "type": "string",
+ "example": "fullyqualified.domainname.com"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ }
+ }
+ },
+ "snapshotsList": {
+ "description": "List of Snapshots",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of Snapshots",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/snapshot"
+ }
+ }
+ }
+ },
+ "snapshot": {
+ "description": "Snapshot of a Volume",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags",
+ "x-ms-client-flatten": true
+ },
+ "properties": {
+ "description": "Snapshot Properties",
+ "$ref": "#/definitions/snapshotProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "snapshotPatch": {
+ "description": "Snapshot patch",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "snapshotProperties": {
+ "description": "Snapshot properties",
+ "type": "object",
+ "properties": {
+ "snapshotId": {
+ "title": "snapshotId",
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID v4 used to identify the Snapshot",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "fileSystemId": {
+ "title": "fileSystemId",
+ "type": "string",
+ "description": "UUID v4 used to identify the FileSystem",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "created": {
+ "title": "name",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The creation date of the snapshot",
+ "example": "2017-08-15 13:23:33"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "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."
+ },
+ "location": {
+ "name": "location",
+ "description": "The location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "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": {
+ "name": "accountName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the NetApp account",
+ "x-ms-parameter-location": "method"
+ },
+ "PoolName": {
+ "name": "poolName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the capacity pool",
+ "x-ms-parameter-location": "method"
+ },
+ "VolumeName": {
+ "name": "volumeName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the volume",
+ "x-ms-parameter-location": "method"
+ },
+ "MountTargetName": {
+ "name": "mountTargetName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the mount target",
+ "x-ms-parameter-location": "method"
+ },
+ "SnapshotName": {
+ "name": "snapshotName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the mount target",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "description": "Version of the API to be used with the client request.",
+ "in": "query",
+ "type": "string",
+ "required": true,
+ "default": "2019-07-01"
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/readme.go.md b/specification/netapp/resource-manager/readme.go.md
index 63aad6e6522c..3560088fb6e9 100644
--- a/specification/netapp/resource-manager/readme.go.md
+++ b/specification/netapp/resource-manager/readme.go.md
@@ -13,11 +13,21 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-netapp-2019-07-01
- tag: package-netapp-2019-06-01
- tag: package-netapp-2019-05-01
- tag: package-2017-08-15
```
+### Tag: package-netapp-2019-07-01 and go
+
+These settings apply only when `--tag=package-netapp-2019-07-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-netapp-2019-07-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-07-01/$(namespace)
+```
+
### Tag: package-netapp-2019-06-01 and go
These settings apply only when `--tag=package-netapp-2019-06-01 --go` is specified on the command line.
diff --git a/specification/netapp/resource-manager/readme.java.md b/specification/netapp/resource-manager/readme.java.md
index 0828cd306fe1..b7ed1d61a3de 100644
--- a/specification/netapp/resource-manager/readme.java.md
+++ b/specification/netapp/resource-manager/readme.java.md
@@ -16,7 +16,23 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-netapp
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-netapp-2019-07-01
- tag: package-netapp-2019-06-01
+ - tag: package-netapp-2019-05-01
+ - tag: package-2017-08-15
+```
+
+### Tag: package-netapp-2019-07-01 and java
+
+These settings apply only when `--tag=package-netapp-2019-07-01 --java` is specified on the command line.
+Please also specify the `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-netapp-2019-07-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.netapp.v2019_07_01
+ output-folder: $(azure-libraries-for-java-folder)/netapp/resource-manager/v2019_07_01
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-netapp-2019-06-01 and java
diff --git a/specification/netapp/resource-manager/readme.md b/specification/netapp/resource-manager/readme.md
index 6796843d49c3..0072c2a6e37f 100644
--- a/specification/netapp/resource-manager/readme.md
+++ b/specification/netapp/resource-manager/readme.md
@@ -28,7 +28,16 @@ These are the global settings for the Azure NetApp Files API.
title: NetAppManagementClient
description: Microsoft NetApp Azure Resource Provider specification
openapi-type: arm
-tag: package-netapp-2019-06-01
+tag: package-netapp-2019-07-01
+```
+
+### Tag: package-netapp-2019-07-01
+
+These settings apply only when `--tag=package-netapp-2019-07-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-netapp-2019-07-01'
+input-file:
+- Microsoft.NetApp/stable/2019-07-01/netapp.json
```
### Tag: package-netapp-2019-06-01
@@ -110,6 +119,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.NetApp/stable/2019-07-01/netapp.json
- $(this-folder)/Microsoft.NetApp/stable/2019-06-01/netapp.json
- $(this-folder)/Microsoft.NetApp/stable/2019-05-01/netapp.json
- $(this-folder)/Microsoft.NetApp/preview/2017-08-15/netapp.json
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/bastionHost.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/bastionHost.json
index 8da661f085d9..1b05be297eae 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/bastionHost.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/bastionHost.json
@@ -186,6 +186,70 @@
"x-ms-long-running-operation-options": {
"final-state-via": "azure-async-operation"
}
+ },
+ "patch": {
+ "tags": [
+ "BastionHosts"
+ ],
+ "operationId": "BastionHosts_UpdateTags",
+ "x-ms-examples": {
+ "BastionHostUpdate": {
+ "$ref": "./examples/BastionHostUpdateTags.json"
+ }
+ },
+ "description": "Updates bastion host tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the BastionHost."
+ },
+ {
+ "name": "bastionHostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the bastionHost."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "bastionHostParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update a bastion host tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the updated bastion host.",
+ "schema": {
+ "$ref": "#/definitions/BastionHost"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the updated bastion host.",
+ "schema": {
+ "$ref": "#/definitions/BastionHost"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts": {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/BastionHostUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/BastionHostUpdateTags.json
new file mode 100644
index 000000000000..1843f8b94a8f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/BastionHostUpdateTags.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "bastionHostName": "bastionhosttenant'",
+ "bastionHostParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "bastionhost'",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
+ "type": "Microsoft.Network/bastionHosts",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "bastionhost'",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
+ "type": "Microsoft.Network/bastionHosts",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json
new file mode 100644
index 000000000000..baf77be78a6c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "connectionMonitorName": "cm1",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cm1",
+ "id": "/subscriptions/subid/`/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": "2019-09-04T02:48:10.6797393Z",
+ "monitoringStatus": "Running"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors",
+ "location": "westcentralus"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/networkWatcher.json
index 3dc318a36de0..8c6fb50bbdf5 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/networkWatcher.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/networkWatcher.json
@@ -1457,438 +1457,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}": {
- "put": {
- "tags": [
- "ConnectionMonitors"
- ],
- "operationId": "ConnectionMonitors_CreateOrUpdate",
- "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"
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "azure-async-operation"
- }
- },
- "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",
- "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"
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop": {
- "post": {
- "tags": [
- "ConnectionMonitors"
- ],
- "operationId": "ConnectionMonitors_Stop",
- "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"
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start": {
- "post": {
- "tags": [
- "ConnectionMonitors"
- ],
- "operationId": "ConnectionMonitors_Start",
- "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"
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query": {
- "post": {
- "tags": [
- "ConnectionMonitors"
- ],
- "operationId": "ConnectionMonitors_Query",
- "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"
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- }
- }
- },
- "/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": [
@@ -3296,261 +2864,6 @@
},
"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",
- "description": "Properties of the connection monitor."
- }
- },
- "required": [
- "properties"
- ],
- "description": "Parameters that define the operation to create a connection monitor."
- },
- "ConnectionMonitorParameters": {
- "properties": {
- "source": {
- "$ref": "#/definitions/ConnectionMonitorSource",
- "description": "Describes the source of connection monitor."
- },
- "destination": {
- "$ref": "#/definitions/ConnectionMonitorDestination",
- "description": "Describes the destination of connection monitor."
- },
- "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.",
- "description": "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": "Properties of the connection monitor result."
- }
- },
- "description": "Information about the connection monitor."
- },
- "ConnectionMonitorResultProperties": {
- "properties": {
- "provisioningState": {
- "$ref": "./network.json#/definitions/ProvisioningState",
- "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": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/networkWatcherConnectionMonitorV1.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/networkWatcherConnectionMonitorV1.json
new file mode 100644
index 000000000000..a0de50649da6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/networkWatcherConnectionMonitorV1.json
@@ -0,0 +1,791 @@
+{
+ "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": "2019-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.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}": {
+ "put": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_CreateOrUpdate",
+ "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": "./networkWatcher.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create connection monitor": {
+ "$ref": "./examples/NetworkWatcherConnectionMonitorCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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": "./networkWatcher.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get connection monitor": {
+ "$ref": "./examples/NetworkWatcherConnectionMonitorGet.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Delete",
+ "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": "./networkWatcher.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete connection monitor": {
+ "$ref": "./examples/NetworkWatcherConnectionMonitorDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_UpdateTags",
+ "description": "Update tags of the specified connection monitor.",
+ "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": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update connection monitor tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns updated connection monitor.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./networkWatcher.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update connection monitor tags": {
+ "$ref": "./examples/NetworkWatcherConnectionMonitorUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop": {
+ "post": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Stop",
+ "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": "./networkWatcher.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Stop connection monitor": {
+ "$ref": "./examples/NetworkWatcherConnectionMonitorStop.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start": {
+ "post": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Start",
+ "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": "./networkWatcher.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Start connection monitor": {
+ "$ref": "./examples/NetworkWatcherConnectionMonitorStart.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query": {
+ "post": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Query",
+ "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": "./networkWatcher.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query connection monitor": {
+ "$ref": "./examples/NetworkWatcherConnectionMonitorQuery.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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": "./networkWatcher.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List connection monitors": {
+ "$ref": "./examples/NetworkWatcherConnectionMonitorList.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "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",
+ "description": "Properties of the connection monitor."
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Parameters that define the operation to create a connection monitor."
+ },
+ "ConnectionMonitorParameters": {
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ConnectionMonitorSource",
+ "description": "Describes the source of connection monitor."
+ },
+ "destination": {
+ "$ref": "#/definitions/ConnectionMonitorDestination",
+ "description": "Describes the destination of connection monitor."
+ },
+ "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."
+ },
+ "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": "./networkWatcher.json#/definitions/ConnectivityHop"
+ }
+ }
+ },
+ "description": "Connection state snapshot."
+ },
+ "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.",
+ "description": "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": "Properties of the connection monitor result."
+ }
+ },
+ "description": "Information about the connection monitor."
+ },
+ "ConnectionMonitorResultProperties": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/applicationGateway.json
new file mode 100644
index 000000000000..d10e85993f1d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/applicationGateway.json
@@ -0,0 +1,2677 @@
+{
+ "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": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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",
+ "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-examples": {
+ "Create Application Gateway": {
+ "$ref": "./examples/ApplicationGatewayCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/getBackendHealthOnDemand": {
+ "post": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_BackendHealthOnDemand",
+ "description": "Gets the backend health for given combination of backend pool and http setting of the specified application gateway in a resource group.",
+ "x-ms-examples": {
+ "Test Backend Health": {
+ "$ref": "./examples/ApplicationGatewayBackendHealthTest.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."
+ },
+ {
+ "name": "probeRequest",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayOnDemandProbe"
+ },
+ "description": "Request body for on-demand test probe operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealthOnDemand"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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": {
+ "ApplicationGatewayOnDemandProbe": {
+ "properties": {
+ "protocol": {
+ "$ref": "#/definitions/ApplicationGatewayProtocol",
+ "description": "The protocol used for the probe."
+ },
+ "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 ://:."
+ },
+ "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."
+ },
+ "pickHostNameFromBackendHttpSettings": {
+ "type": "boolean",
+ "description": "Whether the host header should be picked from the backend http settings. Default value is false."
+ },
+ "match": {
+ "$ref": "#/definitions/ApplicationGatewayProbeHealthResponseMatch",
+ "description": "Criterion for classifying a healthy probe response."
+ },
+ "backendAddressPool": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of backend pool of application gateway to which probe request will be sent."
+ },
+ "backendHttpSettings": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of backend http setting of application gateway to be used for test probe."
+ }
+ },
+ "description": "Details of on demand test probe request."
+ },
+ "ApplicationGatewayBackendHealthOnDemand": {
+ "properties": {
+ "backendAddressPool": {
+ "$ref": "#/definitions/ApplicationGatewayBackendAddressPool",
+ "description": "Reference of an ApplicationGatewayBackendAddressPool resource."
+ },
+ "backendHealthHttpSettings": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealthHttpSettings",
+ "description": "Application gateway BackendHealthHttp settings."
+ }
+ },
+ "description": "Result of on demand test probe."
+ },
+ "ApplicationGatewayBackendHealth": {
+ "properties": {
+ "backendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealthPool"
+ },
+ "description": "A list of ApplicationGatewayBackendHealthPool resources."
+ }
+ },
+ "description": "Response for ApplicationGatewayBackendHealth API service call."
+ },
+ "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
+ }
+ },
+ "healthProbeLog": {
+ "type": "string",
+ "description": "Health Probe Log."
+ }
+ },
+ "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"
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the application gateway IP configuration resource."
+ }
+ },
+ "description": "Properties of IP configuration of an application gateway."
+ },
+ "ApplicationGatewayIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayIPConfigurationPropertiesFormat",
+ "description": "Properties of the application gateway IP configuration."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the authentication certificate resource."
+ }
+ },
+ "description": "Authentication certificates properties of an application gateway."
+ },
+ "ApplicationGatewayAuthenticationCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificatePropertiesFormat",
+ "description": "Properties of the application gateway authentication certificate."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the trusted root certificate resource."
+ }
+ },
+ "description": "Trusted Root certificates properties of an application gateway."
+ },
+ "ApplicationGatewayTrustedRootCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificatePropertiesFormat",
+ "description": "Properties of the application gateway trusted root certificate."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the SSL certificate resource."
+ }
+ },
+ "description": "Properties of SSL certificates of an application gateway."
+ },
+ "ApplicationGatewaySslCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewaySslCertificatePropertiesFormat",
+ "description": "Properties of the application gateway SSL certificate."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The private IP address allocation method."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the frontend IP configuration resource."
+ }
+ },
+ "description": "Properties of Frontend IP configuration of an application gateway."
+ },
+ "ApplicationGatewayFrontendIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayFrontendIPConfigurationPropertiesFormat",
+ "description": "Properties of the application gateway frontend IP configuration."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the frontend port resource."
+ }
+ },
+ "description": "Properties of Frontend port of an application gateway."
+ },
+ "ApplicationGatewayFrontendPort": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayFrontendPortPropertiesFormat",
+ "description": "Properties of the application gateway frontend port."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the backend address pool resource."
+ }
+ },
+ "description": "Properties of Backend Address Pool of an application gateway."
+ },
+ "ApplicationGatewayBackendAddressPool": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayBackendAddressPoolPropertiesFormat",
+ "description": "Properties of the application gateway backend address pool."
+ },
+ "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": {
+ "$ref": "#/definitions/ApplicationGatewayProtocol",
+ "description": "The protocol used to communicate with the backend."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the backend HTTP settings resource."
+ }
+ },
+ "description": "Properties of Backend address pool settings of an application gateway."
+ },
+ "ApplicationGatewayBackendHttpSettings": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayBackendHttpSettingsPropertiesFormat",
+ "description": "Properties of the application gateway backend HTTP settings."
+ },
+ "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": {
+ "$ref": "#/definitions/ApplicationGatewayProtocol",
+ "description": "Protocol of the HTTP listener."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the HTTP listener resource."
+ },
+ "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",
+ "description": "Properties of the application gateway HTTP listener."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the path rule resource."
+ }
+ },
+ "description": "Properties of path rule of an application gateway."
+ },
+ "ApplicationGatewayPathRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayPathRulePropertiesFormat",
+ "description": "Properties of the application gateway path rule."
+ },
+ "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": {
+ "$ref": "#/definitions/ApplicationGatewayProtocol",
+ "description": "The protocol used for the probe."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the probe resource."
+ },
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only.",
+ "minimum": 1,
+ "maximum": 65535
+ }
+ },
+ "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",
+ "description": "Properties of the application gateway probe."
+ },
+ "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
+ }
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "exclusiveMinimum": false,
+ "maximum": 20000,
+ "exclusiveMaximum": false,
+ "description": "Priority of the request routing rule."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the request routing rule resource."
+ }
+ },
+ "description": "Properties of request routing rule of the application gateway."
+ },
+ "ApplicationGatewayRequestRoutingRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayRequestRoutingRulePropertiesFormat",
+ "description": "Properties of the application gateway request routing rule."
+ },
+ "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",
+ "description": "Properties of the application gateway rewrite rule set."
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the rewrite rule set resource."
+ }
+ },
+ "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": "HTTP redirection type."
+ },
+ "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",
+ "description": "Properties of the application gateway redirect configuration."
+ },
+ "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."
+ },
+ "firewallPolicy": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of the FirewallPolicy resource."
+ },
+ "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": "The resource GUID property of the application gateway resource."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the application gateway resource."
+ },
+ "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",
+ "description": "Properties of the application gateway."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the URL path map resource."
+ }
+ },
+ "description": "Properties of UrlPathMap of the application gateway."
+ },
+ "ApplicationGatewayUrlPathMap": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayUrlPathMapPropertiesFormat",
+ "description": "Properties of the application gateway URL path map."
+ },
+ "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",
+ "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",
+ "description": "Properties of the application gateway firewall rule set."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "A web application firewall rule set."
+ },
+ "ApplicationGatewayFirewallRuleSetPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "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",
+ "description": "Properties of the application gateway available SSL options."
+ }
+ },
+ "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",
+ "description": "Properties of the application gateway SSL predefined policy."
+ }
+ },
+ "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",
+ "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySslCipherSuite",
+ "modelAsString": true
+ }
+ },
+ "RedirectTypeEnum": {
+ "type": "string",
+ "description": "Redirect type enum.",
+ "enum": [
+ "Permanent",
+ "Found",
+ "SeeOther",
+ "Temporary"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayRedirectType",
+ "modelAsString": true
+ }
+ },
+ "ApplicationGatewayProtocol": {
+ "type": "string",
+ "description": "Application Gateway protocol.",
+ "enum": [
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayProtocol",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/applicationSecurityGroup.json
new file mode 100644
index 000000000000..c2b637199ebb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/applicationSecurityGroup.json
@@ -0,0 +1,371 @@
+{
+ "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": "2019-07-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the application security group resource."
+ }
+ },
+ "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/2019-07-01/availableDelegations.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/availableDelegations.json
new file mode 100644
index 000000000000..3b89d2785871
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-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": "2019-07-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/2019-07-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/azureFirewall.json
new file mode 100644
index 000000000000..06da4074830e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/azureFirewall.json
@@ -0,0 +1,885 @@
+{
+ "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": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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"
+ },
+ "Get Azure Firewall With Zones": {
+ "$ref": "./examples/AzureFirewallGetWithZones.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"
+ },
+ "Create Azure Firewall With Zones": {
+ "$ref": "./examples/AzureFirewallPutWithZones.json"
+ },
+ "Create Azure Firewall in virtual Hub": {
+ "$ref": "./examples/AzureFirewallPutInHub.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "patch": {
+ "tags": [
+ "AzureFirewalls"
+ ],
+ "operationId": "AzureFirewalls_UpdateTags",
+ "description": "Updates tags for an Azure Firewall resource.",
+ "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": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting AzureFirewall resource.",
+ "schema": {
+ "$ref": "#/definitions/AzureFirewall"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Azure Firewall Tags": {
+ "$ref": "./examples/AzureFirewallUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the Azure firewall IP configuration resource."
+ }
+ },
+ "description": "Properties of IP configuration of an Azure Firewall."
+ },
+ "AzureFirewallIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFirewallIPConfigurationPropertiesFormat",
+ "description": "Properties of the azure firewall IP configuration."
+ },
+ "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."
+ },
+ "AzureFirewallPublicIPAddress": {
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "Public IP Address value."
+ }
+ },
+ "description": "Public IP Address associated with azure firewall."
+ },
+ "HubIPAddresses": {
+ "properties": {
+ "publicIPAddresses": {
+ "type": "array",
+ "description": "List of Public IP addresses associated with azure firewall.",
+ "items": {
+ "$ref": "#/definitions/AzureFirewallPublicIPAddress"
+ }
+ },
+ "privateIPAddress": {
+ "type": "string",
+ "description": "Private IP Address associated with azure firewall."
+ }
+ },
+ "description": "IP addresses associated with 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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the Azure firewall resource."
+ },
+ "threatIntelMode": {
+ "description": "The operation mode for Threat Intelligence.",
+ "$ref": "#/definitions/AzureFirewallThreatIntelMode"
+ },
+ "virtualHub": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The virtualHub to which the firewall belongs."
+ },
+ "firewallPolicy": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The firewallPolicy associated with this azure firewall."
+ },
+ "hubIpAddresses": {
+ "readOnly": true,
+ "description": "IP addresses associated with AzureFirewall.",
+ "$ref": "#/definitions/HubIPAddresses"
+ }
+ },
+ "description": "Properties of the Azure Firewall."
+ },
+ "AzureFirewall": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFirewallPropertiesFormat",
+ "description": "Properties of the azure firewall."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting where the resource needs to come from."
+ },
+ "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": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the application rule collection resource."
+ }
+ },
+ "description": "Properties of the application rule collection."
+ },
+ "AzureFirewallApplicationRuleCollection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFirewallApplicationRuleCollectionPropertiesFormat",
+ "description": "Properties of the azure firewall application rule collection."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within the Azure firewall. 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": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the NAT rule collection resource."
+ }
+ },
+ "description": "Properties of the NAT rule collection."
+ },
+ "AzureFirewallNatRuleCollection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFirewallNatRuleCollectionProperties",
+ "description": "Properties of the azure firewall NAT rule collection."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within the Azure firewall. 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": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network rule collection resource."
+ }
+ },
+ "description": "Properties of the network rule collection."
+ },
+ "AzureFirewallNetworkRuleCollection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFirewallNetworkRuleCollectionPropertiesFormat",
+ "description": "Properties of the azure firewall network rule collection."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within the Azure firewall. 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": "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
+ }
+ },
+ "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",
+ "Mssql"
+ ],
+ "x-ms-enum": {
+ "name": "AzureFirewallApplicationRuleProtocolType",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/azureFirewallFqdnTag.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/azureFirewallFqdnTag.json
new file mode 100644
index 000000000000..83266779de74
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/azureFirewallFqdnTag.json
@@ -0,0 +1,124 @@
+{
+ "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": "2019-07-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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the Azure firewall FQDN tag 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",
+ "description": "Properties of the azure firewall FQDN tag."
+ },
+ "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": "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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/bastionHost.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/bastionHost.json
new file mode 100644
index 000000000000..f51de72d8f96
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/bastionHost.json
@@ -0,0 +1,377 @@
+{
+ "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": "2019-07-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/bastionHosts/{bastionHostName}": {
+ "delete": {
+ "tags": [
+ "BastionHosts"
+ ],
+ "operationId": "BastionHosts_Delete",
+ "description": "Deletes the specified Bastion Host.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "bastionHostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Bastion Host."
+ },
+ {
+ "$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 Bastion Host": {
+ "$ref": "./examples/BastionHostDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "BastionHosts"
+ ],
+ "operationId": "BastionHosts_Get",
+ "description": "Gets the specified Bastion Host.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "bastionHostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Bastion Host."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns an BastionHost resource.",
+ "schema": {
+ "$ref": "#/definitions/BastionHost"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Bastion Host": {
+ "$ref": "./examples/BastionHostGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BastionHosts"
+ ],
+ "operationId": "BastionHosts_CreateOrUpdate",
+ "description": "Creates or updates the specified Bastion Host.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "bastionHostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Bastion Host."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BastionHost"
+ },
+ "description": "Parameters supplied to the create or update Bastion Host operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting Bastion Host resource.",
+ "schema": {
+ "$ref": "#/definitions/BastionHost"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting Bastion Host resource.",
+ "schema": {
+ "$ref": "#/definitions/BastionHost"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create Bastion Host": {
+ "$ref": "./examples/BastionHostPut.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts": {
+ "get": {
+ "tags": [
+ "BastionHosts"
+ ],
+ "operationId": "BastionHosts_List",
+ "description": "Lists all Bastion Hosts in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of Bastion Host resources.",
+ "schema": {
+ "$ref": "#/definitions/BastionHostListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Bastion Hosts for a given subscription": {
+ "$ref": "./examples/BastionHostListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts": {
+ "get": {
+ "tags": [
+ "BastionHosts"
+ ],
+ "operationId": "BastionHosts_ListByResourceGroup",
+ "description": "Lists all Bastion Hosts 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 BastionHost resources.",
+ "schema": {
+ "$ref": "#/definitions/BastionHostListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Bastion Hosts for a given resource group": {
+ "$ref": "./examples/BastionHostListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BastionHostIPConfigurationPropertiesFormat": {
+ "properties": {
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the bastion host IP configuration resource."
+ },
+ "privateIPAllocationMethod": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "Private IP allocation method."
+ }
+ },
+ "required": [
+ "subnet",
+ "publicIPAddress"
+ ],
+ "description": "Properties of IP configuration of an Bastion Host."
+ },
+ "BastionHostIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BastionHostIPConfigurationPropertiesFormat",
+ "description": "Represents the ip configuration associated with the resource."
+ },
+ "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."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Ip configuration type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "IP configuration of an Bastion Host."
+ },
+ "BastionHostPropertiesFormat": {
+ "properties": {
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BastionHostIPConfiguration"
+ },
+ "description": "IP configuration of the Bastion Host resource."
+ },
+ "dnsName": {
+ "type": "string",
+ "description": "FQDN for the endpoint on which bastion host is accessible."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the bastion host resource."
+ }
+ },
+ "description": "Properties of the Bastion Host."
+ },
+ "BastionHost": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BastionHostPropertiesFormat",
+ "description": "Represents the bastion host resource."
+ },
+ "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": "Bastion Host resource."
+ },
+ "BastionHostListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BastionHost"
+ },
+ "description": "List of Bastion Hosts in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListBastionHosts API service call."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/checkDnsAvailability.json
new file mode 100644
index 000000000000..f276a3dfcfb8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/checkDnsAvailability.json
@@ -0,0 +1,90 @@
+{
+ "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": "2019-07-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/2019-07-01/ddosCustomPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/ddosCustomPolicy.json
new file mode 100644
index 000000000000..1200a08c9d7f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/ddosCustomPolicy.json
@@ -0,0 +1,400 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "NetworkManagementClient",
+ "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.",
+ "version": "2019-07-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the DDoS custom policy resource."
+ },
+ "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/2019-07-01/ddosProtectionPlan.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/ddosProtectionPlan.json
new file mode 100644
index 000000000000..f148f5fa6bea
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/ddosProtectionPlan.json
@@ -0,0 +1,401 @@
+{
+ "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": "2019-07-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create DDoS protection plan": {
+ "$ref": "./examples/DdosProtectionPlanCreate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DdosProtectionPlans"
+ ],
+ "operationId": "DdosProtectionPlans_UpdateTags",
+ "description": "Update a DDoS protection plan tags.",
+ "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": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the update DDoS protection plan resource tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "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": {
+ "DDoS protection plan Update tags": {
+ "$ref": "./examples/DdosProtectionPlanUpdateTags.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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the DDoS protection plan resource."
+ },
+ "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/2019-07-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/endpointService.json
new file mode 100644
index 000000000000..a2d2d7555d6e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/endpointService.json
@@ -0,0 +1,113 @@
+{
+ "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": "2019-07-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/2019-07-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json
new file mode 100644
index 000000000000..7cd266fb26e9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ "Accept-Charset"
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json
new file mode 100644
index 000000000000..a20730db48e6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ "Access-Control-Allow-Origin"
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableServerVariablesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableServerVariablesGet.json
new file mode 100644
index 000000000000..764a0c132f6f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableServerVariablesGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ "request_query"
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
new file mode 100644
index 000000000000..de41954a8173
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default",
+ "type": "Microsoft.Network/ApplicationGatewayAvailableSslOptions",
+ "properties": {
+ "predefinedPolicies": [
+ {
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S"
+ }
+ ],
+ "defaultPolicy": "AppGwSslPolicy20150501",
+ "availableCipherSuites": [
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "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",
+ "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
+ ],
+ "availableProtocols": [
+ "TLSv1_0",
+ "TLSv1_1",
+ "TLSv1_2"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
new file mode 100644
index 000000000000..22bd59a22106
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "AppGwSslPolicy20150501",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501",
+ "properties": {
+ "cipherSuites": [
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "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",
+ "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
+ ],
+ "minProtocolVersion": "TLSv1_0"
+ }
+ },
+ {
+ "name": "AppGwSslPolicy20170401",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401",
+ "properties": {
+ "cipherSuites": [
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
+ "TLS_ECDHE_RSA_WITH_AES_256_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"
+ ],
+ "minProtocolVersion": "TLSv1_1"
+ }
+ },
+ {
+ "name": "AppGwSslPolicy20170401S",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S",
+ "properties": {
+ "cipherSuites": [
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
+ "TLS_ECDHE_RSA_WITH_AES_256_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"
+ ],
+ "minProtocolVersion": "TLSv1_2"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
new file mode 100644
index 000000000000..f7846656854c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "predefinedPolicyName": "AppGwSslPolicy20150501"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "AppGwSslPolicy20150501",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501",
+ "properties": {
+ "cipherSuites": [
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "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",
+ "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
+ ],
+ "minProtocolVersion": "TLSv1_0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
new file mode 100644
index 000000000000..1e2925f49289
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ApplicationGatewayBackendHealthGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayBackendHealthGet.json
new file mode 100644
index 000000000000..dc65a8ffaa82
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayBackendHealthGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ApplicationGatewayBackendHealthTest.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayBackendHealthTest.json
new file mode 100644
index 000000000000..e4ddd3169331
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayBackendHealthTest.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw",
+ "probeRequest": {
+ "protocol": "Http",
+ "pickHostNameFromBackendHttpSettings": true,
+ "path": "/",
+ "timeout": 30,
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool"
+ },
+ "backendHealthHttpSettings": {
+ "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/2019-07-01/examples/ApplicationGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayCreate.json
new file mode 100644
index 000000000000..966257abd6e6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayCreate.json
@@ -0,0 +1,734 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw",
+ "parameters": {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ },
+ "location": "eastus",
+ "properties": {
+ "sku": {
+ "name": "Standard_v2",
+ "tier": "Standard_v2",
+ "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",
+ "priority": 10,
+ "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",
+ "priority": 20,
+ "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_add_x_forwarded_for_proxy}"
+ }
+ ],
+ "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/2019-07-01/examples/ApplicationGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayDelete.json
new file mode 100644
index 000000000000..bed005756760
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayGet.json
new file mode 100644
index 000000000000..6ca2e617ac04
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayGet.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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",
+ "priority": 10,
+ "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",
+ "priority": 20,
+ "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/2019-07-01/examples/ApplicationGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayList.json
new file mode 100644
index 000000000000..db11ed7d3216
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayList.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ApplicationGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayListAll.json
new file mode 100644
index 000000000000..0f36ab0ef181
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayListAll.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ApplicationGatewayStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayStart.json
new file mode 100644
index 000000000000..33a9fb3c5764
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayStop.json
new file mode 100644
index 000000000000..33a9fb3c5764
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayUpdateTags.json
new file mode 100644
index 000000000000..55f8aa1ddeb2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationGatewayUpdateTags.json
@@ -0,0 +1,148 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationSecurityGroupCreate.json
new file mode 100644
index 000000000000..4a22b5b3b331
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationSecurityGroupCreate.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationSecurityGroupDelete.json
new file mode 100644
index 000000000000..2f3c9461dab0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationSecurityGroupGet.json
new file mode 100644
index 000000000000..39ec9a1bc136
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationSecurityGroupGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationSecurityGroupList.json
new file mode 100644
index 000000000000..fe1d86d3f4fa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationSecurityGroupList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationSecurityGroupListAll.json
new file mode 100644
index 000000000000..bb461da80356
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationSecurityGroupListAll.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ApplicationSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..88ac777ef935
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ApplicationSecurityGroupUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/AutoApprovedPrivateLinkServicesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AutoApprovedPrivateLinkServicesGet.json
new file mode 100644
index 000000000000..3dd81b8b1f40
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AutoApprovedPrivateLinkServicesGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "location": "regionName",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1"
+ },
+ {
+ "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2"
+ },
+ {
+ "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls3"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json
new file mode 100644
index 000000000000..bece326e8092
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "location": "regionName",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1"
+ },
+ {
+ "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2"
+ },
+ {
+ "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls3"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AvailableDelegationsResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AvailableDelegationsResourceGroupGet.json
new file mode 100644
index 000000000000..93f190547872
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AvailableDelegationsResourceGroupGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "location": "westcentralus",
+ "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/2019-07-01/examples/AvailableDelegationsSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AvailableDelegationsSubscriptionGet.json
new file mode 100644
index 000000000000..ef2194670c8d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AvailableDelegationsSubscriptionGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "location": "westcentralus",
+ "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/2019-07-01/examples/AvailablePrivateEndpointTypesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AvailablePrivateEndpointTypesGet.json
new file mode 100644
index 000000000000..37cc74e292e7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AvailablePrivateEndpointTypesGet.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "location": "regionName",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType",
+ "type": "Microsoft.Network/availablePrivateEndpointTypes",
+ "resourceName": "Microsoft.Provider/resourceType"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json
new file mode 100644
index 000000000000..a0ab7e64a05a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "location": "regionName",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType",
+ "type": "Microsoft.Network/availablePrivateEndpointTypes",
+ "resourceName": "Microsoft.Provider/resourceType"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallDelete.json
new file mode 100644
index 000000000000..71bd2f4bd111
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallFqdnTagsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallFqdnTagsListBySubscription.json
new file mode 100644
index 000000000000..d4ca4a99dbc7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallFqdnTagsListBySubscription.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/AzureFirewallGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallGet.json
new file mode 100644
index 000000000000..ee9e5612334a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallGet.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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",
+ "zones": [],
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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/2019-07-01/examples/AzureFirewallGetWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallGetWithZones.json
new file mode 100644
index 000000000000..2b11bbb5f656
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallGetWithZones.json
@@ -0,0 +1,140 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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 2",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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/2019-07-01/examples/AzureFirewallListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallListByResourceGroup.json
new file mode 100644
index 000000000000..823b322c7940
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallListByResourceGroup.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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",
+ "zones": [],
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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/2019-07-01/examples/AzureFirewallListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallListBySubscription.json
new file mode 100644
index 000000000000..09855e182599
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallListBySubscription.json
@@ -0,0 +1,138 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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",
+ "zones": [],
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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/2019-07-01/examples/AzureFirewallPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallPut.json
new file mode 100644
index 000000000000..b05a78bb2809
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallPut.json
@@ -0,0 +1,377 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall",
+ "parameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "zones": [],
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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",
+ "zones": [],
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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",
+ "zones": [],
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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/2019-07-01/examples/AzureFirewallPutInHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallPutInHub.json
new file mode 100644
index 000000000000..d80cdb85e247
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallPutInHub.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall",
+ "parameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "zones": [],
+ "properties": {
+ "threatIntelMode": "Alert",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"
+ },
+ "firewallPolicy": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1"
+ }
+ }
+ }
+ },
+ "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",
+ "zones": [],
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"
+ },
+ "firewallPolicy": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1"
+ },
+ "hubIpAddresses": {
+ "publicIPAddresses": [
+ {
+ "address": "13.73.240.12"
+ }
+ ],
+ "privateIPAddress": "10.0.0.0"
+ }
+ }
+ }
+ },
+ "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",
+ "zones": [],
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"
+ },
+ "firewallPolicy": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1"
+ },
+ "hubIpAddresses": {
+ "publicIPAddresses": [
+ {
+ "address": "13.73.240.12"
+ }
+ ],
+ "privateIPAddress": "10.0.0.0"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallPutWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallPutWithZones.json
new file mode 100644
index 000000000000..a790459c72bb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallPutWithZones.json
@@ -0,0 +1,389 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall",
+ "parameters": {
+ "location": "West US 2",
+ "tags": {
+ "key1": "value1"
+ },
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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 2",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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 2",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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/2019-07-01/examples/AzureFirewallUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallUpdateTags.json
new file mode 100644
index 000000000000..4912f26ad100
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/AzureFirewallUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "azfwtest",
+ "azureFirewallName": "fw1",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "fw1",
+ "id": "/subscriptions/subid/resourceGroups/azfwtest/providers/Microsoft.Network/azureFirewalls/fw1",
+ "type": "Microsoft.Network/azureFirewalls",
+ "location": "brazilsouth",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostDelete.json
new file mode 100644
index 000000000000..81dad6a973e8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "bastionHostName": "bastionhosttenant"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostGet.json
new file mode 100644
index 000000000000..3684ce50706a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostGet.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "bastionHostName": "bastionhosttenant'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "bastionhost'",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
+ "type": "Microsoft.Network/bastionHosts",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostListByResourceGroup.json
new file mode 100644
index 000000000000..93f15706dafe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostListByResourceGroup.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "bastionhost'",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
+ "type": "Microsoft.Network/bastionHosts",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostListBySubscription.json
new file mode 100644
index 000000000000..020421f1069c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostListBySubscription.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "bastionhost'",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
+ "type": "Microsoft.Network/bastionHosts",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostPut.json
new file mode 100644
index 000000000000..956fc015093f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/BastionHostPut.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "bastionHostName": "bastionhosttenant'",
+ "parameters": {
+ "properties": {
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "bastionhost'",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
+ "type": "Microsoft.Network/bastionHosts",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "bastionhost'",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
+ "type": "Microsoft.Network/bastionHosts",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckDnsNameAvailability.json
new file mode 100644
index 000000000000..dbd2b0dcc5d6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckDnsNameAvailability.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "location": "westus",
+ "domainNameLabel": "testdns"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "available": false
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibility.json
new file mode 100644
index 000000000000..d071067f2657
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibility.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "location": "westus",
+ "parameters": {
+ "privateLinkServiceAlias": "mypls.00000000-0000-0000-0000-000000000000.azure.privatelinkservice"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "visible": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json
new file mode 100644
index 000000000000..e8a83a3d9b13
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "location": "westus",
+ "resourceGroupName": "rg1",
+ "parameters": {
+ "privateLinkServiceAlias": "mypls.00000000-0000-0000-0000-000000000000.azure.privatelinkservice"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "visible": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosCustomPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosCustomPolicyCreate.json
new file mode 100644
index 000000000000..dca5a3eb1e9d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosCustomPolicyCreate.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosCustomPolicyName": "test-ddos-custom-policy",
+ "parameters": {
+ "location": "centraluseuap",
+ "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": "centraluseuap",
+ "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": "centraluseuap",
+ "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/2019-07-01/examples/DdosCustomPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosCustomPolicyDelete.json
new file mode 100644
index 000000000000..394b604d4393
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosCustomPolicyDelete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/DdosCustomPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosCustomPolicyGet.json
new file mode 100644
index 000000000000..7092c881c956
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosCustomPolicyGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/DdosCustomPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosCustomPolicyUpdateTags.json
new file mode 100644
index 000000000000..9e3537673f41
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosCustomPolicyUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/DdosProtectionPlanCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosProtectionPlanCreate.json
new file mode 100644
index 000000000000..69ed58f1e748
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosProtectionPlanCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/DdosProtectionPlanDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosProtectionPlanDelete.json
new file mode 100644
index 000000000000..90adb72269c3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosProtectionPlanDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosProtectionPlanGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosProtectionPlanGet.json
new file mode 100644
index 000000000000..59bb04c99892
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosProtectionPlanGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/DdosProtectionPlanList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosProtectionPlanList.json
new file mode 100644
index 000000000000..65f1226a63bc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosProtectionPlanList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/DdosProtectionPlanListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosProtectionPlanListAll.json
new file mode 100644
index 000000000000..8e2401469f97
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosProtectionPlanListAll.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/DdosProtectionPlanUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosProtectionPlanUpdateTags.json
new file mode 100644
index 000000000000..4b8add845022
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DdosProtectionPlanUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-plan",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DefaultSecurityRuleGet.json
new file mode 100644
index 000000000000..35c571c55457
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DefaultSecurityRuleGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-07-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/2019-07-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DefaultSecurityRuleList.json
new file mode 100644
index 000000000000..11cc8743ccc8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/DefaultSecurityRuleList.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-07-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/2019-07-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/EndpointServicesList.json
new file mode 100644
index 000000000000..3250fc3b8ade
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/EndpointServicesList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteCircuitARPTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitARPTableList.json
new file mode 100644
index 000000000000..c2b31befe2c4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitARPTableList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName",
+ "devicePath": "devicePath"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "age": 0,
+ "interface": "Microsoft",
+ "ipAddress": "IPAddress",
+ "macAddress": "macAddress"
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitAuthorizationCreate.json
new file mode 100644
index 000000000000..907f02305d9b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitAuthorizationCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "authorizationName": "authorizatinName",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "authorizationParameters": {
+ "properties": {
+ "authorizationKey": "authKey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "authorizationName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/authorizationName",
+ "etag": "W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"",
+ "properties": {
+ "provisioningState": "Updating",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "authorizationName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/authorizationName",
+ "etag": "W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"",
+ "properties": {
+ "provisioningState": "Updating",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitAuthorizationDelete.json
new file mode 100644
index 000000000000..995e0accc506
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitAuthorizationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "authorizationName": "authorizationName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitAuthorizationGet.json
new file mode 100644
index 000000000000..06d96d3b7daf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitAuthorizationGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "authorizationName": "authorizationName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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"
+ },
+ "type": "Microsoft.Network/expressRouteCircuits/authorizations"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitAuthorizationList.json
new file mode 100644
index 000000000000..424edbde1805
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitAuthorizationList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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/2019-07-01/examples/ExpressRouteCircuitConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitConnectionCreate.json
new file mode 100644
index 000000000000..721b45eb0fcc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitConnectionCreate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteCircuitConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitConnectionDelete.json
new file mode 100644
index 000000000000..6360348cd07e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitConnectionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering",
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitConnectionGet.json
new file mode 100644
index 000000000000..b19e9c43c589
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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"
+ },
+ "type": "Microsoft.Network/expressRouteCircuits/peerings/connections"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitConnectionList.json
new file mode 100644
index 000000000000..2e9d6e677ab2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitConnectionList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitCreate.json
new file mode 100644
index 000000000000..71717abae1e1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitCreate.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ },
+ "properties": {
+ "authorizations": [],
+ "peerings": [],
+ "allowClassicOperations": false,
+ "serviceProviderProperties": {
+ "serviceProviderName": "Equinix",
+ "peeringLocation": "Silicon Valley",
+ "bandwidthInMbps": 200
+ }
+ },
+ "location": "Brazil South"
+ }
+ },
+ "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": "Brazil South",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "Equinix",
+ "peeringLocation": "Silicon Valley",
+ "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": "Brazil South",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "Equinix",
+ "peeringLocation": "Silicon Valley",
+ "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/2019-07-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json
new file mode 100644
index 000000000000..a858b47a0a32
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-07-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/Microsoft.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/Microsoft.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/Microsoft.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/2019-07-01/examples/ExpressRouteCircuitDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitDelete.json
new file mode 100644
index 000000000000..64ff671613cb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitGet.json
new file mode 100644
index 000000000000..0a9a0bc74269
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteCircuitListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitListByResourceGroup.json
new file mode 100644
index 000000000000..78b01ce0351c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitListByResourceGroup.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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",
+ "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",
+ "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/2019-07-01/examples/ExpressRouteCircuitListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitListBySubscription.json
new file mode 100644
index 000000000000..a9e63ab5a517
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitListBySubscription.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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",
+ "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",
+ "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/2019-07-01/examples/ExpressRouteCircuitPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitPeeringCreate.json
new file mode 100644
index 000000000000..a37d448ff909
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitPeeringCreate.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "peeringParameters": {
+ "properties": {
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "vlanId": 200
+ }
+ }
+ },
+ "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/2019-07-01/examples/ExpressRouteCircuitPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitPeeringDelete.json
new file mode 100644
index 000000000000..3d2039688535
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitPeeringGet.json
new file mode 100644
index 000000000000..bcd3f7402673
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitPeeringGet.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "peeringName": "MicrosoftPeering"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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"
+ }
+ },
+ "routeFilter": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName"
+ }
+ },
+ "type": "Microsoft.Network/expressRouteCircuits/peerings"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitPeeringList.json
new file mode 100644
index 000000000000..596340edbd2c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitPeeringList.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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/2019-07-01/examples/ExpressRouteCircuitPeeringStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitPeeringStats.json
new file mode 100644
index 000000000000..2110efccc24d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitPeeringStats.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primarybytesIn": 537408,
+ "primarybytesOut": 44032550,
+ "secondarybytesIn": 0,
+ "secondarybytesOut": 39002500
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitRouteTableList.json
new file mode 100644
index 000000000000..f458106be8f4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitRouteTableList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName",
+ "devicePath": "devicePath"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "network": "",
+ "nextHop": "",
+ "locPrf": "",
+ "weight": 0,
+ "path": ""
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitRouteTableSummaryList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitRouteTableSummaryList.json
new file mode 100644
index 000000000000..6e0760cf42a4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitRouteTableSummaryList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName",
+ "devicePath": "devicePath"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "neighbor": "100.65.171.1",
+ "v": 4,
+ "as": 9583,
+ "upDown": "never",
+ "statePfxRcd": "Idle"
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitStats.json
new file mode 100644
index 000000000000..28826d8e4e06
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitStats.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primarybytesIn": 537408,
+ "primarybytesOut": 44032550,
+ "secondarybytesIn": 0,
+ "secondarybytesOut": 39002500
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitUpdateTags.json
new file mode 100644
index 000000000000..e1731577639d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCircuitUpdateTags.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteConnectionCreate.json
new file mode 100644
index 000000000000..baf4b29abbf5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteConnectionCreate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "gateway-2",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "connectionName": "connectionName",
+ "putExpressRouteConnectionParameters": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2/expressRouteConnections/connectionName",
+ "name": "connectionName",
+ "properties": {
+ "routingWeight": 2,
+ "authorizationKey": "authorizationKey",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/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/gateway-2/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "authorizationKey",
+ "routingWeight": 2
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteConnectionDelete.json
new file mode 100644
index 000000000000..9ae00fbf776a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "connectionName": "connectionName",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteConnectionGet.json
new file mode 100644
index 000000000000..87220e73de43
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteConnectionGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-07-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
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteConnectionList.json
new file mode 100644
index 000000000000..09ade3ce5da0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteConnectionList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json
new file mode 100644
index 000000000000..492088c9dff6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "peeringParameters": {
+ "properties": {
+ "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/2019-07-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json
new file mode 100644
index 000000000000..c466c767cc0d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json
new file mode 100644
index 000000000000..9ebe53ef1c31
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json
new file mode 100644
index 000000000000..2b1b5d43c73e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteCrossConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionGet.json
new file mode 100644
index 000000000000..737c22865098
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteCrossConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionList.json
new file mode 100644
index 000000000000..cccdb78fb42b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json
new file mode 100644
index 000000000000..344104ea733c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteCrossConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionUpdate.json
new file mode 100644
index 000000000000..70ef204e21f8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteCrossConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionUpdateTags.json
new file mode 100644
index 000000000000..f519a28855b6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionUpdateTags.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteCrossConnectionsArpTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionsArpTable.json
new file mode 100644
index 000000000000..de3176b517e0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionsArpTable.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteCrossConnectionsRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionsRouteTable.json
new file mode 100644
index 000000000000..8c862cd4ac49
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionsRouteTable.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json
new file mode 100644
index 000000000000..e096124fb545
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2019-07-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/2019-07-01/examples/ExpressRouteGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayCreate.json
new file mode 100644
index 000000000000..315f9f4e7e32
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayCreate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "gateway-2",
+ "subscriptionId": "subid",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-07-01",
+ "putExpressRouteGatewayParameters": {
+ "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
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayDelete.json
new file mode 100644
index 000000000000..a56fab0fc770
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayGet.json
new file mode 100644
index 000000000000..2e3c6f43137e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..01a7e5746d9b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayListByResourceGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayListBySubscription.json
new file mode 100644
index 000000000000..1c929bdc0e09
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteGatewayListBySubscription.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteLinkGet.json
new file mode 100644
index 000000000000..682f90b4ac2b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteLinkGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-07-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "linkName": "linkName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "linkName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/linkName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteLinkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteLinkList.json
new file mode 100644
index 000000000000..f1e705601cdf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteLinkList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-07-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/Microsoft.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/2019-07-01/examples/ExpressRoutePortCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortCreate.json
new file mode 100644
index 000000000000..0ac82c31eda2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortCreate.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-07-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/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/2019-07-01/examples/ExpressRoutePortDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortDelete.json
new file mode 100644
index 000000000000..ef351619dc6c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-07-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortGet.json
new file mode 100644
index 000000000000..515fe27e4def
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-07-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/2019-07-01/examples/ExpressRoutePortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortList.json
new file mode 100644
index 000000000000..871a0b2d5058
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortList.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/2019-07-01/examples/ExpressRoutePortListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortListByResourceGroup.json
new file mode 100644
index 000000000000..5727230efb31
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortListByResourceGroup.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-07-01",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/2019-07-01/examples/ExpressRoutePortUpdateLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortUpdateLink.json
new file mode 100644
index 000000000000..375434eb7d65
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortUpdateLink.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-07-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/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/2019-07-01/examples/ExpressRoutePortUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortUpdateTags.json
new file mode 100644
index 000000000000..ed7aa18465c1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortUpdateTags.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-07-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/2019-07-01/examples/ExpressRoutePortsLocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortsLocationGet.json
new file mode 100644
index 000000000000..db0545a4c733
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortsLocationGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-07-01",
+ "locationName": "locationName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "locationName",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/expressRoutePortsLocations/locationName",
+ "type": "Microsoft.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/2019-07-01/examples/ExpressRoutePortsLocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortsLocationList.json
new file mode 100644
index 000000000000..958919b224a0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRoutePortsLocationList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "locationName",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/expressRoutePortsLocations/locationName",
+ "type": "Microsoft.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/2019-07-01/examples/ExpressRouteProviderList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteProviderList.json
new file mode 100644
index 000000000000..740b1f27850d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ExpressRouteProviderList.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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/2019-07-01/examples/FirewallPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyDelete.json
new file mode 100644
index 000000000000..6dc98f67eade
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "firewallPolicyName": "firewallPolicy"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyGet.json
new file mode 100644
index 000000000000..26225969b837
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "firewallPolicyName": "firewallPolicy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "firewallPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "type": "Microsoft.Network/firewallPolicies",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert",
+ "ruleGroups": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1"
+ }
+ ],
+ "firewalls": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyListByResourceGroup.json
new file mode 100644
index 000000000000..ebe7de53f3e3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyListByResourceGroup.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "firewallPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "type": "Microsoft.Network/firewallPolicies",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert",
+ "ruleGroups": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1"
+ }
+ ],
+ "firewalls": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyListBySubscription.json
new file mode 100644
index 000000000000..ec155405fdc9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyListBySubscription.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "firewallPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "type": "Microsoft.Network/firewallPolicies",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert",
+ "ruleGroups": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1"
+ }
+ ],
+ "firewalls": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyPut.json
new file mode 100644
index 000000000000..d5edec29ffd2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyPut.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "firewallPolicyName": "firewallPolicy",
+ "parameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "properties": {
+ "threatIntelMode": "Alert"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "firewallPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "type": "Microsoft.Network/firewallPolicies",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert",
+ "ruleGroups": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/rulegroup1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/rulegroup2"
+ }
+ ],
+ "firewalls": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "firewallPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "type": "Microsoft.Network/firewallPolicies",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert",
+ "ruleGroups": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/rulegroup2"
+ }
+ ],
+ "firewalls": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyRuleGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyRuleGroupDelete.json
new file mode 100644
index 000000000000..3d4299b2c40f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyRuleGroupDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "ruleGroupName": "ruleGroup1",
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyRuleGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyRuleGroupGet.json
new file mode 100644
index 000000000000..2333b359158f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyRuleGroupGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "ruleGroupName": "ruleGroup1",
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "ruleGroup1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "priority": 110,
+ "rules": [
+ {
+ "ruleType": "FirewallPolicyFilterRule",
+ "name": "Example-Filter-Rule",
+ "priority": 200,
+ "action": {
+ "type": "Deny"
+ },
+ "ruleConditions": [
+ {
+ "ruleConditionType": "NetworkRuleCondition",
+ "name": "network-condition1",
+ "sourceAddresses": [
+ "10.1.25.0/24"
+ ],
+ "destinationAddresses": [
+ "*"
+ ],
+ "ipProtocols": [
+ "TCP"
+ ],
+ "destinationPorts": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyRuleGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyRuleGroupList.json
new file mode 100644
index 000000000000..6ed340bc1e99
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyRuleGroupList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "ruleGroup1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "priority": 110,
+ "rules": [
+ {
+ "name": "Example-Filter-Rule",
+ "ruleType": "FirewallPolicyFilterRule",
+ "priority": 120,
+ "action": {
+ "type": "Deny"
+ },
+ "ruleConditions": [
+ {
+ "name": "network-condition-1",
+ "ruleConditionType": "NetworkRuleCondition",
+ "description": "Network rule condition",
+ "destinationAddresses": [
+ "*"
+ ],
+ "sourceAddresses": [
+ "10.1.25.0/24"
+ ],
+ "ipProtocols": [
+ "TCP"
+ ],
+ "destinationPorts": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyRuleGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyRuleGroupPut.json
new file mode 100644
index 000000000000..64655a83e55b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyRuleGroupPut.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "firewallPolicyName": "firewallPolicy",
+ "ruleGroupName": "ruleGroup1",
+ "parameters": {
+ "properties": {
+ "priority": 110,
+ "rules": [
+ {
+ "ruleType": "FirewallPolicyFilterRule",
+ "name": "Example-Filter-Rule",
+ "action": {
+ "type": "Deny"
+ },
+ "ruleConditions": [
+ {
+ "ruleConditionType": "NetworkRuleCondition",
+ "name": "network-condition1",
+ "sourceAddresses": [
+ "10.1.25.0/24"
+ ],
+ "destinationAddresses": [
+ "*"
+ ],
+ "ipProtocols": [
+ "TCP"
+ ],
+ "destinationPorts": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "ruleGroup1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "priority": 110,
+ "rules": [
+ {
+ "ruleType": "FirewallPolicyFilterRule",
+ "name": "Example-Filter-Rule",
+ "action": {
+ "type": "Deny"
+ },
+ "ruleConditions": [
+ {
+ "ruleConditionType": "NetworkRuleCondition",
+ "name": "network-condition1",
+ "sourceAddresses": [
+ "10.1.25.0/24"
+ ],
+ "destinationAddresses": [
+ "*"
+ ],
+ "ipProtocols": [
+ "TCP"
+ ],
+ "destinationPorts": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "firewallPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "priority": 110,
+ "rules": [
+ {
+ "ruleType": "FirewallPolicyFilterRule",
+ "name": "Example-Filter-Rule",
+ "action": {
+ "type": "Deny"
+ },
+ "ruleConditions": [
+ {
+ "ruleConditionType": "NetworkRuleCondition",
+ "name": "network-condition1",
+ "sourceAddresses": [
+ "10.1.25.0/24"
+ ],
+ "destinationAddresses": [
+ "*"
+ ],
+ "ipProtocols": [
+ "TCP"
+ ],
+ "destinationPorts": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyUpdateTags.json
new file mode 100644
index 000000000000..40987372ee7b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/FirewallPolicyUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "firewallPolicyParameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "firewallPolicy",
+ "type": "Microsoft.Network/firewallPolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Deny"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/HubVirtualNetworkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/HubVirtualNetworkConnectionGet.json
new file mode 100644
index 000000000000..9ad59263fb6c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/HubVirtualNetworkConnectionGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/HubVirtualNetworkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/HubVirtualNetworkConnectionList.json
new file mode 100644
index 000000000000..d9a9e2445575
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/HubVirtualNetworkConnectionList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ },
+ {
+ "name": "connection2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/InboundNatRuleCreate.json
new file mode 100644
index 000000000000..60fa71b3bc0f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/InboundNatRuleCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-07-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": false,
+ "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": false,
+ "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": false,
+ "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/2019-07-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/InboundNatRuleDelete.json
new file mode 100644
index 000000000000..cd694b3df7e5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/InboundNatRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/InboundNatRuleGet.json
new file mode 100644
index 000000000000..baa02fe7d892
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/InboundNatRuleGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-07-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/2019-07-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/InboundNatRuleList.json
new file mode 100644
index 000000000000..ab426bda77ee
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/InboundNatRuleList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-07-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/2019-07-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerBackendAddressPoolGet.json
new file mode 100644
index 000000000000..c5398b77e30d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerBackendAddressPoolGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "backendAddressPoolName": "backend",
+ "api-version": "2019-07-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\"",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "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/2019-07-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerBackendAddressPoolList.json
new file mode 100644
index 000000000000..6b0ea3090d56
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerBackendAddressPoolList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-07-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\"",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "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/2019-07-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerCreate.json
new file mode 100644
index 000000000000..264c8733258e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerCreate.json
@@ -0,0 +1,339 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {}
+ }
+ ],
+ "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": false,
+ "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
+ }
+ }
+ ],
+ "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": false
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false,
+ "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",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false,
+ "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",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerCreateStandardSku.json
new file mode 100644
index 000000000000..b6c59bce928e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerCreateStandardSku.json
@@ -0,0 +1,339 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {}
+ }
+ ],
+ "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
+ }
+ }
+ ],
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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/2019-07-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerCreateWithInboundNatPool.json
new file mode 100644
index 000000000000..2be36a4042f0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -0,0 +1,184 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "loadBalancerName": "lb",
+ "parameters": {
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "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": [],
+ "outboundRules": [],
+ "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"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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/2019-07-01/examples/LoadBalancerCreateWithOutboundRules.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerCreateWithOutboundRules.json
new file mode 100644
index 000000000000..24bbb9432513
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerCreateWithOutboundRules.json
@@ -0,0 +1,423 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "loadBalancerName": "lb",
+ "parameters": {
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"
+ }
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {}
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "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"
+ },
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "frontendPort": 80,
+ "backendPort": 80,
+ "idleTimeoutInMinutes": 15,
+ "enableFloatingIP": true,
+ "disableOutboundSnat": true
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "properties": {
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2
+ }
+ }
+ ],
+ "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": [
+ {
+ "name": "rule1",
+ "properties": {
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "frontendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ],
+ "protocol": "All"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"
+ },
+ "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"
+ }
+ ],
+ "outboundRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"
+ }
+ ],
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "outboundRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"
+ }
+ ],
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false,
+ "loadDistribution": "Default",
+ "disableOutboundSnat": true,
+ "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",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false
+ }
+ }
+ ],
+ "outboundRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1",
+ "type": "Microsoft.Network/loadBalancers/outboundRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "allocatedOutboundPorts": 1024,
+ "protocol": "All",
+ "enableTcpReset": false,
+ "idleTimeoutInMinutes": 4,
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "frontendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"
+ },
+ "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"
+ }
+ ],
+ "outboundRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"
+ }
+ ],
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "outboundRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"
+ }
+ ],
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false,
+ "loadDistribution": "Default",
+ "disableOutboundSnat": true,
+ "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",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false
+ }
+ }
+ ],
+ "outboundRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1",
+ "type": "Microsoft.Network/loadBalancers/outboundRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "allocatedOutboundPorts": 1024,
+ "protocol": "All",
+ "enableTcpReset": false,
+ "idleTimeoutInMinutes": 4,
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "frontendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerCreateWithZones.json
new file mode 100644
index 000000000000..312c8778fd59
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerCreateWithZones.json
@@ -0,0 +1,348 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ },
+ "zones": [
+ "1"
+ ]
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {}
+ }
+ ],
+ "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
+ }
+ }
+ ],
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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/2019-07-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerDelete.json
new file mode 100644
index 000000000000..353cba36b044
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "loadBalancerName": "lb"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerFrontendIPConfigurationGet.json
new file mode 100644
index 000000000000..1978dd2af5b5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerFrontendIPConfigurationGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "frontendIPConfigurationName": "frontend",
+ "api-version": "2019-07-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\"",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "privateIPAddressVersion": "IPv4",
+ "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/2019-07-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerFrontendIPConfigurationList.json
new file mode 100644
index 000000000000..d81df11e1af6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerFrontendIPConfigurationList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-07-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\"",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "privateIPAddressVersion": "IPv4",
+ "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/2019-07-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerGet.json
new file mode 100644
index 000000000000..844b831087c1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerGet.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "loadBalancerName": "lb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "privateIPAddressVersion": "IPv4",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "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
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerList.json
new file mode 100644
index 000000000000..1610cd2abc74
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerList.json
@@ -0,0 +1,161 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "felb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "privateIPAddressVersion": "IPv4",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "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
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ },
+ {
+ "name": "lb2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb2",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerListAll.json
new file mode 100644
index 000000000000..1b251f0184a1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerListAll.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "felb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "privateIPAddressVersion": "IPv4",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "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
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ },
+ {
+ "name": "lb3",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/lb3",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerLoadBalancingRuleGet.json
new file mode 100644
index 000000000000..aa63a94f6ebd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerLoadBalancingRuleGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "loadBalancingRuleName": "rule1",
+ "api-version": "2019-07-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\"",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "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/2019-07-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerLoadBalancingRuleList.json
new file mode 100644
index 000000000000..a96320348eff
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerLoadBalancingRuleList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2019-07-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\"",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "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/2019-07-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerNetworkInterfaceListSimple.json
new file mode 100644
index 000000000000..77855832c9ac
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerNetworkInterfaceListSimple.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-07-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/2019-07-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerNetworkInterfaceListVmss.json
new file mode 100644
index 000000000000..7bab1f406c44
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerNetworkInterfaceListVmss.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-07-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/2019-07-01/examples/LoadBalancerOutboundRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerOutboundRuleGet.json
new file mode 100644
index 000000000000..4b53ffda1c90
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerOutboundRuleGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "outboundRuleName": "rule1",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1",
+ "type": "Microsoft.Network/loadBalancers/outboundRules",
+ "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/2019-07-01/examples/LoadBalancerOutboundRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerOutboundRuleList.json
new file mode 100644
index 000000000000..3e64c7f73bd8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerOutboundRuleList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1",
+ "type": "Microsoft.Network/loadBalancers/outboundRules",
+ "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/2019-07-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerProbeGet.json
new file mode 100644
index 000000000000..c9e82b763ccc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerProbeGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "probeName": "probe1",
+ "api-version": "2019-07-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\"",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "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/2019-07-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerProbeList.json
new file mode 100644
index 000000000000..b40ab6d92315
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerProbeList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-07-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\"",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "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/2019-07-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerUpdateTags.json
new file mode 100644
index 000000000000..947fcc261882
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LoadBalancerUpdateTags.json
@@ -0,0 +1,132 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/LocalNetworkGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LocalNetworkGatewayCreate.json
new file mode 100644
index 000000000000..e457c6be9ef8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LocalNetworkGatewayCreate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName": "localgw",
+ "parameters": {
+ "properties": {
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "11.12.13.14"
+ },
+ "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": "11.12.13.14"
+ }
+ }
+ },
+ "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": "11.12.13.14"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LocalNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LocalNetworkGatewayDelete.json
new file mode 100644
index 000000000000..aaa94ab9dac8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LocalNetworkGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName": "localgw"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LocalNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LocalNetworkGatewayGet.json
new file mode 100644
index 000000000000..542d77e0b599
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LocalNetworkGatewayGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/LocalNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LocalNetworkGatewayList.json
new file mode 100644
index 000000000000..117be9d91c36
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LocalNetworkGatewayList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LocalNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..cdfbcda22bd7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/LocalNetworkGatewayUpdateTags.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NatGatewayCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayCreateOrUpdate.json
new file mode 100644
index 000000000000..ba0b5ac708b7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayCreateOrUpdate.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "natGatewayName": "test-natgateway",
+ "parameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ },
+ "202": {
+ "body": {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayDelete.json
new file mode 100644
index 000000000000..afb5990d519c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "natGatewayName": "test-natGateway"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayGet.json
new file mode 100644
index 000000000000..4f4a465a919f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayGet.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "natGatewayName": "test-natGateway"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayList.json
new file mode 100644
index 000000000000..c1bb547718c2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateway/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ },
+ {
+ "name": "test-natGateway2",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/natGateway/test-natGateway2",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayListAll.json
new file mode 100644
index 000000000000..b8dcc6c244c2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayListAll.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ },
+ {
+ "name": "test-natGateway2",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/natGatewayes/test-natGateway2",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayUpdateTags.json
new file mode 100644
index 000000000000..253616c3bbda
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NatGatewayUpdateTags.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "natGatewayName": "test-natGateway",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceCreate.json
new file mode 100644
index 000000000000..b6cb6ed6f25f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceCreate.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceDelete.json
new file mode 100644
index 000000000000..b71c127633a2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceEffectiveNSGList.json
new file mode 100644
index 000000000000..50e5cfb853fb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceEffectiveNSGList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceEffectiveRouteTableList.json
new file mode 100644
index 000000000000..bd3252568566
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceEffectiveRouteTableList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceGet.json
new file mode 100644
index 000000000000..338f840cc9e9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceGet.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceIPConfigurationGet.json
new file mode 100644
index 000000000000..281285900479
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceIPConfigurationGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "ipConfigurationName": "ipconfig1",
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceIPConfigurationList.json
new file mode 100644
index 000000000000..ed64f0aa2e2a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceIPConfigurationList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceList.json
new file mode 100644
index 000000000000..c23d00e7a441
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceList.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceListAll.json
new file mode 100644
index 000000000000..0da23d455f58
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceListAll.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceLoadBalancerList.json
new file mode 100644
index 000000000000..31d65703c8fc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceLoadBalancerList.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceTapConfigurationCreate.json
new file mode 100644
index 000000000000..cc9d5019eb8f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceTapConfigurationCreate.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "tapConfigurationName": "tapconfiguration1",
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkInterfaceTapConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceTapConfigurationDelete.json
new file mode 100644
index 000000000000..e9f773cc5bb6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceTapConfigurationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceTapConfigurationGet.json
new file mode 100644
index 000000000000..792c36e41e51
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceTapConfigurationGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "tapConfigurationName": "tapconfiguration1",
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceTapConfigurationList.json
new file mode 100644
index 000000000000..be9d8c64db2b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceTapConfigurationList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceUpdateTags.json
new file mode 100644
index 000000000000..63b4fa348847
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkInterfaceUpdateTags.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkProfileCreateConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileCreateConfigOnly.json
new file mode 100644
index 000000000000..277a477a4ec6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileCreateConfigOnly.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1",
+ "parameters": {
+ "location": "westus",
+ "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": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileDelete.json
new file mode 100644
index 000000000000..679b0a502b03
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileGetConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileGetConfigOnly.json
new file mode 100644
index 000000000000..a706e885de3d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileGetConfigOnly.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileGetWithContainerNic.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileGetWithContainerNic.json
new file mode 100644
index 000000000000..c8f690f73a1c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileGetWithContainerNic.json
@@ -0,0 +1,203 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileList.json
new file mode 100644
index 000000000000..755a44859219
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileList.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileListAll.json
new file mode 100644
index 000000000000..2c19483732bc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileListAll.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileUpdateTags.json
new file mode 100644
index 000000000000..8030a96cbf8e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkProfileUpdateTags.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupCreate.json
new file mode 100644
index 000000000000..a2232988f69a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupCreate.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupCreateWithRule.json
new file mode 100644
index 000000000000..a496cf485f44
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -0,0 +1,282 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupDelete.json
new file mode 100644
index 000000000000..bc483627e671
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupGet.json
new file mode 100644
index 000000000000..8a752f41b9c1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupGet.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupList.json
new file mode 100644
index 000000000000..4f8b34e4e987
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupList.json
@@ -0,0 +1,231 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupListAll.json
new file mode 100644
index 000000000000..6d0e88d172e7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupListAll.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupRuleCreate.json
new file mode 100644
index 000000000000..d3119d1665a0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupRuleCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupRuleDelete.json
new file mode 100644
index 000000000000..3aa607111323
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg",
+ "securityRuleName": "rule1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupRuleGet.json
new file mode 100644
index 000000000000..277a42696df5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupRuleGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupRuleList.json
new file mode 100644
index 000000000000..c115dd4825bc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupRuleList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..6b9d27d00fcb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkSecurityGroupUpdateTags.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherAvailableProvidersListGet.json
new file mode 100644
index 000000000000..6f5bc8701d4e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherAvailableProvidersListGet.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherAzureReachabilityReportGet.json
new file mode 100644
index 000000000000..ad0c2b27e64b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherAzureReachabilityReportGet.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherConnectivityCheck.json
new file mode 100644
index 000000000000..a4b8f9489216
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherConnectivityCheck.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherCreate.json
new file mode 100644
index 000000000000..31ea24d25746
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherDelete.json
new file mode 100644
index 000000000000..0d86dcf28779
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherFlowLogConfigure.json
new file mode 100644
index 000000000000..da98ba416f09
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherFlowLogConfigure.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherFlowLogStatusQuery.json
new file mode 100644
index 000000000000..bc2d3739b185
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherFlowLogStatusQuery.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherGet.json
new file mode 100644
index 000000000000..ab3b0e60caf3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherIpFlowVerify.json
new file mode 100644
index 000000000000..699b3b9b2a6f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherIpFlowVerify.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherList.json
new file mode 100644
index 000000000000..6579d947a19c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherListAll.json
new file mode 100644
index 000000000000..e561811c6c7f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherListAll.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json
new file mode 100644
index 000000000000..5f9b1e695e62
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherNextHopGet.json
new file mode 100644
index 000000000000..529008c5c73e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherNextHopGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCaptureCreate.json
new file mode 100644
index 000000000000..abeb12c03eed
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCaptureCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCaptureDelete.json
new file mode 100644
index 000000000000..21916944197a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCaptureDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "packetCaptureName": "pc1"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCaptureGet.json
new file mode 100644
index 000000000000..9649a219eb71
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCaptureGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
new file mode 100644
index 000000000000..b9b975e05c1b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCaptureStop.json
new file mode 100644
index 000000000000..e0cf1ddf27c2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCaptureStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "packetCaptureName": "pc1"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCapturesList.json
new file mode 100644
index 000000000000..f10eae8fde43
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherPacketCapturesList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherSecurityGroupViewGet.json
new file mode 100644
index 000000000000..62bc9267320e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherSecurityGroupViewGet.json
@@ -0,0 +1,141 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherTopologyGet.json
new file mode 100644
index 000000000000..bb4f02d39f4e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherTopologyGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherTroubleshootGet.json
new file mode 100644
index 000000000000..d313d222bc91
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherTroubleshootGet.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherTroubleshootResultQuery.json
new file mode 100644
index 000000000000..1c67e01e68be
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherTroubleshootResultQuery.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherUpdateTags.json
new file mode 100644
index 000000000000..ca2528e6ed34
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/NetworkWatcherUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/OperationList.json
new file mode 100644
index 000000000000..a43c75081473
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/OperationList.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2019-07-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/2019-07-01/examples/P2SVpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayDelete.json
new file mode 100644
index 000000000000..47073695d2b5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayGenerateVpnProfile.json
new file mode 100644
index 000000000000..7c354b3865a5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayGenerateVpnProfile.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "gatewayName": "p2sVpnGateway1",
+ "parameters": {
+ "authenticationMethod": "EAPTLS"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayGet.json
new file mode 100644
index 000000000000..4b9398803ee0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayGet.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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"
+ ]
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ },
+ "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/2019-07-01/examples/P2SVpnGatewayGetConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayGetConnectionHealth.json
new file mode 100644
index 000000000000..03ebc2272042
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayGetConnectionHealth.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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"
+ ]
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred": 2000,
+ "totalEgressBytesTransferred": 3000
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayList.json
new file mode 100644
index 000000000000..343d292f35f2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayList.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ ]
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ },
+ "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"
+ ]
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ },
+ "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/2019-07-01/examples/P2SVpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..343d292f35f2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayListByResourceGroup.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ ]
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ },
+ "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"
+ ]
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ },
+ "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/2019-07-01/examples/P2SVpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayPut.json
new file mode 100644
index 000000000000..4537ea357ce4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayPut.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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"
+ ]
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1
+ }
+ }
+ },
+ "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"
+ ]
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 0,
+ "allocatedIpAddresses": [],
+ "totalIngressBytesTransferred": 0,
+ "totalEgressBytesTransferred": 0
+ }
+ }
+ }
+ },
+ "201": {
+ "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"
+ ]
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 0,
+ "allocatedIpAddresses": [],
+ "totalIngressBytesTransferred": 0,
+ "totalEgressBytesTransferred": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayUpdateTags.json
new file mode 100644
index 000000000000..c848345def4e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnGatewayUpdateTags.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "p2SVpnGatewayParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "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",
+ "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"
+ ]
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred": 2000,
+ "totalEgressBytesTransferred": 3000
+ }
+ }
+ }
+ },
+ "201": {
+ "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",
+ "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"
+ ]
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ },
+ "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/2019-07-01/examples/P2SVpnServerConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnServerConfigurationDelete.json
new file mode 100644
index 000000000000..d47e4d951a6b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnServerConfigurationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "p2SVpnServerConfigurationName": "p2sVpnServerConfiguration1",
+ "virtualWanName": "virtualWan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnServerConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnServerConfigurationGet.json
new file mode 100644
index 000000000000..77904803d8ff
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnServerConfigurationGet.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "virtualWanName": "virtualWan1",
+ "p2SVpnServerConfigurationName": "p2sVpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "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"
+ }
+ }
+ ],
+ "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"
+ }
+ }
+ ],
+ "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"
+ }
+ }
+ ],
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnServerConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnServerConfigurationList.json
new file mode 100644
index 000000000000..4792c693d96d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnServerConfigurationList.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "virtualWanName": "virtualWan1",
+ "api-version": "2019-07-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/2019-07-01/examples/P2SVpnServerConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnServerConfigurationPut.json
new file mode 100644
index 000000000000..f44da85748f4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/P2SVpnServerConfigurationPut.json
@@ -0,0 +1,206 @@
+{
+ "parameters": {
+ "virtualWanName": "virtualWan1",
+ "p2SVpnServerConfigurationName": "p2sVpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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": {
+ "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"
+ }
+ }
+ ],
+ "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"
+ }
+ }
+ ],
+ "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"
+ }
+ }
+ ],
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "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"
+ }
+ }
+ ],
+ "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"
+ }
+ }
+ ],
+ "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"
+ }
+ }
+ ],
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PeerExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PeerExpressRouteCircuitConnectionGet.json
new file mode 100644
index 000000000000..f19d0663bb41
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PeerExpressRouteCircuitConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "connectionName": "60aee347-e889-4a42-8c1b-0aae8b1e4013",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid1",
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "60aee347-e889-4a42-8c1b-0aae8b1e4013",
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/peerConnections/60aee347-e889-4a42-8c1b-0aae8b1e4013",
+ "etag": "W/\"6ffbbb06-da20-44ca-a34f-280c4653b1e9\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitB/peerings/AzurePrivatePeering"
+ },
+ "addressPrefix": "20.0.0.0/29",
+ "circuitConnectionStatus": "Connected",
+ "connectionName": "circuitConnectionWestusEastus",
+ "authResourceGuid": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PeerExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PeerExpressRouteCircuitConnectionList.json
new file mode 100644
index 000000000000..64216fc28b59
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PeerExpressRouteCircuitConnectionList.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid1",
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "60aee347-e889-4a42-8c1b-0aae8b1e4013",
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/peerConnections/60aee347-e889-4a42-8c1b-0aae8b1e4013",
+ "etag": "W/\"6ffbbb06-da20-44ca-a34f-280c4653b1e9\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitB/peerings/AzurePrivatePeering"
+ },
+ "addressPrefix": "20.0.0.0/29",
+ "circuitConnectionStatus": "Connected",
+ "connectionName": "circuitConnectionWestusEastus",
+ "authResourceGuid": ""
+ }
+ },
+ {
+ "name": "c8b17193-8dd3-4f61-866d-8cdd2e2e268e",
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/peerConnections/c8b17193-8dd3-4f61-866d-8cdd2e2e268e",
+ "etag": "W/\"6ffbbb06-da20-44ca-a34f-280c4653b1e9\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitC/peerings/AzurePrivatePeering"
+ },
+ "addressPrefix": "30.0.0.0/29",
+ "circuitConnectionStatus": "Connected",
+ "connectionName": "circuitConnectionCentralusEastus",
+ "authResourceGuid": "64283012-d377-421d-8398-f6aeb2ac7ea0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointCreate.json
new file mode 100644
index 000000000000..bcff39d3e3cf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointCreate.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "privateEndpointName": "testPe",
+ "parameters": {
+ "location": "eastus2euap",
+ "properties": {
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection."
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPe",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe",
+ "location": "eastus2euap",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "manualPrivateLinkServiceConnections": [],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "testPe",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe",
+ "location": "eastus2euap",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointCreateForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointCreateForManualApproval.json
new file mode 100644
index 000000000000..bbd459535336
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointCreateForManualApproval.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "privateEndpointName": "testPe",
+ "parameters": {
+ "location": "eastus",
+ "properties": {
+ "manualPrivateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please manually approve my connection."
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPe",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [],
+ "manualPrivateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please manually approve my connection.",
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Awaiting approval",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "testPe",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointDelete.json
new file mode 100644
index 000000000000..866bfd11d7f0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "privateEndpointName": "testPe"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointGet.json
new file mode 100644
index 000000000000..6540feb1a231
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointGet.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "privateEndpointName": "testPe"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPe",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "manualPrivateLinkServiceConnections": [],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointGetForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointGetForManualApproval.json
new file mode 100644
index 000000000000..bcdf026d4935
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointGetForManualApproval.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "privateEndpointName": "testPe"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPe",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [],
+ "manualPrivateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please manually approve my connection.",
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Awaiting approval",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointList.json
new file mode 100644
index 000000000000..237d5b0f6c1e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointList.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1",
+ "name": "pe1",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection for pe1.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "manualPrivateLinkServiceConnections": [],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe1.nic.abcd1234"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe2",
+ "name": "pe2",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [],
+ "manualPrivateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please manually approve my connection for pe2.",
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Awaiting approval",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet2"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe2.nic.zyxw9876"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointListAll.json
new file mode 100644
index 000000000000..a664c95aca66
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateEndpointListAll.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1",
+ "name": "pe1",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection for pe1.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe1.nic.abcd1234"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2",
+ "name": "pe2",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [],
+ "manualPrivateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please manually approve my connection for pe2.",
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Awaiting approval",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet2"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/pe2.nic.zyxw9876"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/privateEndpoints/pe3",
+ "name": "pe3",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/privateLinkServices/testPls3",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection for pe3.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet3"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg3/provders/Microsoft.Network/networkInterfaces/pe3.nic.efgh5463"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceCreate.json
new file mode 100644
index 000000000000..160bb1d26df2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceCreate.json
@@ -0,0 +1,155 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls",
+ "parameters": {
+ "location": "eastus",
+ "properties": {
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2",
+ "subscription3"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2",
+ "fqdn3"
+ ],
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPls",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2",
+ "subscription3"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2",
+ "fqdn3"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "testPls",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2",
+ "subscription3"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2",
+ "fqdn3"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceDelete.json
new file mode 100644
index 000000000000..a13527596510
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..d2203ab6c03f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls",
+ "peConnectionName": "testPlePeConnection"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceGet.json
new file mode 100644
index 000000000000..d259b30abdf5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceGet.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPls",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "type": "Microsoft.Network/privateLinkServices",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2",
+ "subscription3"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2",
+ "fqdn3"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ }
+ }
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "name": "privateEndpointConnection",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceList.json
new file mode 100644
index 000000000000..39384a92db84
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceList.json
@@ -0,0 +1,141 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testPls1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1",
+ "type": "Microsoft.Network/privateLinkServices",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb1"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb1",
+ "properties": {
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb1"
+ }
+ }
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "name": "pec1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls1.nic.abcd1234"
+ }
+ ]
+ }
+ },
+ {
+ "name": "testPls2",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2",
+ "type": "Microsoft.Network/privateLinkServices",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2",
+ "subscription3"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2",
+ "fqdn3"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb2"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb2",
+ "properties": {
+ "privateIPAddress": "10.0.1.5",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb2"
+ }
+ }
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "name": "pec2",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls2.nic.efgh5678"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceListAll.json
new file mode 100644
index 000000000000..5d60a26067ad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceListAll.json
@@ -0,0 +1,142 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testPls1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1",
+ "type": "Microsoft.Network/privateLinkServices",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2",
+ "subscription3"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2",
+ "fqdn3"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb1"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb1",
+ "properties": {
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb1"
+ }
+ }
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "name": "pec1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls1.nic.abcd1234"
+ }
+ ]
+ }
+ },
+ {
+ "name": "testPls2",
+ "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/testPls2",
+ "type": "Microsoft.Network/privateLinkServices",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb2"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb2",
+ "properties": {
+ "privateIPAddress": "10.0.1.5",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb2"
+ }
+ }
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "name": "pec1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/testPe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/testPls2.nic.efgh5678"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json
new file mode 100644
index 000000000000..2fc656b4d97b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls",
+ "peConnectionName": "testPlePeConnection",
+ "parameters": {
+ "name": "testPlePeConnection",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPlePeConnection",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressCreateCustomizedValues.json
new file mode 100644
index 000000000000..1cd679573e3e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressCreateDefaults.json
new file mode 100644
index 000000000000..54613aabafaa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressCreateDefaults.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressCreateDns.json
new file mode 100644
index 000000000000..7b5dca07849f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressCreateDns.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressDelete.json
new file mode 100644
index 000000000000..25afde50ce90
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressGet.json
new file mode 100644
index 000000000000..dff18a83abcf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressList.json
new file mode 100644
index 000000000000..76204420bdfc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressList.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressListAll.json
new file mode 100644
index 000000000000..444aa0bb8422
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressListAll.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressUpdateTags.json
new file mode 100644
index 000000000000..8590e5d56c2b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpAddressUpdateTags.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixCreateCustomizedValues.json
new file mode 100644
index 000000000000..0212146b2aca
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixCreateCustomizedValues.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix",
+ "zones": [
+ "1"
+ ],
+ "parameters": {
+ "location": "westus",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "192.168.254.2/30",
+ "ipTags": []
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-ipprefix",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "192.168.254.2/30",
+ "ipTags": []
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixCreateDefaults.json
new file mode 100644
index 000000000000..738e994d7ae3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixCreateDefaults.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "prefixLength": 30
+ },
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-ipprefix",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "192.168.254.2/30",
+ "ipTags": []
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-ipprefix",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "192.168.254.2/30",
+ "ipTags": []
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixDelete.json
new file mode 100644
index 000000000000..5269d25a96f0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixGet.json
new file mode 100644
index 000000000000..6b881c9e547b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "192.168.254.2/30",
+ "ipTags": [],
+ "publicIPAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ]
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixList.json
new file mode 100644
index 000000000000..90a677e10c9b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test-ipprefix",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "40.85.154.2/30",
+ "ipTags": [
+ {
+ "ipTagType": "FirstPartyUsage",
+ "tag": "SQL"
+ }
+ ]
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ },
+ {
+ "name": "ipprefix03",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 31,
+ "ipPrefix": "40.85.153.2/31",
+ "ipTags": []
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixListAll.json
new file mode 100644
index 000000000000..76feb848cd52
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixListAll.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test-ipprefix",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "41.85.154.247/30",
+ "ipTags": [],
+ "publicIPAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ]
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ },
+ {
+ "name": "ipprefix01",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "ipPrefix": "40.85.154.247/30",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipTags": []
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ },
+ {
+ "name": "pfx",
+ "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/publicIPPrefixes/pfx",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/publicIPPrefixes",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "ipPrefix": "25.101.84.16/30",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipTags": [],
+ "loadBalancerFrontendIpConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/loadBalancers/lb-pfx/frontendIPConfigurations/ipconfig1"
+ }
+ },
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixUpdateTags.json
new file mode 100644
index 000000000000..baa3ab12766d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/PublicIpPrefixUpdateTags.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "ipPrefix": "40.85.154.247/30",
+ "prefixLength": 30,
+ "ipTags": []
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterCreate.json
new file mode 100644
index 000000000000..6e8af9b45f76
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterCreate.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/Microsoft.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsoft.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/Microsoft.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsoft.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-07-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterDelete.json
new file mode 100644
index 000000000000..af9b398d2ef9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterGet.json
new file mode 100644
index 000000000000..f9540aa8405a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsoft.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-07-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterList.json
new file mode 100644
index 000000000000..ede7807eed21
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsoft.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-07-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterListByResourceGroup.json
new file mode 100644
index 000000000000..4080f4951d9c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterListByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsoft.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-07-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterRuleCreate.json
new file mode 100644
index 000000000000..9435b7e351d2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterRuleCreate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "routeFilterRuleParameters": {
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/Microsoft.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/2019-07-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterRuleDelete.json
new file mode 100644
index 000000000000..ccf5f262af09
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterRuleGet.json
new file mode 100644
index 000000000000..18c29605d239
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterRuleGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "ruleName": "filterName",
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-07-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterRuleListByRouteFilter.json
new file mode 100644
index 000000000000..98f62f92cc76
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterRuleListByRouteFilter.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "routeFilterName": "filterName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-07-01/examples/RouteFilterRuleUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterRuleUpdate.json
new file mode 100644
index 000000000000..4e88958a2dd2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterRuleUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "routeFilterRuleParameters": {
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-07-01/examples/RouteFilterUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterUpdate.json
new file mode 100644
index 000000000000..09f48217a8cc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteFilterUpdate.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/Microsoft.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsoft.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-07-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableCreate.json
new file mode 100644
index 000000000000..63e26e3ea5a8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableCreateWithRoute.json
new file mode 100644
index 000000000000..94e94efcdbba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableCreateWithRoute.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableDelete.json
new file mode 100644
index 000000000000..065b71248faa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableGet.json
new file mode 100644
index 000000000000..8327ed1e46b5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableList.json
new file mode 100644
index 000000000000..1ce7582097fe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableListAll.json
new file mode 100644
index 000000000000..0cda0516852c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableListAll.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableRouteCreate.json
new file mode 100644
index 000000000000..a50e1eaff4b0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableRouteCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableRouteDelete.json
new file mode 100644
index 000000000000..d16664860f78
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableRouteDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt",
+ "routeName": "route1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableRouteGet.json
new file mode 100644
index 000000000000..00f7b93dd96f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableRouteGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableRouteList.json
new file mode 100644
index 000000000000..fe7e24ec1e61
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableRouteList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableUpdateTags.json
new file mode 100644
index 000000000000..cafb15f99050
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/RouteTableUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceCommunityList.json
new file mode 100644
index 000000000000..b56ff196a5f8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceCommunityList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Network/bgpServiceCommunities/skype",
+ "name": "skype",
+ "type": "Microsoft.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/Microsoft.Network/bgpServiceCommunities/exchange",
+ "name": "exchange",
+ "type": "Microsoft.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/2019-07-01/examples/ServiceEndpointPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyCreate.json
new file mode 100644
index 000000000000..742467c37b4a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyCreate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testPolicy",
+ "parameters": {
+ "location": "westus"
+ }
+ },
+ "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/2019-07-01/examples/ServiceEndpointPolicyCreateWithDefinition.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyCreateWithDefinition.json
new file mode 100644
index 000000000000..af24c9ba2341
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyCreateWithDefinition.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testPolicy",
+ "parameters": {
+ "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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "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/2019-07-01/examples/ServiceEndpointPolicyDefinitionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyDefinitionCreate.json
new file mode 100644
index 000000000000..59a40b9a263f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyDefinitionCreate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ServiceEndpointPolicyDefinitionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyDefinitionDelete.json
new file mode 100644
index 000000000000..dd8083c96faf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyDefinitionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testPolicy",
+ "serviceEndpointPolicyDefinitionName": "testDefinition"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyDefinitionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyDefinitionGet.json
new file mode 100644
index 000000000000..55ae78521977
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyDefinitionGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ServiceEndpointPolicyDefinitionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyDefinitionList.json
new file mode 100644
index 000000000000..afb1f8926b40
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyDefinitionList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ServiceEndpointPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyDelete.json
new file mode 100644
index 000000000000..8d9ffb6bd5e0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "serviceEndpointPolicy1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyGet.json
new file mode 100644
index 000000000000..7ea9f305eb8f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ServiceEndpointPolicyList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyList.json
new file mode 100644
index 000000000000..4bc9ce276afc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyList.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ServiceEndpointPolicyListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyListAll.json
new file mode 100644
index 000000000000..5e554614a4a3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyListAll.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ServiceEndpointPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyUpdateTags.json
new file mode 100644
index 000000000000..07340b129336
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceEndpointPolicyUpdateTags.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/ServiceTagsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceTagsList.json
new file mode 100644
index 000000000000..100971d617d4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/ServiceTagsList.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "location": "westcentralus",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "public",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/serviceTags/public",
+ "type": "Microsoft.Network/serviceTags",
+ "changeNumber": "63",
+ "cloud": "Public",
+ "values": [
+ {
+ "name": "ApiManagement",
+ "id": "ApiManagement",
+ "properties": {
+ "changeNumber": "7",
+ "region": "",
+ "systemService": "AzureApiManagement",
+ "addressPrefixes": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ]
+ }
+ },
+ {
+ "name": "ApiManagement.AustraliaCentral",
+ "id": "ApiManagement.AustraliaCentral",
+ "properties": {
+ "changeNumber": "2",
+ "region": "australiacentral",
+ "systemService": "AzureApiManagement",
+ "addressPrefixes": [
+ "20.36.106.68/31",
+ "20.36.107.176/28"
+ ]
+ }
+ },
+ {
+ "name": "AppService",
+ "id": "AppService",
+ "properties": {
+ "changeNumber": "13",
+ "region": "",
+ "systemService": "AzureAppService",
+ "addressPrefixes": [
+ "13.64.73.110/32",
+ "191.235.208.12/32",
+ "191.235.215.184/32"
+ ]
+ }
+ },
+ {
+ "name": "ServiceBus",
+ "id": "ServiceBus",
+ "properties": {
+ "changeNumber": "10",
+ "region": "",
+ "systemService": "AzureServiceBus",
+ "addressPrefixes": [
+ "23.98.82.96/29",
+ "40.68.127.68/32",
+ "40.70.146.64/29"
+ ]
+ }
+ },
+ {
+ "name": "ServiceBus.EastUS2",
+ "id": "ServiceBus.EastUS2",
+ "properties": {
+ "changeNumber": "1",
+ "region": "eastus2",
+ "systemService": "AzureServiceBus",
+ "addressPrefixes": [
+ "13.68.110.36/32",
+ "40.70.146.64/29"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetCreate.json
new file mode 100644
index 000000000000..d6c532f83da9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetCreate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-07-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/2019-07-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetCreateServiceEndpoint.json
new file mode 100644
index 000000000000..c89b30f3da3d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetCreateServiceEndpoint.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-07-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/2019-07-01/examples/SubnetCreateWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetCreateWithDelegation.json
new file mode 100644
index 000000000000..a9cb0e1f536a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetCreateWithDelegation.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-07-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/2019-07-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetDelete.json
new file mode 100644
index 000000000000..d410fc4e21fc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetGet.json
new file mode 100644
index 000000000000..588d884a3463
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-07-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/2019-07-01/examples/SubnetGetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetGetWithDelegation.json
new file mode 100644
index 000000000000..77c79d4759fa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetGetWithDelegation.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-07-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/2019-07-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetList.json
new file mode 100644
index 000000000000..7dc3719db1a8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-07-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/2019-07-01/examples/SubnetPrepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetPrepareNetworkPolicies.json
new file mode 100644
index 000000000000..81c586291d7e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetPrepareNetworkPolicies.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/SubnetUnprepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetUnprepareNetworkPolicies.json
new file mode 100644
index 000000000000..9fb8aef51b98
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/SubnetUnprepareNetworkPolicies.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet",
+ "subnetName": "subnet1",
+ "unprepareNetworkPoliciesRequestParameters": {
+ "serviceName": "Microsoft.Sql/managedInstances"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/UsageList.json
new file mode 100644
index 000000000000..ac0a244bc87e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/UsageList.json
@@ -0,0 +1,265 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2019-07-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/2019-07-01/examples/UsageListSpacedLocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/UsageListSpacedLocation.json
new file mode 100644
index 000000000000..e633544235b3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/UsageListSpacedLocation.json
@@ -0,0 +1,335 @@
+{
+ "parameters": {
+ "location": "West US",
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualHubDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubDelete.json
new file mode 100644
index 000000000000..02fd8e81b297
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubGet.json
new file mode 100644
index 000000000000..3b1c89bcc8ea
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubList.json
new file mode 100644
index 000000000000..af9a866fa90e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/Microsoft.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/SpokeVnet2"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ],
+ "addressPrefix": "210.10.1.0/24"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubListByResourceGroup.json
new file mode 100644
index 000000000000..ae98c411b74d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubListByResourceGroup.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/Microsoft.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/SpokeVnet2"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ],
+ "addressPrefix": "210.10.1.0/24"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubPut.json
new file mode 100644
index 000000000000..0730f09e8abb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubPut.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub2",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualHubUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubUpdateTags.json
new file mode 100644
index 000000000000..72ade7683e62
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualHubUpdateTags.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub2",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCheckIPAddressAvailability.json
new file mode 100644
index 000000000000..2f3052fbaffb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCheckIPAddressAvailability.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCreate.json
new file mode 100644
index 000000000000..fdb5e7c68f11
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
new file mode 100644
index 000000000000..488fd35b6e71
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ }
+ ],
+ "serviceEndpointPolicies": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "location": "eastus2euap"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "vnet1",
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "eastus2euap",
+ "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": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "vnet1",
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "eastus2euap",
+ "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": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCreateServiceEndpoints.json
new file mode 100644
index 000000000000..6bfe80e65e26
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCreateSubnet.json
new file mode 100644
index 000000000000..6c64db95f38f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCreateSubnet.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
new file mode 100644
index 000000000000..f3131933b581
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
new file mode 100644
index 000000000000..e664398d8a8d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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.Sql/managedInstances"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "location": "westcentralus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-vnet",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westcentralus",
+ "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.Sql/managedInstances",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ ],
+ "virtualNetworkPeerings": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-vnet",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westcentralus",
+ "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.Sql/managedInstances",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ ],
+ "virtualNetworkPeerings": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkDelete.json
new file mode 100644
index 000000000000..b7efb1c321d9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionCreate.json
new file mode 100644
index 000000000000..77c6043f1351
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionCreate.json
@@ -0,0 +1,132 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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",
+ "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
+ }
+ },
+ "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"
+ },
+ "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": [],
+ "trafficSelectorPolicies": []
+ },
+ "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/2019-07-01/examples/VirtualNetworkGatewayConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionDelete.json
new file mode 100644
index 000000000000..27127cbbf464
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "conn1"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionGet.json
new file mode 100644
index 000000000000..8b0a38a82fa6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": [],
+ "trafficSelectorPolicies": [],
+ "connectionStatus": "Connecting",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json
new file mode 100644
index 000000000000..97908a4cabfb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "connS2S"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "AzureAbc123"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json
new file mode 100644
index 000000000000..02970922bd9a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json
new file mode 100644
index 000000000000..9083feadf090
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json
new file mode 100644
index 000000000000..1d4b60431577
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "vpngwcn1"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json
new file mode 100644
index 000000000000..42b7b23f7656
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "vpngwcn1",
+ "parameters": {
+ "filterData": "{'TracingFlags': 11,'MaxPacketBufferSize': 120,'MaxFileSize': 200,'Filters': [{'SourceSubnets': ['20.1.1.0/24'],'DestinationSubnets': ['10.1.1.0/24'],'SourcePort': [500],'DestinationPort': [4500],'Protocol': null,'IpSubnetValueAsAny': true,'TcpFlags': 16,'PortValueAsAny': true}]}"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json
new file mode 100644
index 000000000000..cc3515877631
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "vpngwcn1",
+ "parameters": {
+ "sasUrl": "https://teststorage.blob.core.windows.net/?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-09-13T07:44:05Z&st=2019-09-06T23:44:05Z&spr=https&sig=V1h9D1riltvZMI69d6ihENnFo%2FrCvTqGgjO2lf%2FVBhE%3D"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
new file mode 100644
index 000000000000..11d3547ee86c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "test",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "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": [],
+ "trafficSelectorPolicies": [],
+ "connectionStatus": "Unknown",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionsList.json
new file mode 100644
index 000000000000..b3f19826574b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayConnectionsList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": [],
+ "trafficSelectorPolicies": [],
+ "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": [],
+ "trafficSelectorPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayDelete.json
new file mode 100644
index 000000000000..8523730364e4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json
new file mode 100644
index 000000000000..ff9fdd2272d8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json
new file mode 100644
index 000000000000..bc95fa2ed898
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {}
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGet.json
new file mode 100644
index 000000000000..14c80c90dc0d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGet.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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",
+ "vpnGatewayGeneration": "None",
+ "enableBgp": false,
+ "activeActive": false,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [
+ "OpenVPN"
+ ],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": [],
+ "aadTenant": "https://login.microsoftonline.com/99163270-c9ab-4279-bb12-5353ed9bf6e1",
+ "aadAudience": "fd11706c-e78c-4828-8be7-ac7dcefd4b17",
+ "aadIssuer": "https://sts.windows.net/99163270-c9ab-4279-bb12-5353ed9bf6e1/"
+ },
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json
new file mode 100644
index 000000000000..e0a9444285fe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "peer": "test"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json
new file mode 100644
index 000000000000..23e596a1e32b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json
new file mode 100644
index 000000000000..2ce99b4cc280
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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/2019-07-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json
new file mode 100644
index 000000000000..c949baf0f5d7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json
new file mode 100644
index 000000000000..c48e30246f0d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "resourceGroupName": "p2s-vnet-test",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "virtualNetworkGatewayName": "vpnp2sgw"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "vpnConnectionId": "IKEv2_1e1cfe59-5c7c-4315-a876-b11fbfdfeed4",
+ "vpnConnectionDuration": 900,
+ "vpnConnectionTime": "2019-05-02T22:26:22",
+ "publicIpAddress": "167.220.2.232:45522",
+ "privateIpAddress": "192.168.210.2",
+ "vpnUserName": "gwp2schildcert",
+ "maxBandwidth": 240000000,
+ "egressPacketsTransferred": 557,
+ "egressBytesTransferred": 33420,
+ "ingressPacketsTransferred": 557,
+ "ingressBytesTransferred": 33420,
+ "maxPacketsPerSecond": 4
+ },
+ {
+ "vpnConnectionId": "IKEv2_571cfe59-2c7d-1415-e813-c51fbfdfea16",
+ "vpnConnectionDuration": 800,
+ "vpnConnectionTime": "2019-05-01T21:06:12",
+ "publicIpAddress": "167.220.2.232:45213",
+ "privateIpAddress": "192.168.210.1",
+ "vpnUserName": "gwp2schildcert",
+ "maxBandwidth": 220000000,
+ "egressPacketsTransferred": 357,
+ "egressBytesTransferred": 23420,
+ "ingressPacketsTransferred": 357,
+ "ingressBytesTransferred": 23420,
+ "maxPacketsPerSecond": 4
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayLearnedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayLearnedRoutes.json
new file mode 100644
index 000000000000..23e596a1e32b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayLearnedRoutes.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayList.json
new file mode 100644
index 000000000000..1a1af2a979e0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayList.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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",
+ "vpnGatewayGeneration": "None",
+ "enableBgp": false,
+ "activeActive": false,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": []
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.0.14",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ },
+ {
+ "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",
+ "vpnGatewayGeneration": "None",
+ "enableBgp": false,
+ "activeActive": false,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [
+ "OpenVPN"
+ ],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": [],
+ "aadTenant": "https://login.microsoftonline.com/99163270-c9ab-4279-bb12-5353ed9bf6e1",
+ "aadAudience": "fd11706c-e78c-4828-8be7-ac7dcefd4b17",
+ "aadIssuer": "https://sts.windows.net/99163270-c9ab-4279-bb12-5353ed9bf6e1/"
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.1.0.46",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayReset.json
new file mode 100644
index 000000000000..b305855e1b32
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayReset.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json
new file mode 100644
index 000000000000..6b06722949ff
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json
new file mode 100644
index 000000000000..fde18721490a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayStartPacketCapture.json
new file mode 100644
index 000000000000..092dabb8d803
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayStartPacketCapture.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json
new file mode 100644
index 000000000000..15dd5c0d7723
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {
+ "filterData": "{'TracingFlags': 11,'MaxPacketBufferSize': 120,'MaxFileSize': 200,'Filters': [{'SourceSubnets': ['20.1.1.0/24'],'DestinationSubnets': ['10.1.1.0/24'],'SourcePort': [500],'DestinationPort': [4500],'Protocol': null,'IpSubnetValueAsAny': true,'TcpFlags': 16,'PortValueAsAny': true}]}"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayStopPacketCapture.json
new file mode 100644
index 000000000000..57cae98293f0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayStopPacketCapture.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {
+ "sasUrl": "https://teststorage.blob.core.windows.net/?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-09-13T07:44:05Z&st=2019-09-06T23:44:05Z&spr=https&sig=V1h9D1riltvZMI69d6ihENnFo%2FrCvTqGgjO2lf%2FVBhE%3D"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json
new file mode 100644
index 000000000000..49fd01d71e68
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayUpdate.json
new file mode 100644
index 000000000000..86251ff1f4bb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayUpdate.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ },
+ "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",
+ "vpnGatewayGeneration": "None",
+ "enableBgp": false,
+ "activeActive": false,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [
+ "OpenVPN"
+ ],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": [],
+ "aadTenant": "",
+ "aadAudience": "",
+ "aadIssuer": ""
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ }
+ },
+ "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": [
+ "OpenVPN"
+ ],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": [],
+ "aadTenant": "https://login.microsoftonline.com/99163270-c9ab-4279-bb12-5353ed9bf6e1",
+ "aadAudience": "fd11706c-e78c-4828-8be7-ac7dcefd4b17",
+ "aadIssuer": "https://sts.windows.net/99163270-c9ab-4279-bb12-5353ed9bf6e1/"
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..cba67432e8fd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayUpdateTags.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "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",
+ "vpnGatewayGeneration": "None",
+ "enableBgp": false,
+ "activeActive": false,
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.0.254",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json
new file mode 100644
index 000000000000..8cccbd3e9b90
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewaysListConnections.json
new file mode 100644
index 000000000000..b2f74bb5a302
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGatewaysListConnections.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "virtualNetworkGatewayName": "test-vpn-gateway-1",
+ "api-version": "2019-07-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": [],
+ "trafficSelectorPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGet.json
new file mode 100644
index 000000000000..880bd0e40781
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkGetResourceNavigationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGetResourceNavigationLinks.json
new file mode 100644
index 000000000000..e49778268df3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGetResourceNavigationLinks.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "vnet",
+ "subnetName": "subnet"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "redisCache_redis-tester",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet/resourceNavigationLinks/redisCache_redis-tester",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworks/subnets/resourceNavigationLinks",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "linkedResourceType": "Microsoft.Cache/redis",
+ "link": "/subscriptions/subid/resourceGroups/another-rg/providers/Microsoft.Cache/Redis/redis-tester"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGetServiceAssociationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGetServiceAssociationLinks.json
new file mode 100644
index 000000000000..97007c6e9b89
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGetServiceAssociationLinks.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "vnet",
+ "subnetName": "subnet"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "acisal",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet/serviceAssociationLinks/acisal",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "linkedResourceType": "Microsoft.ContainerInstance/containerGroups",
+ "allowDelete": true,
+ "locations": [
+ "westus"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGetWithServiceAssociationLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGetWithServiceAssociationLink.json
new file mode 100644
index 000000000000..60a3efdbdba1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGetWithServiceAssociationLink.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGetWithSubnetDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGetWithSubnetDelegation.json
new file mode 100644
index 000000000000..db03fdb13449
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkGetWithSubnetDelegation.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkList.json
new file mode 100644
index 000000000000..c0c0368d044d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkList.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkListAll.json
new file mode 100644
index 000000000000..d127d8574c4d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkListAll.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkListUsage.json
new file mode 100644
index 000000000000..78d0b6e785ee
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkListUsage.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkPeeringCreate.json
new file mode 100644
index 000000000000..38becc2d847d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkPeeringCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkPeeringDelete.json
new file mode 100644
index 000000000000..3f0d36f08972
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkPeeringGet.json
new file mode 100644
index 000000000000..a98f899ec2c4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkPeeringGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkPeeringList.json
new file mode 100644
index 000000000000..751ddb5bc49b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkPeeringList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkTapCreate.json
new file mode 100644
index 000000000000..21d3e9559d24
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkTapCreate.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkTapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkTapDelete.json
new file mode 100644
index 000000000000..5ab49837d1a9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkTapDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "tapName": "test-vtap"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkTapGet.json
new file mode 100644
index 000000000000..db5f13cb14a2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkTapGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkTapList.json
new file mode 100644
index 000000000000..44291b21830f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkTapList.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkTapListAll.json
new file mode 100644
index 000000000000..ec03e3e3f5bf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkTapListAll.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkTapUpdateTags.json
new file mode 100644
index 000000000000..15f0f4fb9355
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkTapUpdateTags.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkUpdateTags.json
new file mode 100644
index 000000000000..7011c40a14b4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualNetworkUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualRouterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterDelete.json
new file mode 100644
index 000000000000..23e78298227a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterGet.json
new file mode 100644
index 000000000000..3ac8de4bd739
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "virtualRouter",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter",
+ "type": "Microsoft.Network/virtualRouters",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualRouterAsn": 10000,
+ "virtualRouterIps": [
+ "192.168.1.1",
+ "192.168.1.2"
+ ],
+ "hostedGateway": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway"
+ },
+ "peerings": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListByResourceGroup.json
new file mode 100644
index 000000000000..182d80e630e8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListByResourceGroup.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "virtualRouter",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter",
+ "type": "Microsoft.Network/virtualRouters",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualRouterAsn": 10000,
+ "virtualRouterIps": [
+ "192.168.1.1",
+ "192.168.1.2"
+ ],
+ "hostedGateway": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway"
+ },
+ "peerings": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListBySubscription.json
new file mode 100644
index 000000000000..aeecd3254c45
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListBySubscription.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "virtualRouter",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter",
+ "type": "Microsoft.Network/virtualRouters",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualRouterAsn": 10000,
+ "virtualRouterIps": [
+ "192.168.1.1",
+ "192.168.1.2"
+ ],
+ "hostedGateway": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway"
+ },
+ "peerings": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringDelete.json
new file mode 100644
index 000000000000..c647f22e8fbc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "peeringName": "peering1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringGet.json
new file mode 100644
index 000000000000..8364fb9aa104
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "peeringName": "peering1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "peering1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringList.json
new file mode 100644
index 000000000000..5717bc4d05f5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "peering1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringPut.json
new file mode 100644
index 000000000000..6fb8ada376a3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringPut.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "peeringName": "peering1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter",
+ "parameters": {
+ "properties": {
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "peering1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "peering1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringUpdate.json
new file mode 100644
index 000000000000..f15b708a8e41
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringUpdate.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter",
+ "peeringName": "peering1",
+ "parameters": {
+ "properties": {
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "peering1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPut.json
new file mode 100644
index 000000000000..17be7b0229a3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPut.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter",
+ "parameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "properties": {
+ "hostedGateway": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "virtualRouter",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter",
+ "type": "Microsoft.Network/virtualRouters",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualRouterAsn": 10000,
+ "virtualRouterIps": [
+ "192.168.1.1",
+ "192.168.1.2"
+ ],
+ "hostedGateway": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway"
+ },
+ "peerings": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "virtualRouter",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter",
+ "type": "Microsoft.Network/virtualRouters",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualRouterAsn": 10000,
+ "virtualRouterIps": [
+ "192.168.1.1",
+ "192.168.1.2"
+ ],
+ "hostedGateway": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway"
+ },
+ "peerings": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterUpdateTags.json
new file mode 100644
index 000000000000..daa2cb779d40
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter",
+ "parameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "virtualRouter",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter",
+ "type": "Microsoft.Network/virtualRouters",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANDelete.json
new file mode 100644
index 000000000000..d972771a9a81
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "VirtualWANName": "virtualWan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANGet.json
new file mode 100644
index 000000000000..946a3c77df9c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualWANList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANList.json
new file mode 100644
index 000000000000..351254ae63ed
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualWANListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANListByResourceGroup.json
new file mode 100644
index 000000000000..da9d8e8c2096
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANListByResourceGroup.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualWANPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANPut.json
new file mode 100644
index 000000000000..a10c3cd9e418
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANPut.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualWANUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANUpdateTags.json
new file mode 100644
index 000000000000..13a807c899e5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWANUpdateTags.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/2019-07-01/examples/VirtualWanSupportedSecurityProviders.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWanSupportedSecurityProviders.json
new file mode 100644
index 000000000000..a7c65be9bb5d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualWanSupportedSecurityProviders.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/2019-07-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssNetworkInterfaceGet.json
new file mode 100644
index 000000000000..146f80e3d7f4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssNetworkInterfaceGet.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "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/2019-07-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssNetworkInterfaceIpConfigGet.json
new file mode 100644
index 000000000000..5b7c23b7b56b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssNetworkInterfaceIpConfigGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "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/2019-07-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssNetworkInterfaceIpConfigList.json
new file mode 100644
index 000000000000..e14de4e82a72
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssNetworkInterfaceIpConfigList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "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/2019-07-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssNetworkInterfaceList.json
new file mode 100644
index 000000000000..0ec937148391
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssNetworkInterfaceList.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "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/2019-07-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssPublicIpGet.json
new file mode 100644
index 000000000000..229c15712a0d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssPublicIpGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "virtualMachineScaleSetName": "vmss1",
+ "resourceGroupName": "vmss-tester",
+ "api-version": "2018-10-01",
+ "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/2019-07-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssPublicIpListAll.json
new file mode 100644
index 000000000000..605e0b831869
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssPublicIpListAll.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "virtualMachineScaleSetName": "vmss1",
+ "resourceGroupName": "vmss-tester",
+ "api-version": "2018-10-01",
+ "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/2019-07-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssVmNetworkInterfaceList.json
new file mode 100644
index 000000000000..e4f1cbf14ebf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssVmNetworkInterfaceList.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "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/2019-07-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssVmPublicIpList.json
new file mode 100644
index 000000000000..d21f5d40ed03
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VmssVmPublicIpList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "virtualMachineScaleSetName": "vmss1",
+ "resourceGroupName": "vmss-tester",
+ "api-version": "2018-10-01",
+ "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/2019-07-01/examples/VpnConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnConnectionDelete.json
new file mode 100644
index 000000000000..a9f73ee0aa3f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "connectionName": "vpnConnection1",
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnConnectionGet.json
new file mode 100644
index 000000000000..84df4e0e6e2e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnConnectionGet.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "connectionName": "vpnConnection1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ },
+ {
+ "name": "Connection-Link2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnConnectionList.json
new file mode 100644
index 000000000000..092430d3d5c6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnConnectionList.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "api-version": "2019-07-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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ },
+ {
+ "name": "Connection-Link2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnConnectionPut.json
new file mode 100644
index 000000000000..26d388971806
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnConnectionPut.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "connectionName": "vpnConnection1",
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "VpnConnectionParameters": {
+ "properties": {
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "properties": {
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayDelete.json
new file mode 100644
index 000000000000..9dbe278dd22c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayGet.json
new file mode 100644
index 000000000000..01ffb039e099
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayGet.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ },
+ {
+ "name": "Connection-Link2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayList.json
new file mode 100644
index 000000000000..8861a1bb6dda
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayList.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ },
+ {
+ "name": "Connection-Link2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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,
+ "useLocalAzureIpAddress": false,
+ "ipsecPolicies": []
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..8861a1bb6dda
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayListByResourceGroup.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ },
+ {
+ "name": "Connection-Link2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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,
+ "useLocalAzureIpAddress": false,
+ "ipsecPolicies": []
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayPut.json
new file mode 100644
index 000000000000..61ec985a27ee
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayPut.json
@@ -0,0 +1,170 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "vpnGatewayParameters": {
+ "location": "westcentralus",
+ "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"
+ },
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "properties": {
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key"
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "peerWeight": 0
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ },
+ "201": {
+ "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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayReset.json
new file mode 100644
index 000000000000..4f19e1d13a9e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayReset.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "gatewayName": "vpngw",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw",
+ "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/vpngw/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,
+ "useLocalAzureIpAddress": false,
+ "ipsecPolicies": []
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayUpdateTags.json
new file mode 100644
index 000000000000..cddd1787724d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnGatewayUpdateTags.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "vpnGatewayParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "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",
+ "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,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": []
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ },
+ "201": {
+ "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",
+ "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,
+ "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/2019-07-01/examples/VpnSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteDelete.json
new file mode 100644
index 000000000000..91c4173e4418
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteGet.json
new file mode 100644
index 000000000000..8d623220a7f8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1"
+ },
+ "deviceProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "isSecuritySite": false,
+ "vpnSiteLinks": [
+ {
+ "name": "vpnSiteLink1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkProviderName": "vendor1",
+ "linkSpeedInMbps": 0
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteLinkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteLinkConnectionGet.json
new file mode 100644
index 000000000000..5f7f39765268
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteLinkConnectionGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "connectionName": "vpnConnection1",
+ "linkConnectionName": "Connection-Link1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteLinkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteLinkConnectionList.json
new file mode 100644
index 000000000000..b6ef1b1dc934
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteLinkConnectionList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "api-version": "2019-07-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "connectionName": "vpnConnection1"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteLinkGet.json
new file mode 100644
index 000000000000..59d7bf703e04
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteLinkGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "vpnSiteLinkName": "vpnSiteLink1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "vpnSiteLink1",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteLinkListByVpnSite.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteLinkListByVpnSite.json
new file mode 100644
index 000000000000..64e3d06e2c70
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteLinkListByVpnSite.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "vpnSiteName": "vpnSite1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "vpnSiteLink1",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkSpeedInMbps": 200
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ },
+ {
+ "name": "vpnSiteLink2",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink2",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "40.40.40.46",
+ "linkProperties": {
+ "linkSpeedInMbps": 200
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.1",
+ "asn": 1234
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteList.json
new file mode 100644
index 000000000000..9729cf0e7421
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteList.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1"
+ },
+ "deviceProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "isSecuritySite": false,
+ "vpnSiteLinks": [
+ {
+ "name": "vpnSiteLink1",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "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
+ },
+ "isSecuritySite": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteListByResourceGroup.json
new file mode 100644
index 000000000000..ec5dd145a739
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteListByResourceGroup.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-07-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": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1"
+ },
+ "deviceProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "isSecuritySite": false,
+ "vpnSiteLinks": [
+ {
+ "name": "vpnSiteLink1",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "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/2019-07-01/examples/VpnSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSitePut.json
new file mode 100644
index 000000000000..dcfcb160a565
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSitePut.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "VpnSiteParameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "properties": {
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1"
+ },
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "isSecuritySite": false,
+ "vpnSiteLinks": [
+ {
+ "name": "vpnSiteLink1",
+ "properties": {
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkProviderName": "vendor1",
+ "linkSpeedInMbps": 0
+ },
+ "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": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1"
+ },
+ "deviceProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "isSecuritySite": false,
+ "vpnSiteLinks": [
+ {
+ "name": "vpnSiteLink1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkProviderName": "vendor1",
+ "linkSpeedInMbps": 0
+ },
+ "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": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1"
+ },
+ "deviceProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "isSecuritySite": false,
+ "vpnSiteLinks": [
+ {
+ "name": "vpnSiteLink1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkProviderName": "vendor1",
+ "linkSpeedInMbps": 0
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteUpdateTags.json
new file mode 100644
index 000000000000..381aca20d790
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSiteUpdateTags.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/2019-07-01/examples/VpnSitesConfigurationDownload.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSitesConfigurationDownload.json
new file mode 100644
index 000000000000..5b581eabc4f9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VpnSitesConfigurationDownload.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-07-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/2019-07-01/examples/WafListAllPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafListAllPolicies.json
new file mode 100644
index 000000000000..a9efae6a48ef
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafListAllPolicies.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention"
+ },
+ "customRules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24"
+ ]
+ },
+ {
+ "matchVariables": [
+ {
+ "variableName": "RequestHeader",
+ "selector": "UserAgent"
+ }
+ ],
+ "operator": "Contains",
+ "negationConditon": false,
+ "matchValues": [
+ "Windows"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafListPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafListPolicies.json
new file mode 100644
index 000000000000..434db47f32fe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafListPolicies.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention"
+ },
+ "customRules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24"
+ ]
+ },
+ {
+ "matchVariables": [
+ {
+ "variableName": "RequestHeader",
+ "selector": "UserAgent"
+ }
+ ],
+ "operator": "Contains",
+ "negationConditon": false,
+ "matchValues": [
+ "Windows"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafPolicyCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafPolicyCreateOrUpdate.json
new file mode 100644
index 000000000000..61db2ef7a6f3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafPolicyCreateOrUpdate.json
@@ -0,0 +1,228 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "Policy1",
+ "parameters": {
+ "location": "WestUs",
+ "properties": {
+ "customRules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "ruleType": "MatchRule",
+ "action": "Block",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "matchValues": [
+ "192.168.1.0/24"
+ ]
+ },
+ {
+ "matchVariables": [
+ {
+ "variableName": "RequestHeaders",
+ "selector": "UserAgent"
+ }
+ ],
+ "operator": "Contains",
+ "matchValues": [
+ "Windows"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention"
+ },
+ "customRules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24"
+ ]
+ },
+ {
+ "matchVariables": [
+ {
+ "variableName": "RequestHeader",
+ "selector": "UserAgent"
+ }
+ ],
+ "operator": "Contains",
+ "negationConditon": false,
+ "matchValues": [
+ "Windows"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention"
+ },
+ "customRules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24"
+ ]
+ },
+ {
+ "matchVariables": [
+ {
+ "variableName": "RequestHeader",
+ "selector": "UserAgent"
+ }
+ ],
+ "operator": "Contains",
+ "negationConditon": false,
+ "matchValues": [
+ "Windows"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafPolicyDelete.json
new file mode 100644
index 000000000000..23131df9ac44
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "Policy1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafPolicyGet.json
new file mode 100644
index 000000000000..4c0eb1a31132
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/WafPolicyGet.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "Policy1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention"
+ },
+ "customRules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24"
+ ]
+ },
+ {
+ "matchVariables": [
+ {
+ "variableName": "RequestHeader",
+ "selector": "UserAgent"
+ }
+ ],
+ "operator": "Contains",
+ "negationConditon": false,
+ "matchValues": [
+ "Windows"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRouteCircuit.json
new file mode 100644
index 000000000000..008fb9709c39
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRouteCircuit.json
@@ -0,0 +1,2328 @@
+{
+ "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": "2019-07-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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}/peerings/{peeringName}/peerConnections/{connectionName}": {
+ "get": {
+ "tags": [
+ "PeerExpressRouteCircuitConnections"
+ ],
+ "operationId": "PeerExpressRouteCircuitConnections_Get",
+ "description": "Gets the specified Peer 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 peer express route circuit connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Peer Express Route Circuit Connection resource.",
+ "schema": {
+ "$ref": "#/definitions/PeerExpressRouteCircuitConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PeerExpressRouteCircuitConnectionGet": {
+ "$ref": "./examples/PeerExpressRouteCircuitConnectionGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections": {
+ "get": {
+ "tags": [
+ "PeerExpressRouteCircuitConnections"
+ ],
+ "operationId": "PeerExpressRouteCircuitConnections_List",
+ "description": "Gets all global reach peer 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 PeerExpressRouteCircuitConnections resources.",
+ "schema": {
+ "$ref": "#/definitions/PeerExpressRouteCircuitConnectionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Peer ExpressRouteCircuit Connection": {
+ "$ref": "./examples/PeerExpressRouteCircuitConnectionList.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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create ExpressRouteCircuit": {
+ "$ref": "./examples/ExpressRouteCircuitCreate.json"
+ },
+ "Create ExpressRouteCircuit on ExpressRoutePort": {
+ "$ref": "./examples/ExpressRouteCircuitCreateOnExpressRoutePort.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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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": "The authorization use status.",
+ "enum": [
+ "Available",
+ "InUse"
+ ],
+ "x-ms-enum": {
+ "name": "AuthorizationUseStatus",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the authorization resource."
+ }
+ },
+ "description": "Properties of ExpressRouteCircuitAuthorization."
+ },
+ "ExpressRouteCircuitAuthorization": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AuthorizationPropertiesFormat",
+ "description": "Properties of the express route circuit authorization."
+ },
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "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": "The advertised public prefix state of the Peering resource.",
+ "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": "./network.json#/definitions/SubResource",
+ "description": "The reference of the RouteFilter resource."
+ },
+ "state": {
+ "type": "string",
+ "description": "The state of peering.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitPeeringState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Contains IPv6 peering config."
+ },
+ "ExpressRouteCircuitStats": {
+ "properties": {
+ "primarybytesIn": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The Primary BytesIn of the peering."
+ },
+ "primarybytesOut": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The primary BytesOut of the peering."
+ },
+ "secondarybytesIn": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The secondary BytesIn of the peering."
+ },
+ "secondarybytesOut": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The secondary 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": "The peering stats of express route circuit."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route circuit peering resource."
+ },
+ "gatewayManagerEtag": {
+ "type": "string",
+ "description": "The GatewayManager Etag."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "Who was the last to modify the peering."
+ },
+ "routeFilter": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "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."
+ },
+ "peeredConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeerExpressRouteCircuitConnection"
+ },
+ "readOnly": true,
+ "description": "The list of peered circuit connections associated with Azure Private Peering for this circuit."
+ }
+ },
+ "description": "Properties of the express route circuit peering."
+ },
+ "ExpressRouteCircuitPeering": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringPropertiesFormat",
+ "description": "Properties of the express route circuit 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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "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 peering type.",
+ "enum": [
+ "AzurePublicPeering",
+ "AzurePrivatePeering",
+ "MicrosoftPeering"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRoutePeeringType",
+ "modelAsString": true
+ }
+ },
+ "ExpressRoutePeeringState": {
+ "type": "string",
+ "description": "The state of peering.",
+ "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": {
+ "$ref": "#/definitions/CircuitConnectionStatus",
+ "description": "Express Route Circuit connection state."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route circuit connection resource."
+ }
+ },
+ "description": "Properties of the express route circuit connection."
+ },
+ "ExpressRouteCircuitConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCircuitConnectionPropertiesFormat",
+ "description": "Properties of the express route circuit connection."
+ },
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "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."
+ },
+ "PeerExpressRouteCircuitConnectionPropertiesFormat": {
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to Express Route Circuit Private Peering Resource of the circuit."
+ },
+ "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."
+ },
+ "circuitConnectionStatus": {
+ "$ref": "#/definitions/CircuitConnectionStatus",
+ "description": "Express Route Circuit connection state."
+ },
+ "connectionName": {
+ "type": "string",
+ "description": "The name of the express route circuit connection resource."
+ },
+ "authResourceGuid": {
+ "type": "string",
+ "description": "The resource guid of the authorization used for the express route circuit connection."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the peer express route circuit connection resource."
+ }
+ },
+ "description": "Properties of the peer express route circuit connection."
+ },
+ "PeerExpressRouteCircuitConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PeerExpressRouteCircuitConnectionPropertiesFormat",
+ "description": "Properties of the peer express route circuit connection."
+ },
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource."
+ },
+ "PeerExpressRouteCircuitConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeerExpressRouteCircuitConnection"
+ },
+ "description": "The global reach peer circuit 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 ListPeeredConnections API service call retrieves all global reach peer circuit 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.",
+ "enum": [
+ "Standard",
+ "Premium",
+ "Basic",
+ "Local"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitSkuTier",
+ "modelAsString": true
+ }
+ },
+ "family": {
+ "type": "string",
+ "description": "The family of the SKU.",
+ "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": {
+ "$ref": "#/definitions/ServiceProviderProvisioningState",
+ "description": "The ServiceProviderProvisioningState state of the resource."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route circuit resource."
+ },
+ "gatewayManagerEtag": {
+ "type": "string",
+ "description": "The GatewayManager Etag."
+ },
+ "globalReachEnabled": {
+ "type": "boolean",
+ "description": "Flag denoting Global reach status."
+ }
+ },
+ "description": "Properties of ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuit": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ExpressRouteCircuitSku",
+ "description": "The SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCircuitPropertiesFormat",
+ "description": "Properties of the express route circuit."
+ },
+ "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": "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": "A list of the ARP tables."
+ },
+ "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": "A list of peering locations."
+ },
+ "bandwidthsOffered": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteServiceProviderBandwidthsOffered"
+ },
+ "description": "A list of bandwidths offered."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route service provider resource."
+ }
+ },
+ "description": "Properties of ExpressRouteServiceProvider."
+ },
+ "ExpressRouteServiceProvider": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteServiceProviderPropertiesFormat",
+ "description": "Properties of the express route service provider."
+ }
+ },
+ "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."
+ },
+ "CircuitConnectionStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Express Route Circuit connection state.",
+ "enum": [
+ "Connected",
+ "Connecting",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "CircuitConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "ServiceProviderProvisioningState": {
+ "type": "string",
+ "description": "The ServiceProviderProvisioningState state of the resource.",
+ "enum": [
+ "NotProvisioned",
+ "Provisioning",
+ "Provisioned",
+ "Deprovisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceProviderProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRouteCrossConnection.json
new file mode 100644
index 000000000000..7d9c6ef72dc1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRouteCrossConnection.json
@@ -0,0 +1,934 @@
+{
+ "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": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "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."
+ }
+ },
+ "description": "Reference to an express route circuit."
+ },
+ "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": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ServiceProviderProvisioningState",
+ "description": "The provisioning state of the circuit in the connectivity provider system."
+ },
+ "serviceProviderNotes": {
+ "type": "string",
+ "description": "Additional read only notes set by the connectivity provider."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route cross connection resource."
+ },
+ "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",
+ "description": "Properties of the express route cross connection."
+ },
+ "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": "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route cross connection peering resource."
+ },
+ "gatewayManagerEtag": {
+ "type": "string",
+ "description": "The GatewayManager Etag."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "Who was the last to modify the peering."
+ },
+ "ipv6PeeringConfig": {
+ "$ref": "./expressRouteCircuit.json#/definitions/Ipv6ExpressRouteCircuitPeeringConfig",
+ "description": "The IPv6 peering configuration."
+ }
+ },
+ "description": "Properties of express route cross connection peering."
+ },
+ "ExpressRouteCrossConnectionPeering": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringProperties",
+ "description": "Properties of the express route cross connection 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": {
+ "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/2019-07-01/expressRouteGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRouteGateway.json
new file mode 100644
index 000000000000..06076d54e669
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRouteGateway.json
@@ -0,0 +1,640 @@
+{
+ "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": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route gateway resource."
+ },
+ "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",
+ "description": "Properties of the express route gateway."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route connection resource."
+ },
+ "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",
+ "description": "Properties of the express route connection."
+ },
+ "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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRoutePort.json
new file mode 100644
index 000000000000..7559d21116cd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRoutePort.json
@@ -0,0 +1,809 @@
+{
+ "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": "2019-07-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route port location resource."
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "ExpressRouteLinkMacSecConfig": {
+ "description": "ExpressRouteLink Mac Security Configuration.",
+ "title": "Definition of ExpressRouteLink Mac Security configuration.",
+ "properties": {
+ "cknSecretIdentifier": {
+ "type": "string",
+ "description": "Keyvault Secret Identifier URL containing Mac security CKN key."
+ },
+ "cakSecretIdentifier": {
+ "type": "string",
+ "description": "Keyvault Secret Identifier URL containing Mac security CAK key."
+ },
+ "cipher": {
+ "type": "string",
+ "description": "Mac security cipher.",
+ "enum": [
+ "gcm-aes-128",
+ "gcm-aes-256"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteLinkMacSecCipher",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route link resource."
+ },
+ "macSecConfig": {
+ "$ref": "#/definitions/ExpressRouteLinkMacSecConfig",
+ "description": "MacSec configuration."
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route port resource."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the express route port 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."
+ },
+ "identity": {
+ "$ref": "./network.json#/definitions/ManagedServiceIdentity",
+ "description": "The identity of ExpressRoutePort, if configured."
+ }
+ },
+ "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."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/firewallPolicy.json
new file mode 100644
index 000000000000..80c30f270065
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/firewallPolicy.json
@@ -0,0 +1,985 @@
+{
+ "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": "2019-07-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/firewallPolicies/{firewallPolicyName}": {
+ "delete": {
+ "tags": [
+ "FirewallPolicies"
+ ],
+ "operationId": "FirewallPolicies_Delete",
+ "description": "Deletes the specified Firewall Policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy."
+ },
+ {
+ "$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 Firewall Policy": {
+ "$ref": "./examples/FirewallPolicyDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "FirewallPolicies"
+ ],
+ "operationId": "FirewallPolicies_Get",
+ "description": "Gets the specified Firewall Policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall 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 a Firewall Policy resource.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get FirewallPolicy": {
+ "$ref": "./examples/FirewallPolicyGet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "FirewallPolicies"
+ ],
+ "operationId": "FirewallPolicies_UpdateTags",
+ "x-ms-examples": {
+ "Update FirewallPolicy": {
+ "$ref": "./examples/FirewallPolicyUpdateTags.json"
+ }
+ },
+ "description": "Updates a Firewall Policy Tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the Firewall Policy."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy being updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "firewallPolicyParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to Update Firewall Policy tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the Firewall Policy updated.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicy"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "FirewallPolicies"
+ ],
+ "operationId": "FirewallPolicies_CreateOrUpdate",
+ "description": "Creates or updates the specified Firewall Policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicy"
+ },
+ "description": "Parameters supplied to the create or update Firewall Policy operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request received successfully. The operation returns the resulting FirewallPolicy resource.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicy"
+ }
+ },
+ "200": {
+ "description": "Request successful. The operation returns the resulting FirewallPolicy resource.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create FirewallPolicy": {
+ "$ref": "./examples/FirewallPolicyPut.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies": {
+ "get": {
+ "tags": [
+ "FirewallPolicies"
+ ],
+ "operationId": "FirewallPolicies_List",
+ "description": "Lists all Firewall 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": "Success. The operation returns a list of FirewallPolicy resources.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Firewall Policies for a given resource group": {
+ "$ref": "./examples/FirewallPolicyListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/firewallPolicies": {
+ "get": {
+ "tags": [
+ "FirewallPolicies"
+ ],
+ "operationId": "FirewallPolicies_ListAll",
+ "description": "Gets all the Firewall Policies in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of FirewallPolicy resources.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Firewall Policies for a given subscription": {
+ "$ref": "./examples/FirewallPolicyListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}": {
+ "delete": {
+ "tags": [
+ "FirewallPolicyRuleGroups"
+ ],
+ "operationId": "FirewallPolicyRuleGroups_Delete",
+ "description": "Deletes the specified FirewallPolicyRuleGroup.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy."
+ },
+ {
+ "name": "ruleGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the FirewallPolicyRuleGroup."
+ },
+ {
+ "$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 FirewallPolicyRuleGroup": {
+ "$ref": "./examples/FirewallPolicyRuleGroupDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "FirewallPolicyRuleGroups"
+ ],
+ "operationId": "FirewallPolicyRuleGroups_Get",
+ "description": "Gets the specified FirewallPolicyRuleGroup.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy."
+ },
+ {
+ "name": "ruleGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the FirewallPolicyRuleGroup."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a FirewallPolicyRuleGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyRuleGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get FirewallPolicyRuleGroup": {
+ "$ref": "./examples/FirewallPolicyRuleGroupGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "FirewallPolicyRuleGroups"
+ ],
+ "operationId": "FirewallPolicyRuleGroups_CreateOrUpdate",
+ "description": "Creates or updates the specified FirewallPolicyRuleGroup.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy."
+ },
+ {
+ "name": "ruleGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the FirewallPolicyRuleGroup."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyRuleGroup"
+ },
+ "description": "Parameters supplied to the create or update FirewallPolicyRuleGroup operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request received successfully. The operation returns the resulting FirewallPolicyRuleGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyRuleGroup"
+ }
+ },
+ "200": {
+ "description": "Request successful. The operation returns the resulting FirewallPolicyRuleGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyRuleGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create FirewallPolicyRuleGroup": {
+ "$ref": "./examples/FirewallPolicyRuleGroupPut.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups": {
+ "get": {
+ "tags": [
+ "FirewallPolicyRuleGroups"
+ ],
+ "operationId": "FirewallPolicyRuleGroups_List",
+ "description": "Lists all FirewallPolicyRuleGroups in a FirewallPolicy resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of FirewallPolicyRuleGroup resources.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyRuleGroupListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all FirewallPolicyRuleGroups for a given FirewallPolicy": {
+ "$ref": "./examples/FirewallPolicyRuleGroupList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "FirewallPolicy": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FirewallPolicyPropertiesFormat",
+ "description": "Properties of the firewall policy."
+ },
+ "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": "FirewallPolicy Resource."
+ },
+ "FirewallPolicyPropertiesFormat": {
+ "properties": {
+ "ruleGroups": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of references to FirewallPolicyRuleGroups.",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the firewall policy resource."
+ },
+ "basePolicy": {
+ "readOnly": false,
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The parent firewall policy from which rules are inherited."
+ },
+ "firewalls": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of references to Azure Firewalls that this Firewall Policy is associated with.",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ },
+ "childPolicies": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of references to Child Firewall Policies.",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ },
+ "threatIntelMode": {
+ "description": "The operation mode for Threat Intelligence.",
+ "$ref": "./azureFirewall.json#/definitions/AzureFirewallThreatIntelMode"
+ }
+ },
+ "description": "Firewall Policy definition."
+ },
+ "FirewallPolicyRuleGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FirewallPolicyRuleGroupProperties",
+ "description": "The properties of the firewall policy rule group."
+ },
+ "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": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Rule Group type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Rule Group resource."
+ },
+ "FirewallPolicyRuleGroupProperties": {
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 65000,
+ "exclusiveMaximum": false,
+ "minimum": 100,
+ "exclusiveMinimum": false,
+ "description": "Priority of the Firewall Policy Rule Group resource."
+ },
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallPolicyRule"
+ },
+ "description": "Group of Firewall Policy rules."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the firewall policy rule group resource."
+ }
+ },
+ "description": "Properties of the rule group."
+ },
+ "FirewallPolicyRule": {
+ "description": "Properties of the rule.",
+ "discriminator": "ruleType",
+ "required": [
+ "ruleType"
+ ],
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "description": "The type of the rule.",
+ "enum": [
+ "FirewallPolicyNatRule",
+ "FirewallPolicyFilterRule"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallPolicyRuleType",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the rule."
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 65000,
+ "exclusiveMaximum": false,
+ "minimum": 100,
+ "exclusiveMinimum": false,
+ "description": "Priority of the Firewall Policy Rule resource."
+ }
+ }
+ },
+ "FirewallPolicyNatRule": {
+ "properties": {
+ "action": {
+ "$ref": "#/definitions/FirewallPolicyNatRuleAction",
+ "description": "The action type of a Nat rule."
+ },
+ "translatedAddress": {
+ "type": "string",
+ "description": "The translated address for this NAT rule."
+ },
+ "translatedPort": {
+ "type": "string",
+ "description": "The translated port for this NAT rule."
+ },
+ "ruleCondition": {
+ "$ref": "#/definitions/FirewallPolicyRuleCondition",
+ "description": "The match conditions for incoming traffic."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/FirewallPolicyRule"
+ }
+ ],
+ "x-ms-discriminator-value": "FirewallPolicyNatRule",
+ "description": "Firewall Policy NAT Rule."
+ },
+ "FirewallPolicyFilterRule": {
+ "properties": {
+ "action": {
+ "$ref": "#/definitions/FirewallPolicyFilterRuleAction",
+ "description": "The action type of a Filter rule."
+ },
+ "ruleConditions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallPolicyRuleCondition"
+ },
+ "description": "Collection of rule conditions used by a rule."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/FirewallPolicyRule"
+ }
+ ],
+ "x-ms-discriminator-value": "FirewallPolicyFilterRule",
+ "description": "Firewall Policy Filter Rule."
+ },
+ "FirewallPolicyRuleCondition": {
+ "description": "Properties of a rule.",
+ "discriminator": "ruleConditionType",
+ "required": [
+ "ruleConditionType"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the rule condition."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the rule condition."
+ },
+ "ruleConditionType": {
+ "type": "string",
+ "description": "Rule Condition Type.",
+ "enum": [
+ "ApplicationRuleCondition",
+ "NetworkRuleCondition"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallPolicyRuleConditionType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ApplicationRuleCondition": {
+ "x-ms-discriminator-value": "ApplicationRuleCondition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FirewallPolicyRuleCondition"
+ }
+ ],
+ "properties": {
+ "sourceAddresses": {
+ "type": "array",
+ "description": "List of source IP addresses for this rule.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "destinationAddresses": {
+ "type": "array",
+ "description": "List of destination IP addresses or Service Tags.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "protocols": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallPolicyRuleConditionApplicationProtocol"
+ },
+ "description": "Array of Application Protocols."
+ },
+ "targetFqdns": {
+ "type": "array",
+ "description": "List of FQDNs for this rule condition.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "fqdnTags": {
+ "type": "array",
+ "description": "List of FQDN Tags for this rule condition.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "Rule condition of type application."
+ },
+ "NetworkRuleCondition": {
+ "description": "Rule condition of type network.",
+ "x-ms-discriminator-value": "NetworkRuleCondition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FirewallPolicyRuleCondition"
+ }
+ ],
+ "properties": {
+ "ipProtocols": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallPolicyRuleConditionNetworkProtocol"
+ },
+ "description": "Array of FirewallPolicyRuleConditionNetworkProtocols."
+ },
+ "sourceAddresses": {
+ "type": "array",
+ "description": "List of source IP addresses for this rule.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "destinationAddresses": {
+ "type": "array",
+ "description": "List of destination IP addresses or Service Tags.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "destinationPorts": {
+ "type": "array",
+ "description": "List of destination ports.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "FirewallPolicyRuleConditionApplicationProtocol": {
+ "properties": {
+ "protocolType": {
+ "description": "Protocol type.",
+ "$ref": "#/definitions/FirewallPolicyRuleConditionApplicationProtocolType"
+ },
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "exclusiveMaximum": false,
+ "minimum": 0,
+ "exclusiveMinimum": false,
+ "description": "Port number for the protocol, cannot be greater than 64000."
+ }
+ },
+ "description": "Properties of the application rule protocol."
+ },
+ "FirewallPolicyRuleConditionApplicationProtocolType": {
+ "type": "string",
+ "description": "The application protocol type of a Rule condition.",
+ "enum": [
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallPolicyRuleConditionApplicationProtocolType",
+ "modelAsString": true
+ }
+ },
+ "FirewallPolicyNatRuleActionType": {
+ "type": "string",
+ "description": "The action type of a rule.",
+ "enum": [
+ "DNAT",
+ "SNAT"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallPolicyNatRuleActionType",
+ "modelAsString": true
+ }
+ },
+ "FirewallPolicyNatRuleAction": {
+ "properties": {
+ "type": {
+ "description": "The type of action.",
+ "$ref": "#/definitions/FirewallPolicyNatRuleActionType"
+ }
+ },
+ "description": "Properties of the FirewallPolicyNatRuleAction."
+ },
+ "FirewallPolicyFilterRuleActionType": {
+ "type": "string",
+ "description": "The action type of a rule.",
+ "enum": [
+ "Allow",
+ "Deny",
+ "Alert "
+ ],
+ "x-ms-enum": {
+ "name": "FirewallPolicyFilterRuleActionType",
+ "modelAsString": true
+ }
+ },
+ "FirewallPolicyFilterRuleAction": {
+ "properties": {
+ "type": {
+ "description": "The type of action.",
+ "$ref": "#/definitions/FirewallPolicyFilterRuleActionType"
+ }
+ },
+ "description": "Properties of the FirewallPolicyFilterRuleAction."
+ },
+ "FirewallPolicyRuleConditionNetworkProtocol": {
+ "type": "string",
+ "description": "The Network protocol of a Rule condition.",
+ "enum": [
+ "TCP",
+ "UDP",
+ "Any",
+ "ICMP"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallPolicyRuleConditionNetworkProtocol",
+ "modelAsString": true
+ }
+ },
+ "FirewallPolicyListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallPolicy"
+ },
+ "description": "List of Firewall Policies in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListFirewallPolicies API service call."
+ },
+ "FirewallPolicyRuleGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallPolicyRuleGroup"
+ },
+ "description": "List of FirewallPolicyRuleGroups in a FirewallPolicy."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListFirewallPolicyRuleGroups API service call."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/loadBalancer.json
new file mode 100644
index 000000000000..34b93bc40f7c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/loadBalancer.json
@@ -0,0 +1,1916 @@
+{
+ "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": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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 Standard SKU": {
+ "$ref": "./examples/LoadBalancerCreateStandardSku.json"
+ },
+ "Create load balancer with Frontend IP in Zone 1": {
+ "$ref": "./examples/LoadBalancerCreateWithZones.json"
+ },
+ "Create load balancer with inbound nat pool": {
+ "$ref": "./examples/LoadBalancerCreateWithInboundNatPool.json"
+ },
+ "Create load balancer with outbound rules": {
+ "$ref": "./examples/LoadBalancerCreateWithOutboundRules.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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": "An array of references to inbound rules that use this frontend IP."
+ },
+ "inboundNatPools": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of references to inbound pools that use this frontend IP."
+ },
+ "outboundRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of references to outbound rules that use this frontend IP."
+ },
+ "loadBalancingRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of references to load balancing rules that use this frontend IP."
+ },
+ "privateIPAddress": {
+ "type": "string",
+ "description": "The private IP address of the IP configuration."
+ },
+ "privateIPAllocationMethod": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The Private IP allocation method."
+ },
+ "privateIPAddressVersion": {
+ "$ref": "./network.json#/definitions/IPVersion",
+ "description": "Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the frontend IP configuration resource."
+ }
+ },
+ "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 the set of frontend IP configurations used by the load balancer. 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": "Type of the resource."
+ },
+ "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": "An array of references to IP addresses defined in network interfaces."
+ },
+ "loadBalancingRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of references to load balancing rules that use this backend address pool."
+ },
+ "outboundRule": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "A reference to an outbound rule that uses this backend address pool."
+ },
+ "outboundRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of references to outbound rules that use this backend address pool."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the backend address pool resource."
+ }
+ },
+ "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": "The name of the resource that is unique within the set of backend address pools used by the load balancer. 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": "Type of the resource."
+ }
+ },
+ "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",
+ "description": "The reference to the transport protocol used by the load balancing rule."
+ },
+ "loadDistribution": {
+ "type": "string",
+ "description": "The load distribution policy for this rule.",
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the load balancing rule resource."
+ }
+ },
+ "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 the set of load balancing rules used by the load balancer. 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": "Type of the resource."
+ }
+ },
+ "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. 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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the probe resource."
+ }
+ },
+ "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": "The name of the resource that is unique within the set of probes used by the load balancer. 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": "Type of the resource."
+ }
+ },
+ "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",
+ "description": "The reference to the transport protocol used by the load balancing rule."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the inbound NAT rule resource."
+ }
+ },
+ "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": "The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. 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": "Type of the resource."
+ }
+ },
+ "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",
+ "description": "The reference to the transport protocol used by the inbound NAT pool."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the inbound NAT pool resource."
+ }
+ },
+ "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 the set of inbound NAT pools used by the load balancer. 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": "Type of the resource."
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the outbound rule resource."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "The protocol for the outbound rule in load balancer.",
+ "enum": [
+ "Tcp",
+ "Udp",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "LoadBalancerOutboundRuleProtocol",
+ "modelAsString": true
+ }
+ },
+ "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 rule 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 the set of outbound rules used by the load balancer. 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": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Outbound rule 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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the load balancer resource."
+ }
+ },
+ "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.",
+ "enum": [
+ "Udp",
+ "Tcp",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "TransportProtocol",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/natGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/natGateway.json
new file mode 100644
index 000000000000..d69cb0716e8b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/natGateway.json
@@ -0,0 +1,433 @@
+{
+ "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": "2019-07-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/natGateways/{natGatewayName}": {
+ "delete": {
+ "tags": [
+ "NatGateways"
+ ],
+ "operationId": "NatGateways_Delete",
+ "description": "Deletes the specified nat gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "natGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the nat gateway."
+ },
+ {
+ "$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 nat gateway": {
+ "$ref": "./examples/NatGatewayDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "NatGateways"
+ ],
+ "operationId": "NatGateways_Get",
+ "description": "Gets the specified nat gateway in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "natGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the nat gateway."
+ },
+ {
+ "$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 NatGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/NatGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get nat gateway": {
+ "$ref": "./examples/NatGatewayGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NatGateways"
+ ],
+ "operationId": "NatGateways_CreateOrUpdate",
+ "description": "Creates or updates a nat gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "natGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the nat gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NatGateway"
+ },
+ "description": "Parameters supplied to the create or update nat gateway operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting NatGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/NatGateway"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting NatGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/NatGateway"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/NatGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create nat gateway": {
+ "$ref": "./examples/NatGatewayCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "patch": {
+ "tags": [
+ "NatGateways"
+ ],
+ "operationId": "NatGateways_UpdateTags",
+ "description": "Updates nat gateway tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "natGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the nat gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update nat gateway tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting NatGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/NatGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update nat gateway tags": {
+ "$ref": "./examples/NatGatewayUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways": {
+ "get": {
+ "tags": [
+ "NatGateways"
+ ],
+ "operationId": "NatGateways_ListAll",
+ "description": "Gets all the Nat Gateways 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 NatGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/NatGatewayListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all nat gateways": {
+ "$ref": "./examples/NatGatewayListAll.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways": {
+ "get": {
+ "tags": [
+ "NatGateways"
+ ],
+ "operationId": "NatGateways_List",
+ "description": "Gets all nat 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 NatGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/NatGatewayListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List nat gateways in resource group": {
+ "$ref": "./examples/NatGatewayList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NatGatewaySku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of Nat Gateway SKU.",
+ "enum": [
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "NatGatewaySkuName",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "SKU of nat gateway."
+ },
+ "NatGatewayPropertiesFormat": {
+ "properties": {
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The idle timeout of the nat gateway."
+ },
+ "publicIpAddresses": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of public ip addresses associated with the nat gateway resource."
+ },
+ "publicIpPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of public ip prefixes associated with the nat gateway resource."
+ },
+ "subnets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of references to the subnets using this nat gateway resource."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the NAT gateway resource."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the NAT gateway resource."
+ }
+ },
+ "description": "Nat Gateway properties."
+ },
+ "NatGateway": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/NatGatewaySku",
+ "description": "The nat gateway SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NatGatewayPropertiesFormat",
+ "description": "Nat Gateway properties."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting the zone in which Nat Gateway should be deployed."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Nat Gateway resource."
+ },
+ "NatGatewayListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NatGateway"
+ },
+ "description": "A list of Nat Gateways that exists in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListNatGateways API service call."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/network.json
new file mode 100644
index 000000000000..4cebc1e72128
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/network.json
@@ -0,0 +1,300 @@
+{
+ "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": "2019-07-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",
+ "description": "Error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ }
+ },
+ "description": "Common error details representation."
+ },
+ "Error": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ },
+ "description": "Error details."
+ },
+ "innerError": {
+ "type": "string",
+ "description": "Inner error message."
+ }
+ },
+ "description": "Common error representation."
+ },
+ "AzureAsyncOperationResult": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Status of the Azure async operation.",
+ "enum": [
+ "InProgress",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Details of the error occurred during specified asynchronous operation."
+ }
+ },
+ "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."
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "Access": {
+ "type": "string",
+ "description": "Access to be allowed or denied.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "Access",
+ "modelAsString": true
+ }
+ },
+ "AuthenticationMethod": {
+ "type": "string",
+ "description": "VPN client authentication method.",
+ "enum": [
+ "EAPTLS",
+ "EAPMSCHAPv2"
+ ],
+ "x-ms-enum": {
+ "name": "AuthenticationMethod",
+ "modelAsString": true
+ }
+ },
+ "IPAllocationMethod": {
+ "type": "string",
+ "description": "IP address allocation method.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "IPVersion": {
+ "type": "string",
+ "description": "IP address version.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version."
+ },
+ "ApiVersionVmssParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/networkInterface.json
new file mode 100644
index 000000000000..5552741a7102
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/networkInterface.json
@@ -0,0 +1,1419 @@
+{
+ "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": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network interface tap configuration resource."
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The private IP address allocation method."
+ },
+ "privateIPAddressVersion": {
+ "$ref": "./network.json#/definitions/IPVersion",
+ "description": "Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4."
+ },
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "Subnet bound to the IP configuration."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network interface IP configuration."
+ },
+ "privateLinkConnectionProperties": {
+ "$ref": "#/definitions/NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties",
+ "description": "PrivateLinkConnection properties for the network interface.",
+ "readOnly": true
+ }
+ },
+ "description": "Properties of IP configuration."
+ },
+ "NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties": {
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The group ID for current private link connection."
+ },
+ "requiredMemberName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The required member name for current private link connection."
+ },
+ "fqdns": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "List of FQDNs for current private link connection."
+ }
+ },
+ "description": "PrivateLinkConnection properties for the network interface."
+ },
+ "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."
+ },
+ "privateEndpoint": {
+ "readOnly": true,
+ "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint",
+ "description": "A reference to the private 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": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network interface resource."
+ }
+ },
+ "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.",
+ "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": {
+ "$ref": "./networkSecurityGroup.json#/definitions/SecurityRuleAccess",
+ "description": "Whether network traffic is allowed or denied."
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The priority of the rule."
+ },
+ "direction": {
+ "$ref": "./networkSecurityGroup.json#/definitions/SecurityRuleDirection",
+ "description": "The direction of the rule."
+ }
+ },
+ "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."
+ },
+ "disableBgpRoutePropagation": {
+ "type": "boolean",
+ "description": "If true, on-premises routes are not propagated to the network interfaces in the subnet."
+ },
+ "source": {
+ "type": "string",
+ "description": "Who created the route.",
+ "enum": [
+ "Unknown",
+ "User",
+ "VirtualNetworkGateway",
+ "Default"
+ ],
+ "x-ms-enum": {
+ "name": "EffectiveRouteSource",
+ "modelAsString": true
+ }
+ },
+ "state": {
+ "type": "string",
+ "description": "The value of effective route.",
+ "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": {
+ "$ref": "./routeTable.json#/definitions/RouteNextHopType",
+ "description": "The type of Azure hop the packet should be sent to."
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The private IP address allocation method."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the IP configuration resource."
+ }
+ },
+ "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/2019-07-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/networkProfile.json
new file mode 100644
index 000000000000..a9db16a78863
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/networkProfile.json
@@ -0,0 +1,579 @@
+{
+ "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": "2019-07-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": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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 profile resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network profile 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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the container network interface resource."
+ }
+ },
+ "description": "Properties of container network interface."
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the container network interface configuration 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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the IP configuration profile 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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the container network interface IP configuration 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/2019-07-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/networkSecurityGroup.json
new file mode 100644
index 000000000000..d994ebe99119
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/networkSecurityGroup.json
@@ -0,0 +1,896 @@
+{
+ "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": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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.",
+ "enum": [
+ "Tcp",
+ "Udp",
+ "Icmp",
+ "Esp",
+ "*"
+ ],
+ "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": {
+ "$ref": "#/definitions/SecurityRuleAccess",
+ "description": "The network traffic is allowed or denied."
+ },
+ "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": {
+ "$ref": "#/definitions/SecurityRuleDirection",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the security rule resource."
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network security group resource."
+ }
+ },
+ "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."
+ },
+ "SecurityRuleAccess": {
+ "type": "string",
+ "description": "Whether network traffic is allowed or denied.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleAccess",
+ "modelAsString": true
+ }
+ },
+ "SecurityRuleDirection": {
+ "type": "string",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleDirection",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/networkWatcher.json
new file mode 100644
index 000000000000..aa1c32fa8035
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/networkWatcher.json
@@ -0,0 +1,3052 @@
+{
+ "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": "2019-07-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",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetNextHop",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetVMSecurityRules",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}": {
+ "put": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_Create",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop": {
+ "post": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_Stop",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus": {
+ "post": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_GetStatus",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetTroubleshootingResult",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog": {
+ "post": {
+ "tags": [
+ "NetworkWatchers",
+ "TrafficAnalytics"
+ ],
+ "operationId": "NetworkWatchers_SetFlowLogConfiguration",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus": {
+ "post": {
+ "tags": [
+ "NetworkWatchers",
+ "TrafficAnalytics"
+ ],
+ "operationId": "NetworkWatchers_GetFlowLogStatus",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_CheckConnectivity",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetAzureReachabilityReport",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_ListAvailableProviders",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/networkConfigurationDiagnostic": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetNetworkConfigurationDiagnostic",
+ "description": "Gets Network Configuration Diagnostic data to help customers understand and debug network behavior. It provides detailed information on what security rules were applied to a specified traffic flow and the result of evaluating these rules. Customers must provide details of a flow like source, destination, protocol, etc. The API returns whether traffic was allowed or denied, the rules evaluated for the specified flow and the evaluation results.",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "The error object.",
+ "properties": {
+ "error": {
+ "title": "Error",
+ "$ref": "./network.json#/definitions/ErrorDetails",
+ "description": "The error details object."
+ }
+ }
+ },
+ "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",
+ "description": "Properties of the network watcher."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Network watcher in a resource group."
+ },
+ "NetworkWatcherPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network watcher resource."
+ }
+ },
+ "description": "The network watcher properties."
+ },
+ "NetworkWatcherListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkWatcher"
+ },
+ "description": "List of network watcher resources."
+ }
+ },
+ "description": "Response for ListNetworkWatchers API service call."
+ },
+ "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": "A list of topology resources."
+ }
+ },
+ "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": {
+ "$ref": "#/definitions/Direction",
+ "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": {
+ "$ref": "./network.json#/definitions/Access",
+ "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",
+ "description": "All security rules associated with the network interface."
+ }
+ }
+ },
+ "SecurityRuleAssociations": {
+ "description": "All security rules associated with the network interface.",
+ "properties": {
+ "networkInterfaceAssociation": {
+ "$ref": "#/definitions/NetworkInterfaceAssociation",
+ "description": "Network interface and it's custom security rules."
+ },
+ "subnetAssociation": {
+ "$ref": "#/definitions/SubnetAssociation",
+ "description": "Subnet and it's custom security rules."
+ },
+ "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": "Subnet and it's 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",
+ "description": "Properties of the packet capture."
+ }
+ },
+ "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",
+ "description": "Describes the storage location for a packet capture session."
+ },
+ "filters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PacketCaptureFilter"
+ },
+ "description": "A list of packet capture filters."
+ }
+ },
+ "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.",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PacketCaptureResultProperties",
+ "description": "Properties of the packet capture result."
+ }
+ },
+ "description": "Information about packet capture session."
+ },
+ "PacketCaptureResultProperties": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "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",
+ "description": "Properties of the troubleshooting resource."
+ }
+ }
+ },
+ "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",
+ "description": "Parameters that define the retention policy for flow log."
+ },
+ "format": {
+ "$ref": "#/definitions/FlowLogFormatParameters",
+ "description": "Parameters that define the flow log format."
+ }
+ }
+ },
+ "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",
+ "description": "Properties of the flow log."
+ },
+ "flowAnalyticsConfiguration": {
+ "$ref": "#/definitions/TrafficAnalyticsProperties",
+ "description": "Parameters that define the configuration of traffic analytics."
+ }
+ }
+ },
+ "TrafficAnalyticsProperties": {
+ "description": "Parameters that define the configuration of traffic analytics.",
+ "required": [
+ "networkWatcherFlowAnalyticsConfiguration"
+ ],
+ "properties": {
+ "networkWatcherFlowAnalyticsConfiguration": {
+ "$ref": "#/definitions/TrafficAnalyticsConfigurationProperties",
+ "description": "Parameters that define the configuration of traffic analytics."
+ }
+ }
+ },
+ "TrafficAnalyticsConfigurationProperties": {
+ "description": "Parameters that define the configuration of traffic analytics.",
+ "required": [
+ "enabled"
+ ],
+ "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",
+ "description": "Describes the source of the connection."
+ },
+ "destination": {
+ "$ref": "#/definitions/ConnectivityDestination",
+ "description": "Describes the destination of connection."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Network protocol.",
+ "enum": [
+ "Tcp",
+ "Http",
+ "Https",
+ "Icmp"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": true
+ }
+ },
+ "protocolConfiguration": {
+ "$ref": "#/definitions/ProtocolConfiguration",
+ "description": "Configuration of the protocol."
+ }
+ }
+ },
+ "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",
+ "description": "HTTP configuration of the connectivity check."
+ }
+ }
+ },
+ "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",
+ "description": "Parameters that define a geographic location."
+ },
+ "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",
+ "description": "Parameters that define a geographic location."
+ },
+ "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."
+ },
+ "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."
+ },
+ "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": {
+ "$ref": "#/definitions/Direction",
+ "description": "The direction of the traffic."
+ },
+ "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",
+ "description": "Network configuration diagnostic profile."
+ },
+ "networkSecurityGroupResult": {
+ "$ref": "#/definitions/NetworkSecurityGroupResult",
+ "description": "Network security group result."
+ }
+ }
+ },
+ "NetworkSecurityGroupResult": {
+ "description": "Network configuration diagnostic result corresponded provided traffic query.",
+ "properties": {
+ "securityRuleAccessResult": {
+ "$ref": "./networkSecurityGroup.json#/definitions/SecurityRuleAccess",
+ "description": "The network traffic is allowed or denied."
+ },
+ "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",
+ "description": "Matched network security rule."
+ },
+ "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."
+ }
+ }
+ },
+ "Direction": {
+ "type": "string",
+ "description": "The direction of the traffic.",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "Direction",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/operation.json
new file mode 100644
index 000000000000..08b2e53d2849
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/operation.json
@@ -0,0 +1,265 @@
+{
+ "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": "2019-07-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/2019-07-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/privateEndpoint.json
new file mode 100644
index 000000000000..1d39161277bf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/privateEndpoint.json
@@ -0,0 +1,557 @@
+{
+ "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": "2019-07-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/privateEndpoints/{privateEndpointName}": {
+ "delete": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "operationId": "PrivateEndpoints_Delete",
+ "description": "Deletes the specified private endpoint.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateEndpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private 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."
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Delete private endpoint": {
+ "$ref": "./examples/PrivateEndpointDelete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "operationId": "PrivateEndpoints_Get",
+ "description": "Gets the specified private endpoint by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateEndpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private 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 private endpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get private endpoint": {
+ "$ref": "./examples/PrivateEndpointGet.json"
+ },
+ "Get private endpoint with manual approval connection": {
+ "$ref": "./examples/PrivateEndpointGetForManualApproval.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "operationId": "PrivateEndpoints_CreateOrUpdate",
+ "description": "Creates or updates an private endpoint in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateEndpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "description": "Parameters supplied to the create or update private endpoint operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting private endpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting private endpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create private endpoint": {
+ "$ref": "./examples/PrivateEndpointCreate.json"
+ },
+ "Create private endpoint with manual approval connection": {
+ "$ref": "./examples/PrivateEndpointCreateForManualApproval.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints": {
+ "get": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "operationId": "PrivateEndpoints_List",
+ "description": "Gets all private 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 private endpoint resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointListResult"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List private endpoints in resource group": {
+ "$ref": "./examples/PrivateEndpointList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateEndpoints": {
+ "get": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "operationId": "PrivateEndpoints_ListBySubscription",
+ "description": "Gets all private 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 private endpoint resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointListResult"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all private endpoints": {
+ "$ref": "./examples/PrivateEndpointListAll.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes": {
+ "get": {
+ "operationId": "AvailablePrivateEndpointTypes_List",
+ "description": "Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the domain name."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.",
+ "schema": {
+ "$ref": "#/definitions/AvailablePrivateEndpointTypesResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available PrivateEndpoint types": {
+ "$ref": "./examples/AvailablePrivateEndpointTypesGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes": {
+ "get": {
+ "operationId": "AvailablePrivateEndpointTypes_ListByResourceGroup",
+ "description": "Returns all of the resource types that can be linked to a Private Endpoint in this subscription 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 resource types that can be linked to a Private Endpoint in this subscription in this region.",
+ "schema": {
+ "$ref": "#/definitions/AvailablePrivateEndpointTypesResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available PrivateEndpoint types in the resource group": {
+ "$ref": "./examples/AvailablePrivateEndpointTypesResourceGroupGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateEndpoint": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrivateEndpointProperties",
+ "description": "Properties of the private endpoint."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Private endpoint resource."
+ },
+ "PrivateEndpointProperties": {
+ "properties": {
+ "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": "An array of references to the network interfaces created for this private endpoint."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private endpoint resource."
+ },
+ "privateLinkServiceConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkServiceConnection"
+ },
+ "description": "A grouping of information about the connection to the remote resource."
+ },
+ "manualPrivateLinkServiceConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkServiceConnection"
+ },
+ "description": "A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource."
+ }
+ },
+ "description": "Properties of the private endpoint."
+ },
+ "PrivateLinkServiceConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrivateLinkServiceConnectionProperties",
+ "description": "Properties of the private link service connection."
+ },
+ "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."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "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": "PrivateLinkServiceConnection resource."
+ },
+ "PrivateLinkServiceConnectionProperties": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private link service connection resource."
+ },
+ "privateLinkServiceId": {
+ "type": "string",
+ "description": "The resource id of private link service."
+ },
+ "groupIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to."
+ },
+ "requestMessage": {
+ "type": "string",
+ "description": "A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "./privateLinkService.json#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of read-only information about the state of the connection to the remote resource."
+ }
+ },
+ "description": "Properties of the PrivateLinkServiceConnection."
+ },
+ "PrivateEndpointListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "description": "A list of private endpoint resources in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results.",
+ "readOnly": true
+ }
+ },
+ "description": "Response for the ListPrivateEndpoints API service call."
+ },
+ "AvailablePrivateEndpointTypesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AvailablePrivateEndpointType"
+ },
+ "description": "An array of available privateEndpoint type."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "An array of available PrivateEndpoint types."
+ },
+ "AvailablePrivateEndpointType": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the service and resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "A unique identifier of the AvailablePrivateEndpoint Type resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "Resource type."
+ },
+ "resourceName": {
+ "type": "string",
+ "description": "The name of the service and resource."
+ }
+ },
+ "description": "The information of an AvailablePrivateEndpointType."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/privateLinkService.json
new file mode 100644
index 000000000000..19d6680d4d3b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/privateLinkService.json
@@ -0,0 +1,897 @@
+{
+ "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": "2019-07-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/privateLinkServices/{serviceName}": {
+ "delete": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_Delete",
+ "description": "Deletes the specified private link service.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private link service."
+ },
+ {
+ "$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."
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Delete private link service": {
+ "$ref": "./examples/PrivateLinkServiceDelete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_Get",
+ "description": "Gets the specified private link service by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private link service."
+ },
+ {
+ "$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 PrivateLinkService resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkService"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get private link service": {
+ "$ref": "./examples/PrivateLinkServiceGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateLinkService"
+ ],
+ "operationId": "PrivateLinkServices_CreateOrUpdate",
+ "description": "Creates or updates an private link service in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private link service."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkService"
+ },
+ "description": "Parameters supplied to the create or update private link service operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting privateLinkService resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkService"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting privateLinkService resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkService"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create private link service": {
+ "$ref": "./examples/PrivateLinkServiceCreate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices": {
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_List",
+ "description": "Gets all private link services 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 privateLinkService resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List private link service in resource group": {
+ "$ref": "./examples/PrivateLinkServiceList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateLinkServices": {
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_ListBySubscription",
+ "description": "Gets all private link service 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 PrivateLinkService resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all private list service": {
+ "$ref": "./examples/PrivateLinkServiceListAll.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}": {
+ "put": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_UpdatePrivateEndpointConnection",
+ "description": "Approve or reject private end point connection for a private link service in a subscription.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private link service."
+ },
+ {
+ "name": "peConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private end point connection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "Parameters supplied to approve or reject the private end point connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting PrivateEndpointConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "approve or reject private end point connection for a private link service": {
+ "$ref": "./examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_DeletePrivateEndpointConnection",
+ "description": "Delete private end point connection for a private link service in a subscription.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private link service."
+ },
+ {
+ "name": "peConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private end point connection."
+ },
+ {
+ "$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."
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "delete private end point connection for a private link service": {
+ "$ref": "./examples/PrivateLinkServiceDeletePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility": {
+ "post": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_CheckPrivateLinkServiceVisibility",
+ "description": "Checks whether the subscription is visible to private link service.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the domain name."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckPrivateLinkServiceVisibilityRequest"
+ },
+ "description": "The request body of CheckPrivateLinkService API call."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns whether the subscription is visible to private link service.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkServiceVisibility"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check private link service visibility": {
+ "$ref": "./examples/CheckPrivateLinkServiceVisibility.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility": {
+ "post": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_CheckPrivateLinkServiceVisibilityByResourceGroup",
+ "description": "Checks whether the subscription is visible to private link service in the specified resource group.",
+ "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."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckPrivateLinkServiceVisibilityRequest"
+ },
+ "description": "The request body of CheckPrivateLinkService API call."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns whether the subscription is visible to private link service.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkServiceVisibility"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check private link service visibility": {
+ "$ref": "./examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices": {
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_ListAutoApprovedPrivateLinkServices",
+ "description": "Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the domain name."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.",
+ "schema": {
+ "$ref": "#/definitions/AutoApprovedPrivateLinkServicesResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get list of private link service id that can be linked to a private end point with auto approved": {
+ "$ref": "./examples/AutoApprovedPrivateLinkServicesGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices": {
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_ListAutoApprovedPrivateLinkServicesByResourceGroup",
+ "description": "Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription 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/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.",
+ "schema": {
+ "$ref": "#/definitions/AutoApprovedPrivateLinkServicesResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get list of private link service id that can be linked to a private end point with auto approved": {
+ "$ref": "./examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateLinkService": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrivateLinkServiceProperties",
+ "description": "Properties of the private link service."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Private link service resource."
+ },
+ "PrivateLinkServiceProperties": {
+ "properties": {
+ "loadBalancerFrontendIpConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "./loadBalancer.json#/definitions/FrontendIPConfiguration"
+ },
+ "description": "An array of references to the load balancer IP configurations."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkServiceIpConfiguration"
+ },
+ "description": "An array of private link service IP configurations."
+ },
+ "networkInterfaces": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterface"
+ },
+ "description": "An array of references to the network interfaces created for this private link service."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private link service resource."
+ },
+ "privateEndpointConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "An array of list about connections to the private endpoint."
+ },
+ "visibility": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSet"
+ }
+ ],
+ "description": "The visibility list of the private link service."
+ },
+ "autoApproval": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSet"
+ }
+ ],
+ "description": "The auto-approval list of the private link service."
+ },
+ "fqdns": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of Fqdn."
+ },
+ "alias": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The alias of the private link service."
+ }
+ },
+ "description": "Properties of the private link service."
+ },
+ "ResourceSet": {
+ "properties": {
+ "subscriptions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of subscriptions."
+ }
+ },
+ "description": "The base resource set for visibility and auto-approval."
+ },
+ "PrivateLinkServiceIpConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrivateLinkServiceIpConfigurationProperties",
+ "description": "Properties of the private link service ip configuration."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of private link service ip configuration."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "The private link service ip configuration."
+ },
+ "PrivateLinkServiceIpConfigurationProperties": {
+ "properties": {
+ "privateIPAddress": {
+ "type": "string",
+ "description": "The private IP address of the IP configuration."
+ },
+ "privateIPAllocationMethod": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The private IP address allocation method."
+ },
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "The reference to the subnet resource."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "Whether the ip configuration is primary or not."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private link service IP configuration resource."
+ },
+ "privateIPAddressVersion": {
+ "$ref": "./network.json#/definitions/IPVersion",
+ "description": "Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4."
+ }
+ },
+ "description": "Properties of private link service IP configuration."
+ },
+ "PrivateEndpointConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Properties of the private end point connection."
+ },
+ "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."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "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": "PrivateEndpointConnection resource."
+ },
+ "PrivateEndpointConnectionProperties": {
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint",
+ "description": "The resource of private end point."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private endpoint connection resource."
+ }
+ },
+ "description": "Properties of the PrivateEndpointConnectProperties."
+ },
+ "PrivateLinkServiceConnectionState": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service."
+ },
+ "description": {
+ "type": "string",
+ "description": "The reason for approval/rejection of the connection."
+ },
+ "actionRequired": {
+ "type": "string",
+ "description": "A message indicating if changes on the service provider require any updates on the consumer."
+ }
+ },
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "PrivateLinkServiceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkService"
+ },
+ "description": "A list of PrivateLinkService resources in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results.",
+ "readOnly": true
+ }
+ },
+ "description": "Response for the ListPrivateLinkService API service call."
+ },
+ "CheckPrivateLinkServiceVisibilityRequest": {
+ "properties": {
+ "privateLinkServiceAlias": {
+ "type": "string",
+ "description": "The alias of the private link service."
+ }
+ },
+ "description": "Request body of the CheckPrivateLinkServiceVisibility API service call."
+ },
+ "PrivateLinkServiceVisibility": {
+ "properties": {
+ "visible": {
+ "type": "boolean",
+ "description": "Private Link Service Visibility (True/False)."
+ }
+ },
+ "description": "Response for the CheckPrivateLinkServiceVisibility API service call."
+ },
+ "AutoApprovedPrivateLinkServicesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutoApprovedPrivateLinkService"
+ },
+ "description": "An array of auto approved private link service."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "An array of private link service id that can be linked to a private end point with auto approved."
+ },
+ "AutoApprovedPrivateLinkService": {
+ "properties": {
+ "privateLinkService": {
+ "type": "string",
+ "description": "The id of the private link service resource."
+ }
+ },
+ "description": "The information of an AutoApprovedPrivateLinkService."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/publicIpAddress.json
new file mode 100644
index 000000000000..ebc3c62b6f8a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/publicIpAddress.json
@@ -0,0 +1,502 @@
+{
+ "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": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The public IP address allocation method."
+ },
+ "publicIPAddressVersion": {
+ "$ref": "./network.json#/definitions/IPVersion",
+ "description": "The public IP address version."
+ },
+ "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 address resource."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the public IP address resource."
+ }
+ },
+ "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": "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": "The 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": "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"
+ ],
+ "x-ms-enum": {
+ "name": "DdosSettingsProtectionCoverage",
+ "modelAsString": true
+ },
+ "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": "The IP tag type. Example: FirstPartyUsage."
+ },
+ "tag": {
+ "type": "string",
+ "description": "The value of the IP tag associated with the public IP. Example: SQL."
+ }
+ },
+ "description": "Contains the IpTag associated with the object."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/publicIpPrefix.json
new file mode 100644
index 000000000000..e8954635aa9f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/publicIpPrefix.json
@@ -0,0 +1,445 @@
+{
+ "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": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/IPVersion",
+ "description": "The public IP address version."
+ },
+ "ipTags": {
+ "type": "array",
+ "items": {
+ "$ref": "./publicIpAddress.json#/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."
+ },
+ "loadBalancerFrontendIpConfiguration": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference to load balancer frontend IP configuration associated with the public IP prefix."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the public IP prefix resource."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the public IP prefix resource."
+ }
+ },
+ "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."
+ },
+ "ReferencedPublicIpAddress": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The PublicIPAddress Reference."
+ }
+ },
+ "description": "Reference to a public IP address."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/routeFilter.json
new file mode 100644
index 000000000000..2f611fcc80e0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/routeFilter.json
@@ -0,0 +1,820 @@
+{
+ "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": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/Access",
+ "description": "The access type of the rule."
+ },
+ "routeFilterRuleType": {
+ "type": "string",
+ "description": "The rule type of the rule.",
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the route filter rule resource."
+ }
+ },
+ "description": "Route Filter Rule Resource."
+ },
+ "RouteFilterRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterRulePropertiesFormat",
+ "description": "Properties of the route filter 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."
+ },
+ "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",
+ "description": "Properties of the route filter rule."
+ },
+ "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."
+ },
+ "ipv6Peerings": {
+ "type": "array",
+ "items": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeering"
+ },
+ "description": "A collection of references to express route circuit ipv6 peerings."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the route filter resource."
+ }
+ },
+ "description": "Route Filter Resource."
+ },
+ "RouteFilter": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterPropertiesFormat",
+ "description": "Properties of the route filter."
+ },
+ "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": "Route Filter Resource."
+ },
+ "PatchRouteFilter": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterPropertiesFormat",
+ "description": "Properties of the route filter."
+ },
+ "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": "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": "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/2019-07-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/routeTable.json
new file mode 100644
index 000000000000..7e12a64a913b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/routeTable.json
@@ -0,0 +1,693 @@
+{
+ "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": "2019-07-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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": {
+ "$ref": "#/definitions/RouteNextHopType",
+ "description": "The type of Azure hop the packet should be sent to."
+ },
+ "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",
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the route resource."
+ }
+ },
+ "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": "Whether to disable the routes learned by BGP on that route table. True means disable."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the route table resource."
+ }
+ },
+ "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": "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": "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": "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."
+ },
+ "RouteNextHopType": {
+ "type": "string",
+ "description": "The type of Azure hop the packet should be sent to.",
+ "enum": [
+ "VirtualNetworkGateway",
+ "VnetLocal",
+ "Internet",
+ "VirtualAppliance",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "RouteNextHopType",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/serviceCommunity.json
new file mode 100644
index 000000000000..80532e0d715b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/serviceCommunity.json
@@ -0,0 +1,152 @@
+{
+ "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": "2019-07-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": "A list of bgp communities."
+ }
+ },
+ "description": "Properties of Service Community."
+ },
+ "BgpServiceCommunity": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BgpServiceCommunityPropertiesFormat",
+ "description": "Properties of the BGP service community."
+ }
+ },
+ "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/2019-07-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/serviceEndpointPolicy.json
new file mode 100644
index 000000000000..26225377180b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/serviceEndpointPolicy.json
@@ -0,0 +1,681 @@
+{
+ "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": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the service endpoint policy definition resource."
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the service endpoint policy resource."
+ }
+ },
+ "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/2019-07-01/serviceTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/serviceTags.json
new file mode 100644
index 000000000000..12cee45b40a6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/serviceTags.json
@@ -0,0 +1,160 @@
+{
+ "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": "2019-07-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}/serviceTags": {
+ "get": {
+ "operationId": "ServiceTags_List",
+ "description": "Gets a list of service tag information resources.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location that will be used as a reference for version (not as a filter based on location, you will get the list of service tags with prefix details across all regions but limited to the cloud that your subscription belongs to)."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns a list of service tag information resources.",
+ "schema": {
+ "$ref": "#/definitions/ServiceTagsListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get list of service tags": {
+ "$ref": "./examples/ServiceTagsList.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServiceTagsListResult": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the cloud."
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The ID of the cloud."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The azure resource type."
+ },
+ "changeNumber": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The iteration number."
+ },
+ "cloud": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the cloud."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceTagInformation"
+ },
+ "readOnly": true,
+ "description": "The list of service tag information resources."
+ }
+ },
+ "description": "Response for the ListServiceTags API service call."
+ },
+ "ServiceTagInformation": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServiceTagInformationPropertiesFormat",
+ "readOnly": true,
+ "description": "Properties of the service tag information."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of service tag."
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The ID of service tag."
+ }
+ },
+ "description": "The service tag information."
+ },
+ "ServiceTagInformationPropertiesFormat": {
+ "properties": {
+ "changeNumber": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The iteration number of service tag."
+ },
+ "region": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The region of service tag."
+ },
+ "systemService": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of system service."
+ },
+ "addressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "The list of IP address prefixes."
+ }
+ },
+ "description": "Properties of the service tag information."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/usage.json
new file mode 100644
index 000000000000..006ab58d31ad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/usage.json
@@ -0,0 +1,154 @@
+{
+ "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": "2019-07-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/2019-07-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualNetwork.json
new file mode 100644
index 000000000000..5c42c8bf364a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualNetwork.json
@@ -0,0 +1,1793 @@
+{
+ "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": "2019-07-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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 service endpoints and service endpoint policy": {
+ "$ref": "./examples/VirtualNetworkCreateServiceEndpointPolicy.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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Prepare Network Policies": {
+ "$ref": "./examples/SubnetPrepareNetworkPolicies.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies": {
+ "post": {
+ "operationId": "Subnets_UnprepareNetworkPolicies",
+ "description": "Unprepares a subnet by removing 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": "unprepareNetworkPoliciesRequestParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UnprepareNetworkPoliciesRequest"
+ },
+ "description": "Parameters supplied to unprepare subnet to remove network intent policies."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Unpreparing subnet by removing network intent policies is successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Unprepare Network Policies": {
+ "$ref": "./examples/SubnetUnprepareNetworkPolicies.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks": {
+ "get": {
+ "operationId": "ResourceNavigationLinks_List",
+ "description": "Gets a list of resource navigation links for a 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": "Request successful. The operation returns a list of resource navigation links for the subnet.",
+ "schema": {
+ "$ref": "#/definitions/ResourceNavigationLinksListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Resource Navigation Links": {
+ "$ref": "./examples/VirtualNetworkGetResourceNavigationLinks.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks": {
+ "get": {
+ "operationId": "ServiceAssociationLinks_List",
+ "description": "Gets a list of service association links for a 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": "Request successful. The operation returns a list of service association links for the subnet.",
+ "schema": {
+ "$ref": "#/definitions/ServiceAssociationLinksListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Service Association Links": {
+ "$ref": "./examples/VirtualNetworkGetServiceAssociationLinks.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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the service association link resource."
+ },
+ "allowDelete": {
+ "type": "boolean",
+ "description": "If true, the resource can be deleted."
+ },
+ "locations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of locations."
+ }
+ },
+ "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."
+ },
+ "type": {
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the resource navigation link 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."
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource navigation link identifier."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the service delegation 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."
+ },
+ "natGateway": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Nat gateway associated with this subnet."
+ },
+ "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."
+ },
+ "privateEndpoints": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint"
+ },
+ "description": "An array of references to private endpoints."
+ },
+ "ipConfigurations": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/IPConfiguration"
+ },
+ "description": "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": "An array of references to the external resources using subnet."
+ },
+ "serviceAssociationLinks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceAssociationLink"
+ },
+ "description": "An array of references to services injecting into this subnet."
+ },
+ "delegations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Delegation"
+ },
+ "description": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the subnet resource."
+ },
+ "privateEndpointNetworkPolicies": {
+ "type": "string",
+ "description": "Enable or Disable apply network policies on private end point in the subnet."
+ },
+ "privateLinkServiceNetworkPolicies": {
+ "type": "string",
+ "description": "Enable or Disable apply network policies on private link service in the subnet."
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the service endpoint resource."
+ }
+ },
+ "description": "The service endpoint properties."
+ },
+ "VirtualNetworkPeeringPropertiesFormat": {
+ "properties": {
+ "allowVirtualNetworkAccess": {
+ "type": "boolean",
+ "description": "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space."
+ },
+ "allowForwardedTraffic": {
+ "type": "boolean",
+ "description": "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network."
+ },
+ "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.",
+ "enum": [
+ "Initiated",
+ "Connected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkPeeringState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network peering 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."
+ },
+ "ResourceNavigationLinksListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceNavigationLink"
+ },
+ "description": "The resource navigation links in a subnet."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ResourceNavigationLinks_List operation."
+ },
+ "ServiceAssociationLinksListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceAssociationLink"
+ },
+ "description": "The service association links in a subnet."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ServiceAssociationLinks_List operation."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network resource."
+ },
+ "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": "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": "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."
+ },
+ "networkIntentPolicyConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkIntentPolicyConfiguration"
+ },
+ "description": "A list of NetworkIntentPolicyConfiguration."
+ }
+ },
+ "description": "Details of PrepareNetworkPolicies for Subnet."
+ },
+ "UnprepareNetworkPoliciesRequest": {
+ "properties": {
+ "serviceName": {
+ "type": "string",
+ "description": "The name of the service for which subnet is being unprepared for."
+ }
+ },
+ "description": "Details of UnprepareNetworkPolicies for Subnet."
+ },
+ "NetworkIntentPolicyConfiguration": {
+ "properties": {
+ "networkIntentPolicyName": {
+ "type": "string",
+ "description": "The name of the Network Intent Policy for storing in target subscription."
+ },
+ "sourceNetworkIntentPolicy": {
+ "$ref": "#/definitions/NetworkIntentPolicy",
+ "description": "Source network intent policy."
+ }
+ },
+ "description": "Details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest."
+ },
+ "NetworkIntentPolicy": {
+ "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 Intent Policy resource."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualNetworkGateway.json
new file mode 100644
index 000000000000..72fd74d07726
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualNetworkGateway.json
@@ -0,0 +1,3349 @@
+{
+ "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": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GenerateVPNClientPackage": {
+ "$ref": "./examples/VirtualNetworkGatewayGenerateVpnClientPackage.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_StartPacketCapture",
+ "description": "Starts packet capture on 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": false,
+ "schema": {
+ "$ref": "#/definitions/VpnPacketCaptureStartParameters"
+ },
+ "description": "Virtual network gateway packet capture parameters supplied to start packet capture on 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 packet capture started on virtual network gateway.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Start packet capture on virtual network gateway without filter": {
+ "$ref": "./examples/VirtualNetworkGatewayStartPacketCapture.json"
+ },
+ "Start packet capture on virtual network gateway with filter": {
+ "$ref": "./examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_StopPacketCapture",
+ "description": "Stops packet capture on 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/VpnPacketCaptureStopParameters"
+ },
+ "description": "Virtual network gateway packet capture parameters supplied to stop packet capture on 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 packet capture stopped on virtual network gateway.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Stop packet capture on virtual network gateway": {
+ "$ref": "./examples/VirtualNetworkGatewayStopPacketCapture.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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": "Request successful. The operation returns the resulting ConnectionSharedKey resource.",
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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": "Request successful. The operation sets the virtual network gateway connection shared key."
+ }
+ },
+ "x-ms-examples": {
+ "ResetVirtualNetworkGatewayConnectionSharedKey": {
+ "$ref": "./examples/VirtualNetworkGatewayConnectionResetSharedKey.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_StartPacketCapture",
+ "description": "Starts packet capture on 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": false,
+ "schema": {
+ "$ref": "#/definitions/VpnPacketCaptureStartParameters"
+ },
+ "description": "Virtual network gateway packet capture parameters supplied to start packet capture on gateway connection."
+ },
+ {
+ "$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 packet capture started on virtual network gateway connection.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Start packet capture on virtual network gateway connection without filter": {
+ "$ref": "./examples/VirtualNetworkGatewayConnectionStartPacketCapture.json"
+ },
+ "Start packet capture on virtual network gateway connection with filter": {
+ "$ref": "./examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_StopPacketCapture",
+ "description": "Stops packet capture on 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/VpnPacketCaptureStopParameters"
+ },
+ "description": "Virtual network gateway packet capture parameters supplied to stop packet capture on gateway connection."
+ },
+ {
+ "$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 packet capture stopped on virtual network gateway connection.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Stop packet capture on virtual network gateway connection": {
+ "$ref": "./examples/VirtualNetworkGatewayConnectionStopPacketCapture.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getVpnClientConnectionHealth": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GetVpnclientConnectionHealth",
+ "description": "Get VPN client connection health detail per P2S client connection 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": "List of VPN client connection health details.",
+ "schema": {
+ "$ref": "#/definitions/VpnClientConnectionHealthDetailListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GetVirtualNetworkGatewayVpnclientConnectionHealth": {
+ "$ref": "./examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "VirtualNetworkGatewayIPConfigurationPropertiesFormat": {
+ "properties": {
+ "privateIPAllocationMethod": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The private IP address allocation method."
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network gateway IP configuration resource."
+ }
+ },
+ "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.",
+ "enum": [
+ "Vpn",
+ "ExpressRoute"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayType",
+ "modelAsString": true
+ }
+ },
+ "vpnType": {
+ "type": "string",
+ "description": "The type of this virtual network gateway.",
+ "enum": [
+ "PolicyBased",
+ "RouteBased"
+ ],
+ "x-ms-enum": {
+ "name": "VpnType",
+ "modelAsString": true
+ }
+ },
+ "vpnGatewayGeneration": {
+ "type": "string",
+ "description": "The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN.",
+ "enum": [
+ "None",
+ "Generation1",
+ "Generation2"
+ ],
+ "x-ms-enum": {
+ "name": "VpnGatewayGeneration",
+ "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."
+ },
+ "customRoutes": {
+ "$ref": "./virtualNetwork.json#/definitions/AddressSpace",
+ "description": "The reference of the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and VpnClient."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the virtual network gateway resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network gateway resource."
+ }
+ },
+ "description": "VirtualNetworkGateway properties."
+ },
+ "VpnClientRootCertificatePropertiesFormat": {
+ "properties": {
+ "publicCertData": {
+ "type": "string",
+ "description": "The certificate public data."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN client root certificate resource."
+ }
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN client revoked certificate resource."
+ }
+ },
+ "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."
+ },
+ "aadTenant": {
+ "type": "string",
+ "description": "The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication."
+ },
+ "aadAudience": {
+ "type": "string",
+ "description": "The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication."
+ },
+ "aadIssuer": {
+ "type": "string",
+ "description": "The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication."
+ }
+ },
+ "description": "VpnClientConfiguration for P2S client."
+ },
+ "VirtualNetworkGatewaySku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Gateway SKU name.",
+ "enum": [
+ "Basic",
+ "HighPerformance",
+ "Standard",
+ "UltraPerformance",
+ "VpnGw1",
+ "VpnGw2",
+ "VpnGw3",
+ "VpnGw4",
+ "VpnGw5",
+ "VpnGw1AZ",
+ "VpnGw2AZ",
+ "VpnGw3AZ",
+ "VpnGw4AZ",
+ "VpnGw5AZ",
+ "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",
+ "VpnGw4",
+ "VpnGw5",
+ "VpnGw1AZ",
+ "VpnGw2AZ",
+ "VpnGw3AZ",
+ "VpnGw4AZ",
+ "VpnGw5AZ",
+ "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": "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.",
+ "enum": [
+ "Amd64",
+ "X86"
+ ],
+ "x-ms-enum": {
+ "name": "ProcessorArchitecture",
+ "modelAsString": true
+ }
+ },
+ "authenticationMethod": {
+ "$ref": "./network.json#/definitions/AuthenticationMethod",
+ "description": "VPN client authentication method."
+ },
+ "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": "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,
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionStatus",
+ "description": "Virtual Network Gateway connection status."
+ },
+ "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": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionType",
+ "description": "Gateway connection type."
+ },
+ "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,
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionStatus",
+ "description": "Virtual Network Gateway connection status."
+ },
+ "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."
+ },
+ "trafficSelectorPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrafficSelectorPolicy"
+ },
+ "description": "The Traffic Selector Policies to be considered by this connection."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the virtual network gateway connection resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network gateway connection resource."
+ },
+ "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": "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": "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": {
+ "$ref": "#/definitions/IpsecEncryption",
+ "description": "The IPSec encryption algorithm (IKE phase 1)."
+ },
+ "ipsecIntegrity": {
+ "$ref": "#/definitions/IpsecIntegrity",
+ "description": "The IPSec integrity algorithm (IKE phase 1)."
+ },
+ "ikeEncryption": {
+ "$ref": "#/definitions/IkeEncryption",
+ "description": "The IKE encryption algorithm (IKE phase 2)."
+ },
+ "ikeIntegrity": {
+ "$ref": "#/definitions/IkeIntegrity",
+ "description": "The IKE integrity algorithm (IKE phase 2)."
+ },
+ "dhGroup": {
+ "$ref": "#/definitions/DhGroup",
+ "description": "The DH Group used in IKE Phase 1 for initial SA."
+ },
+ "pfsGroup": {
+ "$ref": "#/definitions/PfsGroup",
+ "description": "The Pfs Group used in IKE Phase 2 for new child SA."
+ }
+ },
+ "required": [
+ "saLifeTimeSeconds",
+ "saDataSizeKilobytes",
+ "ipsecEncryption",
+ "ipsecIntegrity",
+ "ikeEncryption",
+ "ikeIntegrity",
+ "dhGroup",
+ "pfsGroup"
+ ],
+ "description": "An IPSec Policy configuration for a virtual network gateway connection."
+ },
+ "TrafficSelectorPolicy": {
+ "properties": {
+ "localAddressRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A collection of local address spaces in CIDR format"
+ },
+ "remoteAddressRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A collection of remote address spaces in CIDR format"
+ }
+ },
+ "required": [
+ "localAddressRanges",
+ "remoteAddressRanges"
+ ],
+ "description": "An traffic selector policy for a virtual network gateway connection."
+ },
+ "ConnectionProtocol": {
+ "type": "string",
+ "description": "Gateway connection protocol.",
+ "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": {
+ "$ref": "#/definitions/IpsecEncryption",
+ "description": "The IPSec encryption algorithm (IKE phase 1)."
+ },
+ "ipsecIntegrity": {
+ "$ref": "#/definitions/IpsecIntegrity",
+ "description": "The IPSec integrity algorithm (IKE phase 1)."
+ },
+ "ikeEncryption": {
+ "$ref": "#/definitions/IkeEncryption",
+ "description": "The IKE encryption algorithm (IKE phase 2)."
+ },
+ "ikeIntegrity": {
+ "$ref": "#/definitions/IkeIntegrity",
+ "description": "The IKE integrity algorithm (IKE phase 2)."
+ },
+ "dhGroup": {
+ "$ref": "#/definitions/DhGroup",
+ "description": "The DH Group used in IKE Phase 1 for initial SA."
+ },
+ "pfsGroup": {
+ "$ref": "#/definitions/PfsGroup",
+ "description": "The Pfs Group used in IKE Phase 2 for new child SA."
+ }
+ },
+ "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 local network gateway resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the local network gateway resource."
+ }
+ },
+ "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": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionType",
+ "description": "Gateway connection type."
+ },
+ "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,
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionStatus",
+ "description": "Virtual Network Gateway connection status."
+ },
+ "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."
+ },
+ "trafficSelectorPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrafficSelectorPolicy"
+ },
+ "description": "The Traffic Selector Policies to be considered by this connection."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the virtual network gateway connection resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network gateway connection resource."
+ },
+ "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": "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": "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."
+ },
+ "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
+ }
+ },
+ "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
+ }
+ },
+ "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
+ }
+ },
+ "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
+ }
+ },
+ "VirtualNetworkGatewayConnectionStatus": {
+ "type": "string",
+ "description": "Virtual Network Gateway connection status.",
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "VirtualNetworkGatewayConnectionType": {
+ "type": "string",
+ "description": "Gateway connection type.",
+ "enum": [
+ "IPsec",
+ "Vnet2Vnet",
+ "ExpressRoute",
+ "VPNClient"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionType",
+ "modelAsString": true
+ }
+ },
+ "VpnClientConnectionHealthDetailListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnClientConnectionHealthDetail"
+ },
+ "description": "List of vpn client connection health."
+ }
+ },
+ "description": "List of virtual network gateway vpn client connection health."
+ },
+ "VpnClientConnectionHealthDetail": {
+ "properties": {
+ "vpnConnectionId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The vpn client Id."
+ },
+ "vpnConnectionDuration": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The duration time of a connected vpn client."
+ },
+ "vpnConnectionTime": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The start time of a connected vpn client."
+ },
+ "publicIpAddress": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The public Ip of a connected vpn client."
+ },
+ "privateIpAddress": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The assigned private Ip of a connected vpn client."
+ },
+ "vpnUserName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The user name of a connected vpn client."
+ },
+ "maxBandwidth": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The max band width."
+ },
+ "egressPacketsTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The egress packets per second."
+ },
+ "egressBytesTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The egress bytes per second."
+ },
+ "ingressPacketsTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The ingress packets per second."
+ },
+ "ingressBytesTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The ingress bytes per second."
+ },
+ "maxPacketsPerSecond": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The max packets transferred per second."
+ }
+ },
+ "description": "VPN client connection health detail."
+ },
+ "VpnPacketCaptureStopParameters": {
+ "properties": {
+ "sasUrl": {
+ "type": "string",
+ "description": "SAS url for packet capture on virtual network gateway."
+ }
+ },
+ "description": "Stop packet capture parameters."
+ },
+ "VpnPacketCaptureStartParameters": {
+ "properties": {
+ "filterData": {
+ "type": "string",
+ "description": "Start Packet capture parameters."
+ }
+ },
+ "description": "Start packet capture parameters on virtual network gateway."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualNetworkTap.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualNetworkTap.json
new file mode 100644
index 000000000000..a41da445b462
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualNetworkTap.json
@@ -0,0 +1,390 @@
+{
+ "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": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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": "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 resource GUID property of the virtual network tap resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network tap resource."
+ },
+ "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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualRouter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualRouter.json
new file mode 100644
index 000000000000..c0af6a092a82
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualRouter.json
@@ -0,0 +1,819 @@
+{
+ "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": "2019-07-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/virtualRouters/{virtualRouterName}": {
+ "delete": {
+ "tags": [
+ "VirtualRouters"
+ ],
+ "operationId": "VirtualRouters_Delete",
+ "description": "Deletes the specified Virtual Router.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "$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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete VirtualRouter": {
+ "$ref": "./examples/VirtualRouterDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualRouters"
+ ],
+ "operationId": "VirtualRouters_Get",
+ "description": "Gets the specified Virtual Router.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "$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 a Virtual Router resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get VirtualRouter": {
+ "$ref": "./examples/VirtualRouterGet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualRouters"
+ ],
+ "operationId": "VirtualRouters_Update",
+ "description": "Updates a Virtual Router.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the Virtual Router."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router being updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to Update Virtual Router Tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the Virtual Router updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update VirtualRouter": {
+ "$ref": "./examples/VirtualRouterUpdateTags.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "VirtualRouters"
+ ],
+ "operationId": "VirtualRouters_CreateOrUpdate",
+ "description": "Creates or updates the specified Virtual Router.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualRouter"
+ },
+ "description": "Parameters supplied to the create or update Virtual Router."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request received successfully. The operation returns the resulting Virtual Router resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouter"
+ }
+ },
+ "200": {
+ "description": "Request successful. The operation returns the resulting Virtual Router resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create VirtualRouter": {
+ "$ref": "./examples/VirtualRouterPut.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters": {
+ "get": {
+ "tags": [
+ "VirtualRouters"
+ ],
+ "operationId": "VirtualRouters_ListByResourceGroup",
+ "description": "Lists all Virtual Routers 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 Virtual Router resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Virtual Router for a given resource group": {
+ "$ref": "./examples/VirtualRouterListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualRouters": {
+ "get": {
+ "tags": [
+ "VirtualRouters"
+ ],
+ "operationId": "VirtualRouters_List",
+ "description": "Gets all the Virtual Routers in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of Virtual Router resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Virtual Routers for a given subscription": {
+ "$ref": "./examples/VirtualRouterListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}": {
+ "delete": {
+ "tags": [
+ "VirtualRouterPeerings"
+ ],
+ "operationId": "VirtualRouterPeerings_Delete",
+ "description": "Deletes the specified peering from a Virtual Router.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "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": {
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete VirtualRouterPeering": {
+ "$ref": "./examples/VirtualRouterPeeringDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualRouterPeerings"
+ ],
+ "operationId": "VirtualRouterPeerings_Get",
+ "description": "Gets the specified Virtual Router Peering.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router Peering."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a Virtual Router Peering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Virtual Router Peering": {
+ "$ref": "./examples/VirtualRouterPeeringGet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualRouterPeerings"
+ ],
+ "operationId": "VirtualRouterPeerings_Update",
+ "description": "Updates a Virtual Router Peering.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the Virtual Router Peering."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router Peering being updated."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ },
+ "description": "Parameters supplied to update Virtual Router Peering operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the Virtual Router Peering updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update VirtualRouter Peering": {
+ "$ref": "./examples/VirtualRouterPeeringUpdate.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "VirtualRouterPeerings"
+ ],
+ "operationId": "VirtualRouterPeerings_CreateOrUpdate",
+ "description": "Creates or updates the specified Virtual Router Peering.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router Peering."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ },
+ "description": "Parameters supplied to the create or update Virtual Router Peering operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request received successfully. The operation returns the resulting Virtual Router Peering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ }
+ },
+ "200": {
+ "description": "Request successful. The operation returns the resulting Virtual Router Peering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create Virtual Router Peering": {
+ "$ref": "./examples/VirtualRouterPeeringPut.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings": {
+ "get": {
+ "tags": [
+ "VirtualRouterPeerings"
+ ],
+ "operationId": "VirtualRouterPeerings_List",
+ "description": "Lists all Virtual Router Peerings in a Virtual Router resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of Virtual Router Peering resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeeringListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Virtual Router Peerings for a given Virtual Router": {
+ "$ref": "./examples/VirtualRouterPeeringList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "VirtualRouter": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualRouterPropertiesFormat",
+ "description": "Properties of the Virtual Router."
+ },
+ "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": "VirtualRouter Resource."
+ },
+ "VirtualRouterPropertiesFormat": {
+ "properties": {
+ "virtualRouterAsn": {
+ "type": "integer",
+ "readOnly": false,
+ "format": "int64",
+ "minimum": 1,
+ "maximum": 4294967295,
+ "description": "VirtualRouter ASN."
+ },
+ "virtualRouterIps": {
+ "type": "array",
+ "readOnly": false,
+ "description": "VirtualRouter IPs",
+ "items": {
+ "type": "string"
+ }
+ },
+ "hostedSubnet": {
+ "readOnly": false,
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The Subnet on which VirtualRouter is hosted."
+ },
+ "hostedGateway": {
+ "readOnly": false,
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The Gateway on which VirtualRouter is hosted."
+ },
+ "peerings": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of references to VirtualRouterPeerings",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState"
+ }
+ },
+ "description": "Virtual Router definition"
+ },
+ "VirtualRouterPeering": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualRouterPeeringProperties",
+ "description": "The properties of the Virtual Router Peering."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets name of the peering unique to VirtualRouter. 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."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Peering type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Virtual Router Peering resource"
+ },
+ "VirtualRouterPeeringProperties": {
+ "properties": {
+ "peerAsn": {
+ "type": "integer",
+ "readOnly": false,
+ "format": "int64",
+ "minimum": 1,
+ "maximum": 4294967295,
+ "description": "Peer ASN."
+ },
+ "peerIp": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Peer IP."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState"
+ }
+ },
+ "description": "Properties of the rule group."
+ },
+ "VirtualRouterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualRouter"
+ },
+ "description": "List of Virtual Routers."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListVirtualRouters API service call."
+ },
+ "VirtualRouterPeeringListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ },
+ "description": "List of VirtualRouterPeerings in a VirtualRouter."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListVirtualRouterPeerings API service call."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualWan.json
new file mode 100644
index 000000000000..614c401e9cd4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualWan.json
@@ -0,0 +1,3932 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "VirtualWANAsAServiceManagementClient",
+ "description": "REST API for Azure VirtualWAN As a Service.",
+ "version": "2019-07-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks/{vpnSiteLinkName}": {
+ "get": {
+ "operationId": "VpnSiteLinks_Get",
+ "x-ms-examples": {
+ "VpnSiteGet": {
+ "$ref": "./examples/VpnSiteLinkGet.json"
+ }
+ },
+ "description": "Retrieves the details of a VPN site link.",
+ "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."
+ },
+ {
+ "name": "vpnSiteLinkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnSiteLink being retrieved."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VpnSiteLink retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VpnSiteLink"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks": {
+ "get": {
+ "operationId": "VpnSiteLinks_ListByVpnSite",
+ "x-ms-examples": {
+ "VpnSiteLinkListByVpnSite": {
+ "$ref": "./examples/VpnSiteLinkListByVpnSite.json"
+ }
+ },
+ "description": "Lists all the vpnSiteLinks in a resource group for 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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the vpnSites in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnSiteLinksResult"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/reset": {
+ "post": {
+ "tags": [
+ "VpnGateways"
+ ],
+ "operationId": "VpnGateways_Reset",
+ "description": "Resets the primary of the vpn gateway in the specified resource group.",
+ "parameters": [
+ {
+ "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"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation reset the primary of the VpnGateway.",
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "ResetVpnGateway": {
+ "$ref": "./examples/VpnGatewayReset.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}": {
+ "get": {
+ "operationId": "VpnSiteLinkConnections_Get",
+ "x-ms-examples": {
+ "VpnSiteLinkConnectionGet": {
+ "$ref": "./examples/VpnSiteLinkConnectionGet.json"
+ }
+ },
+ "description": "Retrieves the details of a vpn site link 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."
+ },
+ {
+ "name": "linkConnectionName",
+ "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/VpnSiteLinkConnection"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/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/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections": {
+ "get": {
+ "operationId": "VpnLinkConnections_ListByVpnConnection",
+ "x-ms-examples": {
+ "VpnSiteLinkConnectionList": {
+ "$ref": "./examples/VpnSiteLinkConnectionList.json"
+ }
+ },
+ "description": "Retrieves all vpn site link connections for a particular virtual wan vpn gateway 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 all Vpn connections for a virtual wan vpn gateway.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnSiteLinkConnectionsResult"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealth": {
+ "post": {
+ "tags": [
+ "P2SVpnGateways"
+ ],
+ "operationId": "P2sVpnGateways_GetP2sVpnConnectionHealth",
+ "description": "Gets the connection health of P2S clients of the virtual wan 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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "P2S Vpn Gateway with P2S connection health details.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "P2SVpnGatewayGetConnectionHealth": {
+ "$ref": "./examples/P2SVpnGatewayGetConnectionHealth.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "description": "List of VpnSites in the VirtualWAN."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual WAN resource."
+ }
+ },
+ "description": "Parameters for VirtualWAN."
+ },
+ "VirtualWAN": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualWanProperties",
+ "description": "Properties of the virtual WAN."
+ },
+ "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": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN site resource."
+ },
+ "isSecuritySite": {
+ "type": "boolean",
+ "description": "IsSecuritySite flag."
+ },
+ "vpnSiteLinks": {
+ "type": "array",
+ "description": "List of all vpn site links.",
+ "items": {
+ "$ref": "#/definitions/VpnSiteLink"
+ }
+ }
+ },
+ "description": "Parameters for VpnSite."
+ },
+ "VpnSite": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnSiteProperties",
+ "description": "Properties of the VPN site."
+ },
+ "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": "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."
+ }
+ }
+ },
+ "VpnSiteLinkProperties": {
+ "properties": {
+ "linkProperties": {
+ "description": "The link provider properties.",
+ "$ref": "#/definitions/VpnLinkProviderProperties"
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "The ip-address for the vpn-site-link."
+ },
+ "bgpProperties": {
+ "$ref": "#/definitions/VpnLinkBgpSettings",
+ "description": "The set of bgp properties."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN site link resource."
+ }
+ },
+ "description": "Parameters for VpnSite."
+ },
+ "VpnSiteLink": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnSiteLinkProperties",
+ "description": "Properties of the VPN site link."
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "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."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "VpnSiteLink Resource."
+ },
+ "ListVpnSiteLinksResult": {
+ "description": "Result of the request to list VpnSiteLinks. It contains a list of VpnSiteLinks and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnSiteLink"
+ },
+ "description": "List of VpnSitesLinks."
+ },
+ "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."
+ }
+ },
+ "required": [
+ "outputBlobSasUrl"
+ ],
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual hub resource."
+ }
+ },
+ "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",
+ "description": "Properties of the virtual hub."
+ },
+ "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": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN gateway resource."
+ },
+ "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",
+ "description": "Properties of the VPN gateway."
+ },
+ "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": "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."
+ },
+ "usePolicyBasedTrafficSelectors": {
+ "type": "boolean",
+ "description": "Enable policy-based traffic selectors."
+ },
+ "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."
+ },
+ "useLocalAzureIpAddress": {
+ "type": "boolean",
+ "description": "Use local azure ip to initiate connection."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN connection resource."
+ },
+ "vpnLinkConnections": {
+ "type": "array",
+ "description": "List of all vpn site link connections to the gateway.",
+ "items": {
+ "$ref": "#/definitions/VpnSiteLinkConnection"
+ }
+ }
+ },
+ "description": "Parameters for VpnConnection."
+ },
+ "VpnConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnConnectionProperties",
+ "description": "Properties of the VPN connection."
+ },
+ "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": "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."
+ }
+ }
+ },
+ "VpnSiteLinkConnectionProperties": {
+ "properties": {
+ "vpnSiteLink": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Id of the connected vpn site link."
+ },
+ "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."
+ },
+ "usePolicyBasedTrafficSelectors": {
+ "type": "boolean",
+ "description": "Enable policy-based traffic selectors."
+ },
+ "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."
+ },
+ "useLocalAzureIpAddress": {
+ "type": "boolean",
+ "description": "Use local azure ip to initiate connection."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN site link connection resource."
+ }
+ },
+ "description": "Parameters for VpnConnection."
+ },
+ "VpnSiteLinkConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnSiteLinkConnectionProperties",
+ "description": "Properties of the VPN site link connection."
+ },
+ "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": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "VpnSiteLinkConnection Resource."
+ },
+ "ListVpnSiteLinkConnectionsResult": {
+ "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/VpnSiteLinkConnection"
+ },
+ "description": "List of VpnSiteLinkConnections."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the hub virtual network connection resource."
+ }
+ },
+ "description": "Parameters for HubVirtualNetworkConnection."
+ },
+ "HubVirtualNetworkConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HubVirtualNetworkConnectionProperties",
+ "description": "Properties of the hub virtual network connection."
+ },
+ "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": "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": "List of VirtualWAN security providers."
+ }
+ },
+ "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."
+ },
+ "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
+ }
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN client root certificate resource."
+ }
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the radius server root certificate resource."
+ }
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN client revoked certificate resource."
+ }
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the radius client root certificate resource."
+ }
+ },
+ "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": "VPN protocols 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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the P2S VPN server configuration resource."
+ },
+ "p2SVpnGateways": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "List of references to P2SVpnGateways."
+ },
+ "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",
+ "description": "Properties of the P2SVpnServer 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",
+ "readOnly": true,
+ "description": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the P2S VPN gateway resource."
+ },
+ "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."
+ },
+ "customRoutes": {
+ "$ref": "./virtualNetwork.json#/definitions/AddressSpace",
+ "description": "The reference of the address space resource which represents the custom routes specified by the customer for P2SVpnGateway and 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",
+ "description": "Properties of the P2SVpnGateway."
+ },
+ "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": "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": {
+ "$ref": "./network.json#/definitions/AuthenticationMethod",
+ "description": "VPN client authentication method."
+ }
+ },
+ "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."
+ },
+ "VpnLinkBgpSettings": {
+ "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."
+ }
+ },
+ "description": "BGP settings details for a link."
+ },
+ "VpnLinkProviderProperties": {
+ "properties": {
+ "linkProviderName": {
+ "type": "string",
+ "description": "Name of the link provider."
+ },
+ "linkSpeedInMbps": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Link speed."
+ }
+ },
+ "description": "List of properties of a link provider."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/vmssNetworkInterface.json
new file mode 100644
index 000000000000..240fef9acf6a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/vmssNetworkInterface.json
@@ -0,0 +1,344 @@
+{
+ "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-10-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.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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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/2019-07-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/vmssPublicIpAddress.json
new file mode 100644
index 000000000000..da260b0ce451
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/vmssPublicIpAddress.json
@@ -0,0 +1,223 @@
+{
+ "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-10-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.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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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/2019-07-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/webapplicationfirewall.json
new file mode 100644
index 000000000000..d4545c9f0d0e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/webapplicationfirewall.json
@@ -0,0 +1,537 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-07-01",
+ "title": "WebApplicationFirewallManagement",
+ "description": "APIs to manage web application firewall rules."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": {
+ "get": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Lists all of the protection policies within a resource group.",
+ "operationId": "WebApplicationFirewallPolicies_List",
+ "x-ms-examples": {
+ "Lists all WAF policies in a resource group": {
+ "$ref": "./examples/WafListPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "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": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicyListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": {
+ "get": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "operationId": "WebApplicationFirewallPolicies_ListAll",
+ "x-ms-examples": {
+ "Lists all WAF policies in a subscription": {
+ "$ref": "./examples/WafListAllPolicies.json"
+ }
+ },
+ "description": "Gets all the WAF policies in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicyListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Retrieve protection policy with specified name within a resource group.",
+ "operationId": "WebApplicationFirewallPolicies_Get",
+ "x-ms-examples": {
+ "Gets a WAF policy within a resource group": {
+ "$ref": "./examples/WafPolicyGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 128,
+ "description": "The name of the policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Creates or update policy with specified rule set name within a resource group.",
+ "operationId": "WebApplicationFirewallPolicies_CreateOrUpdate",
+ "x-ms-examples": {
+ "Creates or updates a WAF policy within a resource group": {
+ "$ref": "./examples/WafPolicyCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 128,
+ "description": "The name of the policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "description": "Policy to be created.",
+ "in": "body",
+ "name": "parameters",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ }
+ },
+ {
+ "$ref": "network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new protection policy has been created.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Deletes Policy.",
+ "operationId": "WebApplicationFirewallPolicies_Delete",
+ "x-ms-examples": {
+ "Deletes a WAF policy within a resource group": {
+ "$ref": "./examples/WafPolicyDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 128,
+ "description": "The name of the policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the policy was not found."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "WebApplicationFirewallPolicy": {
+ "description": "Defines web application firewall policy.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WebApplicationFirewallPolicyPropertiesFormat",
+ "description": "Properties of the web application firewall policy."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "WebApplicationFirewallPolicyPropertiesFormat": {
+ "description": "Defines web application firewall policy properties.",
+ "properties": {
+ "policySettings": {
+ "description": "Describes policySettings for policy.",
+ "$ref": "#/definitions/PolicySettings"
+ },
+ "customRules": {
+ "description": "Describes custom rules inside the policy.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WebApplicationFirewallCustomRule"
+ }
+ },
+ "applicationGateways": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./applicationGateway.json#/definitions/ApplicationGateway"
+ },
+ "description": "A collection of references to application gateways."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the web application firewall policy resource."
+ },
+ "resourceState": {
+ "title": "Resource status of the policy.",
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource status of the policy.",
+ "enum": [
+ "Creating",
+ "Enabling",
+ "Enabled",
+ "Disabling",
+ "Disabled",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallPolicyResourceState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "WebApplicationFirewallPolicyListResult": {
+ "description": "Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ },
+ "description": "List of WebApplicationFirewallPolicies within a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any."
+ }
+ }
+ },
+ "PolicySettings": {
+ "description": "Defines contents of a web application firewall global configuration.",
+ "properties": {
+ "enabledState": {
+ "description": "Describes if the policy is in enabled state or disabled state.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallEnabledState",
+ "modelAsString": true
+ }
+ },
+ "mode": {
+ "description": "Describes if it is in detection mode or prevention mode at policy level.",
+ "type": "string",
+ "enum": [
+ "Prevention",
+ "Detection"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallMode",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "WebApplicationFirewallCustomRule": {
+ "description": "Defines contents of a web application rule.",
+ "required": [
+ "priority",
+ "ruleType",
+ "matchConditions",
+ "action"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a policy. This name can be used to access the resource.",
+ "maxLength": 128
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "priority": {
+ "description": "Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.",
+ "type": "integer"
+ },
+ "ruleType": {
+ "description": "Describes type of rule.",
+ "type": "string",
+ "enum": [
+ "MatchRule",
+ "Invalid"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallRuleType",
+ "modelAsString": true
+ }
+ },
+ "matchConditions": {
+ "description": "List of match conditions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MatchCondition"
+ }
+ },
+ "action": {
+ "description": "Type of Actions.",
+ "type": "string",
+ "enum": [
+ "Allow",
+ "Block",
+ "Log"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallAction",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Transform": {
+ "description": "Describes what transforms applied before matching.",
+ "type": "string",
+ "enum": [
+ "Lowercase",
+ "Trim",
+ "UrlDecode",
+ "UrlEncode",
+ "RemoveNulls",
+ "HtmlEntityDecode"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallTransform",
+ "modelAsString": true
+ }
+ },
+ "MatchVariable": {
+ "description": "Define match variables.",
+ "required": [
+ "variableName"
+ ],
+ "properties": {
+ "variableName": {
+ "description": "Match Variable.",
+ "type": "string",
+ "enum": [
+ "RemoteAddr",
+ "RequestMethod",
+ "QueryString",
+ "PostArgs",
+ "RequestUri",
+ "RequestHeaders",
+ "RequestBody",
+ "RequestCookies"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallMatchVariable",
+ "modelAsString": true
+ }
+ },
+ "selector": {
+ "description": "Describes field of the matchVariable collection.",
+ "type": "string"
+ }
+ }
+ },
+ "MatchCondition": {
+ "description": "Define match conditions.",
+ "required": [
+ "matchVariables",
+ "operator",
+ "matchValues"
+ ],
+ "properties": {
+ "matchVariables": {
+ "description": "List of match variables.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MatchVariable"
+ }
+ },
+ "operator": {
+ "description": "Describes operator to be matched.",
+ "type": "string",
+ "enum": [
+ "IPMatch",
+ "Equal",
+ "Contains",
+ "LessThan",
+ "GreaterThan",
+ "LessThanOrEqual",
+ "GreaterThanOrEqual",
+ "BeginsWith",
+ "EndsWith",
+ "Regex"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallOperator",
+ "modelAsString": true
+ }
+ },
+ "negationConditon": {
+ "description": "Describes if this is negate condition or not.",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "Match value.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Transform"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/applicationGateway.json
new file mode 100644
index 000000000000..cceedf2c8485
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/applicationGateway.json
@@ -0,0 +1,2677 @@
+{
+ "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": "2019-08-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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",
+ "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-examples": {
+ "Create Application Gateway": {
+ "$ref": "./examples/ApplicationGatewayCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/getBackendHealthOnDemand": {
+ "post": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_BackendHealthOnDemand",
+ "description": "Gets the backend health for given combination of backend pool and http setting of the specified application gateway in a resource group.",
+ "x-ms-examples": {
+ "Test Backend Health": {
+ "$ref": "./examples/ApplicationGatewayBackendHealthTest.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."
+ },
+ {
+ "name": "probeRequest",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayOnDemandProbe"
+ },
+ "description": "Request body for on-demand test probe operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealthOnDemand"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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": {
+ "ApplicationGatewayOnDemandProbe": {
+ "properties": {
+ "protocol": {
+ "$ref": "#/definitions/ApplicationGatewayProtocol",
+ "description": "The protocol used for the probe."
+ },
+ "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 ://:."
+ },
+ "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."
+ },
+ "pickHostNameFromBackendHttpSettings": {
+ "type": "boolean",
+ "description": "Whether the host header should be picked from the backend http settings. Default value is false."
+ },
+ "match": {
+ "$ref": "#/definitions/ApplicationGatewayProbeHealthResponseMatch",
+ "description": "Criterion for classifying a healthy probe response."
+ },
+ "backendAddressPool": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of backend pool of application gateway to which probe request will be sent."
+ },
+ "backendHttpSettings": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of backend http setting of application gateway to be used for test probe."
+ }
+ },
+ "description": "Details of on demand test probe request."
+ },
+ "ApplicationGatewayBackendHealthOnDemand": {
+ "properties": {
+ "backendAddressPool": {
+ "$ref": "#/definitions/ApplicationGatewayBackendAddressPool",
+ "description": "Reference of an ApplicationGatewayBackendAddressPool resource."
+ },
+ "backendHealthHttpSettings": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealthHttpSettings",
+ "description": "Application gateway BackendHealthHttp settings."
+ }
+ },
+ "description": "Result of on demand test probe."
+ },
+ "ApplicationGatewayBackendHealth": {
+ "properties": {
+ "backendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealthPool"
+ },
+ "description": "A list of ApplicationGatewayBackendHealthPool resources."
+ }
+ },
+ "description": "Response for ApplicationGatewayBackendHealth API service call."
+ },
+ "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
+ }
+ },
+ "healthProbeLog": {
+ "type": "string",
+ "description": "Health Probe Log."
+ }
+ },
+ "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"
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the application gateway IP configuration resource."
+ }
+ },
+ "description": "Properties of IP configuration of an application gateway."
+ },
+ "ApplicationGatewayIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayIPConfigurationPropertiesFormat",
+ "description": "Properties of the application gateway IP configuration."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the authentication certificate resource."
+ }
+ },
+ "description": "Authentication certificates properties of an application gateway."
+ },
+ "ApplicationGatewayAuthenticationCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificatePropertiesFormat",
+ "description": "Properties of the application gateway authentication certificate."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the trusted root certificate resource."
+ }
+ },
+ "description": "Trusted Root certificates properties of an application gateway."
+ },
+ "ApplicationGatewayTrustedRootCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificatePropertiesFormat",
+ "description": "Properties of the application gateway trusted root certificate."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the SSL certificate resource."
+ }
+ },
+ "description": "Properties of SSL certificates of an application gateway."
+ },
+ "ApplicationGatewaySslCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewaySslCertificatePropertiesFormat",
+ "description": "Properties of the application gateway SSL certificate."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The private IP address allocation method."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the frontend IP configuration resource."
+ }
+ },
+ "description": "Properties of Frontend IP configuration of an application gateway."
+ },
+ "ApplicationGatewayFrontendIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayFrontendIPConfigurationPropertiesFormat",
+ "description": "Properties of the application gateway frontend IP configuration."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the frontend port resource."
+ }
+ },
+ "description": "Properties of Frontend port of an application gateway."
+ },
+ "ApplicationGatewayFrontendPort": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayFrontendPortPropertiesFormat",
+ "description": "Properties of the application gateway frontend port."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the backend address pool resource."
+ }
+ },
+ "description": "Properties of Backend Address Pool of an application gateway."
+ },
+ "ApplicationGatewayBackendAddressPool": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayBackendAddressPoolPropertiesFormat",
+ "description": "Properties of the application gateway backend address pool."
+ },
+ "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": {
+ "$ref": "#/definitions/ApplicationGatewayProtocol",
+ "description": "The protocol used to communicate with the backend."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the backend HTTP settings resource."
+ }
+ },
+ "description": "Properties of Backend address pool settings of an application gateway."
+ },
+ "ApplicationGatewayBackendHttpSettings": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayBackendHttpSettingsPropertiesFormat",
+ "description": "Properties of the application gateway backend HTTP settings."
+ },
+ "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": {
+ "$ref": "#/definitions/ApplicationGatewayProtocol",
+ "description": "Protocol of the HTTP listener."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the HTTP listener resource."
+ },
+ "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",
+ "description": "Properties of the application gateway HTTP listener."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the path rule resource."
+ }
+ },
+ "description": "Properties of path rule of an application gateway."
+ },
+ "ApplicationGatewayPathRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayPathRulePropertiesFormat",
+ "description": "Properties of the application gateway path rule."
+ },
+ "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": {
+ "$ref": "#/definitions/ApplicationGatewayProtocol",
+ "description": "The protocol used for the probe."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the probe resource."
+ },
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only.",
+ "minimum": 1,
+ "maximum": 65535
+ }
+ },
+ "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",
+ "description": "Properties of the application gateway probe."
+ },
+ "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
+ }
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "exclusiveMinimum": false,
+ "maximum": 20000,
+ "exclusiveMaximum": false,
+ "description": "Priority of the request routing rule."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the request routing rule resource."
+ }
+ },
+ "description": "Properties of request routing rule of the application gateway."
+ },
+ "ApplicationGatewayRequestRoutingRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayRequestRoutingRulePropertiesFormat",
+ "description": "Properties of the application gateway request routing rule."
+ },
+ "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",
+ "description": "Properties of the application gateway rewrite rule set."
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the rewrite rule set resource."
+ }
+ },
+ "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": "HTTP redirection type."
+ },
+ "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",
+ "description": "Properties of the application gateway redirect configuration."
+ },
+ "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."
+ },
+ "firewallPolicy": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of the FirewallPolicy resource."
+ },
+ "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": "The resource GUID property of the application gateway resource."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the application gateway resource."
+ },
+ "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",
+ "description": "Properties of the application gateway."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the URL path map resource."
+ }
+ },
+ "description": "Properties of UrlPathMap of the application gateway."
+ },
+ "ApplicationGatewayUrlPathMap": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayUrlPathMapPropertiesFormat",
+ "description": "Properties of the application gateway URL path map."
+ },
+ "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",
+ "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",
+ "description": "Properties of the application gateway firewall rule set."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "A web application firewall rule set."
+ },
+ "ApplicationGatewayFirewallRuleSetPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "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",
+ "description": "Properties of the application gateway available SSL options."
+ }
+ },
+ "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",
+ "description": "Properties of the application gateway SSL predefined policy."
+ }
+ },
+ "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",
+ "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySslCipherSuite",
+ "modelAsString": true
+ }
+ },
+ "RedirectTypeEnum": {
+ "type": "string",
+ "description": "Redirect type enum.",
+ "enum": [
+ "Permanent",
+ "Found",
+ "SeeOther",
+ "Temporary"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayRedirectType",
+ "modelAsString": true
+ }
+ },
+ "ApplicationGatewayProtocol": {
+ "type": "string",
+ "description": "Application Gateway protocol.",
+ "enum": [
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayProtocol",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/applicationSecurityGroup.json
new file mode 100644
index 000000000000..e1215eb6a7cf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/applicationSecurityGroup.json
@@ -0,0 +1,371 @@
+{
+ "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": "2019-08-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the application security group resource."
+ }
+ },
+ "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/2019-08-01/availableDelegations.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/availableDelegations.json
new file mode 100644
index 000000000000..c8795a921712
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-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": "2019-08-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/2019-08-01/availableServiceAliases.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/availableServiceAliases.json
new file mode 100644
index 000000000000..d80bdd5927cf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/availableServiceAliases.json
@@ -0,0 +1,159 @@
+{
+ "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": "2019-08-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}/availableServiceAliases": {
+ "get": {
+ "operationId": "AvailableServiceAliases_List",
+ "description": "Gets all available service aliases for this subscription in this region.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location."
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all available service aliases for the subscription in the region.",
+ "schema": {
+ "$ref": "#/definitions/AvailableServiceAliasesResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available service aliases": {
+ "$ref": "./examples/AvailableServiceAliasesList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableServiceAliases": {
+ "get": {
+ "operationId": "AvailableServiceAliases_ListByResourceGroup",
+ "description": "Gets all available service aliases for this resource group in this region.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location."
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all available service aliases for the resource group in the region.",
+ "schema": {
+ "$ref": "#/definitions/AvailableServiceAliasesResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available service aliases in the resource group": {
+ "$ref": "./examples/AvailableServiceAliasesListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AvailableServiceAlias": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the service alias."
+ },
+ "id": {
+ "type": "string",
+ "description": "The ID of the service alias."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource."
+ },
+ "resourceName": {
+ "type": "string",
+ "description": "The resource name of the service alias."
+ }
+ },
+ "description": "The available service alias."
+ },
+ "AvailableServiceAliasesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AvailableServiceAlias"
+ },
+ "description": "An array of available service aliases."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "An array of available service aliases."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/azureFirewall.json
new file mode 100644
index 000000000000..983a8784a992
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/azureFirewall.json
@@ -0,0 +1,917 @@
+{
+ "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": "2019-08-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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"
+ },
+ "Get Azure Firewall With Zones": {
+ "$ref": "./examples/AzureFirewallGetWithZones.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"
+ },
+ "Create Azure Firewall With Zones": {
+ "$ref": "./examples/AzureFirewallPutWithZones.json"
+ },
+ "Create Azure Firewall in virtual Hub": {
+ "$ref": "./examples/AzureFirewallPutInHub.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "patch": {
+ "tags": [
+ "AzureFirewalls"
+ ],
+ "operationId": "AzureFirewalls_UpdateTags",
+ "description": "Updates tags for an Azure Firewall resource.",
+ "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": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting AzureFirewall resource.",
+ "schema": {
+ "$ref": "#/definitions/AzureFirewall"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Azure Firewall Tags": {
+ "$ref": "./examples/AzureFirewallUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the Azure firewall IP configuration resource."
+ }
+ },
+ "description": "Properties of IP configuration of an Azure Firewall."
+ },
+ "AzureFirewallIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFirewallIPConfigurationPropertiesFormat",
+ "description": "Properties of the azure firewall IP configuration."
+ },
+ "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."
+ },
+ "AzureFirewallPublicIPAddress": {
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "Public IP Address value."
+ }
+ },
+ "description": "Public IP Address associated with azure firewall."
+ },
+ "HubIPAddresses": {
+ "properties": {
+ "publicIPAddresses": {
+ "type": "array",
+ "description": "List of Public IP addresses associated with azure firewall.",
+ "items": {
+ "$ref": "#/definitions/AzureFirewallPublicIPAddress"
+ }
+ },
+ "privateIPAddress": {
+ "type": "string",
+ "description": "Private IP Address associated with azure firewall."
+ }
+ },
+ "description": "IP addresses associated with 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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the Azure firewall resource."
+ },
+ "threatIntelMode": {
+ "description": "The operation mode for Threat Intelligence.",
+ "$ref": "#/definitions/AzureFirewallThreatIntelMode"
+ },
+ "virtualHub": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The virtualHub to which the firewall belongs."
+ },
+ "firewallPolicy": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The firewallPolicy associated with this azure firewall."
+ },
+ "hubIpAddresses": {
+ "readOnly": true,
+ "description": "IP addresses associated with AzureFirewall.",
+ "$ref": "#/definitions/HubIPAddresses"
+ },
+ "sku": {
+ "description": "The Azure Firewall Resource SKU.",
+ "$ref": "#/definitions/AzureFirewallSku"
+ }
+ },
+ "description": "Properties of the Azure Firewall."
+ },
+ "AzureFirewall": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFirewallPropertiesFormat",
+ "description": "Properties of the azure firewall."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting where the resource needs to come from."
+ },
+ "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": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the application rule collection resource."
+ }
+ },
+ "description": "Properties of the application rule collection."
+ },
+ "AzureFirewallApplicationRuleCollection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFirewallApplicationRuleCollectionPropertiesFormat",
+ "description": "Properties of the azure firewall application rule collection."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within the Azure firewall. 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": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the NAT rule collection resource."
+ }
+ },
+ "description": "Properties of the NAT rule collection."
+ },
+ "AzureFirewallNatRuleCollection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFirewallNatRuleCollectionProperties",
+ "description": "Properties of the azure firewall NAT rule collection."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within the Azure firewall. 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": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network rule collection resource."
+ }
+ },
+ "description": "Properties of the network rule collection."
+ },
+ "AzureFirewallNetworkRuleCollection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFirewallNetworkRuleCollectionPropertiesFormat",
+ "description": "Properties of the azure firewall network rule collection."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within the Azure firewall. 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": "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
+ }
+ },
+ "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",
+ "Mssql"
+ ],
+ "x-ms-enum": {
+ "name": "AzureFirewallApplicationRuleProtocolType",
+ "modelAsString": true
+ }
+ },
+ "AzureFirewallSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of an Azure Firewall SKU.",
+ "enum": [
+ "AZFW_VNet",
+ "AZFW_Hub"
+ ],
+ "x-ms-enum": {
+ "name": "AzureFirewallSkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Tier of an Azure Firewall.",
+ "enum": [
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "AzureFirewallSkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "SKU of an Azure Firewall."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/azureFirewallFqdnTag.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/azureFirewallFqdnTag.json
new file mode 100644
index 000000000000..df546b8b0e25
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/azureFirewallFqdnTag.json
@@ -0,0 +1,124 @@
+{
+ "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": "2019-08-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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the Azure firewall FQDN tag 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",
+ "description": "Properties of the azure firewall FQDN tag."
+ },
+ "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": "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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/bastionHost.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/bastionHost.json
new file mode 100644
index 000000000000..8e155dc988dc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/bastionHost.json
@@ -0,0 +1,377 @@
+{
+ "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": "2019-08-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/bastionHosts/{bastionHostName}": {
+ "delete": {
+ "tags": [
+ "BastionHosts"
+ ],
+ "operationId": "BastionHosts_Delete",
+ "description": "Deletes the specified Bastion Host.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "bastionHostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Bastion Host."
+ },
+ {
+ "$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 Bastion Host": {
+ "$ref": "./examples/BastionHostDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "BastionHosts"
+ ],
+ "operationId": "BastionHosts_Get",
+ "description": "Gets the specified Bastion Host.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "bastionHostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Bastion Host."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns an BastionHost resource.",
+ "schema": {
+ "$ref": "#/definitions/BastionHost"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Bastion Host": {
+ "$ref": "./examples/BastionHostGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BastionHosts"
+ ],
+ "operationId": "BastionHosts_CreateOrUpdate",
+ "description": "Creates or updates the specified Bastion Host.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "bastionHostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Bastion Host."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BastionHost"
+ },
+ "description": "Parameters supplied to the create or update Bastion Host operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting Bastion Host resource.",
+ "schema": {
+ "$ref": "#/definitions/BastionHost"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting Bastion Host resource.",
+ "schema": {
+ "$ref": "#/definitions/BastionHost"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create Bastion Host": {
+ "$ref": "./examples/BastionHostPut.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts": {
+ "get": {
+ "tags": [
+ "BastionHosts"
+ ],
+ "operationId": "BastionHosts_List",
+ "description": "Lists all Bastion Hosts in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of Bastion Host resources.",
+ "schema": {
+ "$ref": "#/definitions/BastionHostListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Bastion Hosts for a given subscription": {
+ "$ref": "./examples/BastionHostListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts": {
+ "get": {
+ "tags": [
+ "BastionHosts"
+ ],
+ "operationId": "BastionHosts_ListByResourceGroup",
+ "description": "Lists all Bastion Hosts 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 BastionHost resources.",
+ "schema": {
+ "$ref": "#/definitions/BastionHostListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Bastion Hosts for a given resource group": {
+ "$ref": "./examples/BastionHostListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BastionHostIPConfigurationPropertiesFormat": {
+ "properties": {
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the bastion host IP configuration resource."
+ },
+ "privateIPAllocationMethod": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "Private IP allocation method."
+ }
+ },
+ "required": [
+ "subnet",
+ "publicIPAddress"
+ ],
+ "description": "Properties of IP configuration of an Bastion Host."
+ },
+ "BastionHostIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BastionHostIPConfigurationPropertiesFormat",
+ "description": "Represents the ip configuration associated with the resource."
+ },
+ "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."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Ip configuration type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "IP configuration of an Bastion Host."
+ },
+ "BastionHostPropertiesFormat": {
+ "properties": {
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BastionHostIPConfiguration"
+ },
+ "description": "IP configuration of the Bastion Host resource."
+ },
+ "dnsName": {
+ "type": "string",
+ "description": "FQDN for the endpoint on which bastion host is accessible."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the bastion host resource."
+ }
+ },
+ "description": "Properties of the Bastion Host."
+ },
+ "BastionHost": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BastionHostPropertiesFormat",
+ "description": "Represents the bastion host resource."
+ },
+ "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": "Bastion Host resource."
+ },
+ "BastionHostListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BastionHost"
+ },
+ "description": "List of Bastion Hosts in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListBastionHosts API service call."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/checkDnsAvailability.json
new file mode 100644
index 000000000000..3bfe7f1b91d4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/checkDnsAvailability.json
@@ -0,0 +1,90 @@
+{
+ "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": "2019-08-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/2019-08-01/ddosCustomPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/ddosCustomPolicy.json
new file mode 100644
index 000000000000..8d4f6d361bba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/ddosCustomPolicy.json
@@ -0,0 +1,400 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "NetworkManagementClient",
+ "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.",
+ "version": "2019-08-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the DDoS custom policy resource."
+ },
+ "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/2019-08-01/ddosProtectionPlan.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/ddosProtectionPlan.json
new file mode 100644
index 000000000000..c820a3e11509
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/ddosProtectionPlan.json
@@ -0,0 +1,401 @@
+{
+ "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": "2019-08-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create DDoS protection plan": {
+ "$ref": "./examples/DdosProtectionPlanCreate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DdosProtectionPlans"
+ ],
+ "operationId": "DdosProtectionPlans_UpdateTags",
+ "description": "Update a DDoS protection plan tags.",
+ "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": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the update DDoS protection plan resource tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "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": {
+ "DDoS protection plan Update tags": {
+ "$ref": "./examples/DdosProtectionPlanUpdateTags.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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the DDoS protection plan resource."
+ },
+ "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/2019-08-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/endpointService.json
new file mode 100644
index 000000000000..b268030e7eb0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/endpointService.json
@@ -0,0 +1,113 @@
+{
+ "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": "2019-08-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/2019-08-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json
new file mode 100644
index 000000000000..b6781ebcae22
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ "Accept-Charset"
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json
new file mode 100644
index 000000000000..4e1f73236951
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ "Access-Control-Allow-Origin"
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableServerVariablesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableServerVariablesGet.json
new file mode 100644
index 000000000000..689167b01a77
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableServerVariablesGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ "request_query"
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
new file mode 100644
index 000000000000..3b7deec13cbd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default",
+ "type": "Microsoft.Network/ApplicationGatewayAvailableSslOptions",
+ "properties": {
+ "predefinedPolicies": [
+ {
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S"
+ }
+ ],
+ "defaultPolicy": "AppGwSslPolicy20150501",
+ "availableCipherSuites": [
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "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",
+ "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
+ ],
+ "availableProtocols": [
+ "TLSv1_0",
+ "TLSv1_1",
+ "TLSv1_2"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
new file mode 100644
index 000000000000..11f673c3fe19
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "AppGwSslPolicy20150501",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501",
+ "properties": {
+ "cipherSuites": [
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "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",
+ "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
+ ],
+ "minProtocolVersion": "TLSv1_0"
+ }
+ },
+ {
+ "name": "AppGwSslPolicy20170401",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401",
+ "properties": {
+ "cipherSuites": [
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
+ "TLS_ECDHE_RSA_WITH_AES_256_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"
+ ],
+ "minProtocolVersion": "TLSv1_1"
+ }
+ },
+ {
+ "name": "AppGwSslPolicy20170401S",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S",
+ "properties": {
+ "cipherSuites": [
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
+ "TLS_ECDHE_RSA_WITH_AES_256_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"
+ ],
+ "minProtocolVersion": "TLSv1_2"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
new file mode 100644
index 000000000000..070eff271b55
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "predefinedPolicyName": "AppGwSslPolicy20150501"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "AppGwSslPolicy20150501",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501",
+ "properties": {
+ "cipherSuites": [
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "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",
+ "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
+ ],
+ "minProtocolVersion": "TLSv1_0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
new file mode 100644
index 000000000000..b7fa99f9f48f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ApplicationGatewayBackendHealthGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayBackendHealthGet.json
new file mode 100644
index 000000000000..426272812f92
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayBackendHealthGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ApplicationGatewayBackendHealthTest.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayBackendHealthTest.json
new file mode 100644
index 000000000000..e7591bdb1e68
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayBackendHealthTest.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw",
+ "probeRequest": {
+ "protocol": "Http",
+ "pickHostNameFromBackendHttpSettings": true,
+ "path": "/",
+ "timeout": 30,
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool"
+ },
+ "backendHealthHttpSettings": {
+ "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/2019-08-01/examples/ApplicationGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayCreate.json
new file mode 100644
index 000000000000..936de8444b27
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayCreate.json
@@ -0,0 +1,734 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw",
+ "parameters": {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ },
+ "location": "eastus",
+ "properties": {
+ "sku": {
+ "name": "Standard_v2",
+ "tier": "Standard_v2",
+ "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",
+ "priority": 10,
+ "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",
+ "priority": 20,
+ "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_add_x_forwarded_for_proxy}"
+ }
+ ],
+ "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/2019-08-01/examples/ApplicationGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayDelete.json
new file mode 100644
index 000000000000..60791f47484e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayGet.json
new file mode 100644
index 000000000000..d6fb02b6e19d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayGet.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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",
+ "priority": 10,
+ "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",
+ "priority": 20,
+ "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/2019-08-01/examples/ApplicationGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayList.json
new file mode 100644
index 000000000000..93dbfa07a51e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayList.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ApplicationGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayListAll.json
new file mode 100644
index 000000000000..e82008829624
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayListAll.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ApplicationGatewayStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayStart.json
new file mode 100644
index 000000000000..bf1fa660dffd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayStop.json
new file mode 100644
index 000000000000..bf1fa660dffd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayUpdateTags.json
new file mode 100644
index 000000000000..9a1e723ecd89
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationGatewayUpdateTags.json
@@ -0,0 +1,148 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationSecurityGroupCreate.json
new file mode 100644
index 000000000000..7c3300754e82
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationSecurityGroupCreate.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationSecurityGroupDelete.json
new file mode 100644
index 000000000000..487ad5630036
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationSecurityGroupGet.json
new file mode 100644
index 000000000000..8575466c0956
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationSecurityGroupGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationSecurityGroupList.json
new file mode 100644
index 000000000000..f724725778da
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationSecurityGroupList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationSecurityGroupListAll.json
new file mode 100644
index 000000000000..ad64bcc001e6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationSecurityGroupListAll.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ApplicationSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..187174f66db3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ApplicationSecurityGroupUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/AutoApprovedPrivateLinkServicesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AutoApprovedPrivateLinkServicesGet.json
new file mode 100644
index 000000000000..6915b2e06804
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AutoApprovedPrivateLinkServicesGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "location": "regionName",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1"
+ },
+ {
+ "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2"
+ },
+ {
+ "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls3"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json
new file mode 100644
index 000000000000..9698bd78ea1b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "location": "regionName",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1"
+ },
+ {
+ "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2"
+ },
+ {
+ "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls3"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailableDelegationsResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailableDelegationsResourceGroupGet.json
new file mode 100644
index 000000000000..26d3f64ecf59
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailableDelegationsResourceGroupGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "location": "westcentralus",
+ "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/2019-08-01/examples/AvailableDelegationsSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailableDelegationsSubscriptionGet.json
new file mode 100644
index 000000000000..4020aa4d8f0b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailableDelegationsSubscriptionGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "location": "westcentralus",
+ "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/2019-08-01/examples/AvailablePrivateEndpointTypesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailablePrivateEndpointTypesGet.json
new file mode 100644
index 000000000000..f6fe957374b4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailablePrivateEndpointTypesGet.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "location": "regionName",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType",
+ "type": "Microsoft.Network/availablePrivateEndpointTypes",
+ "resourceName": "Microsoft.Provider/resourceType"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json
new file mode 100644
index 000000000000..3c2f746d8009
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "location": "regionName",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType",
+ "type": "Microsoft.Network/availablePrivateEndpointTypes",
+ "resourceName": "Microsoft.Provider/resourceType"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailableServiceAliasesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailableServiceAliasesList.json
new file mode 100644
index 000000000000..f6dd175fa990
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailableServiceAliasesList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "location": "westcentralus",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "servicesAzure",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/AvailableServiceAliases/servicesAzure",
+ "type": "Microsoft.Network/AvailableServiceAliases",
+ "resourceName": "/services/Azure"
+ },
+ {
+ "name": "servicesAzureManagedInstance",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureManagedInstance",
+ "type": "Microsoft.Network/AvailableServiceAliases",
+ "resourceName": "/services/Azure/ManagedInstance"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailableServiceAliasesListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailableServiceAliasesListByResourceGroup.json
new file mode 100644
index 000000000000..62158cf6dcb1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AvailableServiceAliasesListByResourceGroup.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "location": "westcentralus",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "servicesAzure",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/AvailableServiceAliases/servicesAzure",
+ "type": "Microsoft.Network/AvailableServiceAliases",
+ "resourceName": "/services/Azure"
+ },
+ {
+ "name": "servicesAzureManagedInstance",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureManagedInstance",
+ "type": "Microsoft.Network/AvailableServiceAliases",
+ "resourceName": "/services/Azure/ManagedInstance"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallDelete.json
new file mode 100644
index 000000000000..f6260f73b8cf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallFqdnTagsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallFqdnTagsListBySubscription.json
new file mode 100644
index 000000000000..65a76bbf4fed
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallFqdnTagsListBySubscription.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/AzureFirewallGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallGet.json
new file mode 100644
index 000000000000..6ffc23b41195
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallGet.json
@@ -0,0 +1,140 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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",
+ "zones": [],
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sku": {
+ "name": "AZFW_VNet",
+ "tier": "Standard"
+ },
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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/2019-08-01/examples/AzureFirewallGetWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallGetWithZones.json
new file mode 100644
index 000000000000..bf24fb8dc20d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallGetWithZones.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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 2",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sku": {
+ "name": "AZFW_VNet",
+ "tier": "Standard"
+ },
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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/2019-08-01/examples/AzureFirewallListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallListByResourceGroup.json
new file mode 100644
index 000000000000..ca1ac4468243
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallListByResourceGroup.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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",
+ "zones": [],
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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/2019-08-01/examples/AzureFirewallListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallListBySubscription.json
new file mode 100644
index 000000000000..3501ccd5a303
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallListBySubscription.json
@@ -0,0 +1,138 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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",
+ "zones": [],
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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/2019-08-01/examples/AzureFirewallPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallPut.json
new file mode 100644
index 000000000000..47e9bd9708f2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallPut.json
@@ -0,0 +1,389 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall",
+ "parameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "zones": [],
+ "properties": {
+ "sku": {
+ "name": "AZFW_VNet",
+ "tier": "Standard"
+ },
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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",
+ "zones": [],
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sku": {
+ "name": "AZFW_VNet",
+ "tier": "Standard"
+ },
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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",
+ "zones": [],
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sku": {
+ "name": "AZFW_VNet",
+ "tier": "Standard"
+ },
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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/2019-08-01/examples/AzureFirewallPutInHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallPutInHub.json
new file mode 100644
index 000000000000..c655b7db8b6a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallPutInHub.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall",
+ "parameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "zones": [],
+ "properties": {
+ "sku": {
+ "name": "AZFW_Hub",
+ "tier": "Standard"
+ },
+ "threatIntelMode": "Alert",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"
+ },
+ "firewallPolicy": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1"
+ }
+ }
+ }
+ },
+ "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",
+ "zones": [],
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sku": {
+ "name": "AZFW_Hub",
+ "tier": "Standard"
+ },
+ "threatIntelMode": "Alert",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"
+ },
+ "firewallPolicy": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1"
+ },
+ "hubIpAddresses": {
+ "publicIPAddresses": [
+ {
+ "address": "13.73.240.12"
+ }
+ ],
+ "privateIPAddress": "10.0.0.0"
+ }
+ }
+ }
+ },
+ "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",
+ "zones": [],
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sku": {
+ "name": "AZFW_Hub",
+ "tier": "Standard"
+ },
+ "threatIntelMode": "Alert",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"
+ },
+ "firewallPolicy": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1"
+ },
+ "hubIpAddresses": {
+ "publicIPAddresses": [
+ {
+ "address": "13.73.240.12"
+ }
+ ],
+ "privateIPAddress": "10.0.0.0"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallPutWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallPutWithZones.json
new file mode 100644
index 000000000000..a9eee3d3ed9f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallPutWithZones.json
@@ -0,0 +1,401 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall",
+ "parameters": {
+ "location": "West US 2",
+ "tags": {
+ "key1": "value1"
+ },
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "properties": {
+ "threatIntelMode": "Alert",
+ "sku": {
+ "name": "AZFW_VNet",
+ "tier": "Standard"
+ },
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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 2",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sku": {
+ "name": "AZFW_VNet",
+ "tier": "Standard"
+ },
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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 2",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sku": {
+ "name": "AZFW_VNet",
+ "tier": "Standard"
+ },
+ "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": {
+ "type": "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": {
+ "type": "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": {
+ "type": "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/2019-08-01/examples/AzureFirewallUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallUpdateTags.json
new file mode 100644
index 000000000000..641db98c41a4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/AzureFirewallUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "azfwtest",
+ "azureFirewallName": "fw1",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "fw1",
+ "id": "/subscriptions/subid/resourceGroups/azfwtest/providers/Microsoft.Network/azureFirewalls/fw1",
+ "type": "Microsoft.Network/azureFirewalls",
+ "location": "brazilsouth",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostDelete.json
new file mode 100644
index 000000000000..fc9814f5b68c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "bastionHostName": "bastionhosttenant"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostGet.json
new file mode 100644
index 000000000000..e12949fcf1b8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostGet.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "bastionHostName": "bastionhosttenant'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "bastionhost'",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
+ "type": "Microsoft.Network/bastionHosts",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostListByResourceGroup.json
new file mode 100644
index 000000000000..3fdb1e36b3a0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostListByResourceGroup.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "bastionhost'",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
+ "type": "Microsoft.Network/bastionHosts",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostListBySubscription.json
new file mode 100644
index 000000000000..05903603d987
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostListBySubscription.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "bastionhost'",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
+ "type": "Microsoft.Network/bastionHosts",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostPut.json
new file mode 100644
index 000000000000..69011af79455
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/BastionHostPut.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "bastionHostName": "bastionhosttenant'",
+ "parameters": {
+ "properties": {
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "bastionhost'",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
+ "type": "Microsoft.Network/bastionHosts",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "bastionhost'",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
+ "type": "Microsoft.Network/bastionHosts",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
+ "ipConfigurations": [
+ {
+ "name": "bastionHostIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckDnsNameAvailability.json
new file mode 100644
index 000000000000..a7dbc1a28dc3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckDnsNameAvailability.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "location": "westus",
+ "domainNameLabel": "testdns"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "available": false
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibility.json
new file mode 100644
index 000000000000..2df87c4d8b80
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibility.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "location": "westus",
+ "parameters": {
+ "privateLinkServiceAlias": "mypls.00000000-0000-0000-0000-000000000000.azure.privatelinkservice"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "visible": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json
new file mode 100644
index 000000000000..5ae8958bcb49
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "location": "westus",
+ "resourceGroupName": "rg1",
+ "parameters": {
+ "privateLinkServiceAlias": "mypls.00000000-0000-0000-0000-000000000000.azure.privatelinkservice"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "visible": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosCustomPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosCustomPolicyCreate.json
new file mode 100644
index 000000000000..ae7589e1c10d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosCustomPolicyCreate.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosCustomPolicyName": "test-ddos-custom-policy",
+ "parameters": {
+ "location": "centraluseuap",
+ "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": "centraluseuap",
+ "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": "centraluseuap",
+ "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/2019-08-01/examples/DdosCustomPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosCustomPolicyDelete.json
new file mode 100644
index 000000000000..183b0f06ff0e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosCustomPolicyDelete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/DdosCustomPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosCustomPolicyGet.json
new file mode 100644
index 000000000000..723e076fb6ca
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosCustomPolicyGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/DdosCustomPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosCustomPolicyUpdateTags.json
new file mode 100644
index 000000000000..45b70f83694e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosCustomPolicyUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/DdosProtectionPlanCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosProtectionPlanCreate.json
new file mode 100644
index 000000000000..d3fef78f86e2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosProtectionPlanCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/DdosProtectionPlanDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosProtectionPlanDelete.json
new file mode 100644
index 000000000000..305ce67bfde8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosProtectionPlanDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosProtectionPlanGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosProtectionPlanGet.json
new file mode 100644
index 000000000000..928633a81979
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosProtectionPlanGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/DdosProtectionPlanList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosProtectionPlanList.json
new file mode 100644
index 000000000000..b9e7f26ac2d6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosProtectionPlanList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/DdosProtectionPlanListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosProtectionPlanListAll.json
new file mode 100644
index 000000000000..b68e2af26663
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosProtectionPlanListAll.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/DdosProtectionPlanUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosProtectionPlanUpdateTags.json
new file mode 100644
index 000000000000..c7b253094cad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DdosProtectionPlanUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-plan",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DefaultSecurityRuleGet.json
new file mode 100644
index 000000000000..95211fc8f798
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DefaultSecurityRuleGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-08-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/2019-08-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DefaultSecurityRuleList.json
new file mode 100644
index 000000000000..166f31a3e5e5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/DefaultSecurityRuleList.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-08-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/2019-08-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/EndpointServicesList.json
new file mode 100644
index 000000000000..0cb2f2b79ed6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/EndpointServicesList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteCircuitARPTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitARPTableList.json
new file mode 100644
index 000000000000..6d3eb674ce9e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitARPTableList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName",
+ "devicePath": "devicePath"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "age": 0,
+ "interface": "Microsoft",
+ "ipAddress": "IPAddress",
+ "macAddress": "macAddress"
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitAuthorizationCreate.json
new file mode 100644
index 000000000000..3a21505b891c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitAuthorizationCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "authorizationName": "authorizatinName",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "authorizationParameters": {
+ "properties": {
+ "authorizationKey": "authKey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "authorizationName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/authorizationName",
+ "etag": "W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"",
+ "properties": {
+ "provisioningState": "Updating",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "authorizationName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/authorizationName",
+ "etag": "W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"",
+ "properties": {
+ "provisioningState": "Updating",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitAuthorizationDelete.json
new file mode 100644
index 000000000000..af6ce8e65b40
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitAuthorizationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "authorizationName": "authorizationName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitAuthorizationGet.json
new file mode 100644
index 000000000000..0cc8035a64e4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitAuthorizationGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "authorizationName": "authorizationName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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"
+ },
+ "type": "Microsoft.Network/expressRouteCircuits/authorizations"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitAuthorizationList.json
new file mode 100644
index 000000000000..36c767d4bf6c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitAuthorizationList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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/2019-08-01/examples/ExpressRouteCircuitConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitConnectionCreate.json
new file mode 100644
index 000000000000..86c68d3ee9c2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitConnectionCreate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteCircuitConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitConnectionDelete.json
new file mode 100644
index 000000000000..ea4d7a853f3d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitConnectionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering",
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitConnectionGet.json
new file mode 100644
index 000000000000..42533211f909
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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"
+ },
+ "type": "Microsoft.Network/expressRouteCircuits/peerings/connections"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitConnectionList.json
new file mode 100644
index 000000000000..7f3e001767b9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitConnectionList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitCreate.json
new file mode 100644
index 000000000000..38203e78ac92
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitCreate.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ },
+ "properties": {
+ "authorizations": [],
+ "peerings": [],
+ "allowClassicOperations": false,
+ "serviceProviderProperties": {
+ "serviceProviderName": "Equinix",
+ "peeringLocation": "Silicon Valley",
+ "bandwidthInMbps": 200
+ }
+ },
+ "location": "Brazil South"
+ }
+ },
+ "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": "Brazil South",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "Equinix",
+ "peeringLocation": "Silicon Valley",
+ "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": "Brazil South",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "Equinix",
+ "peeringLocation": "Silicon Valley",
+ "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/2019-08-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json
new file mode 100644
index 000000000000..03e0be2943eb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-08-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/Microsoft.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/Microsoft.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/Microsoft.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/2019-08-01/examples/ExpressRouteCircuitDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitDelete.json
new file mode 100644
index 000000000000..86ddd5f089ec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitGet.json
new file mode 100644
index 000000000000..e3d9e361aa9a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteCircuitListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitListByResourceGroup.json
new file mode 100644
index 000000000000..a56f474cc8d0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitListByResourceGroup.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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",
+ "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",
+ "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/2019-08-01/examples/ExpressRouteCircuitListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitListBySubscription.json
new file mode 100644
index 000000000000..ed0d45226e9d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitListBySubscription.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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",
+ "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",
+ "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/2019-08-01/examples/ExpressRouteCircuitPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitPeeringCreate.json
new file mode 100644
index 000000000000..877960d03bcb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitPeeringCreate.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "peeringParameters": {
+ "properties": {
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "vlanId": 200
+ }
+ }
+ },
+ "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/2019-08-01/examples/ExpressRouteCircuitPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitPeeringDelete.json
new file mode 100644
index 000000000000..319e549562af
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitPeeringGet.json
new file mode 100644
index 000000000000..666e9788e79f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitPeeringGet.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "peeringName": "MicrosoftPeering"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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"
+ }
+ },
+ "routeFilter": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName"
+ }
+ },
+ "type": "Microsoft.Network/expressRouteCircuits/peerings"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitPeeringList.json
new file mode 100644
index 000000000000..b7035cd9163b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitPeeringList.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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/2019-08-01/examples/ExpressRouteCircuitPeeringStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitPeeringStats.json
new file mode 100644
index 000000000000..65c6600353cd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitPeeringStats.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primarybytesIn": 537408,
+ "primarybytesOut": 44032550,
+ "secondarybytesIn": 0,
+ "secondarybytesOut": 39002500
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitRouteTableList.json
new file mode 100644
index 000000000000..3bbe58118aa7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitRouteTableList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName",
+ "devicePath": "devicePath"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "network": "",
+ "nextHop": "",
+ "locPrf": "",
+ "weight": 0,
+ "path": ""
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitRouteTableSummaryList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitRouteTableSummaryList.json
new file mode 100644
index 000000000000..1c45db4aeeb2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitRouteTableSummaryList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName",
+ "devicePath": "devicePath"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "neighbor": "100.65.171.1",
+ "v": 4,
+ "as": 9583,
+ "upDown": "never",
+ "statePfxRcd": "Idle"
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitStats.json
new file mode 100644
index 000000000000..f8546ce5143e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitStats.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primarybytesIn": 537408,
+ "primarybytesOut": 44032550,
+ "secondarybytesIn": 0,
+ "secondarybytesOut": 39002500
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitUpdateTags.json
new file mode 100644
index 000000000000..ff2f9b8a8648
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCircuitUpdateTags.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteConnectionCreate.json
new file mode 100644
index 000000000000..70aec2d71cc8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteConnectionCreate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "gateway-2",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "connectionName": "connectionName",
+ "putExpressRouteConnectionParameters": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2/expressRouteConnections/connectionName",
+ "name": "connectionName",
+ "properties": {
+ "routingWeight": 2,
+ "authorizationKey": "authorizationKey",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/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/gateway-2/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "authorizationKey",
+ "routingWeight": 2
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteConnectionDelete.json
new file mode 100644
index 000000000000..1f868cfbe548
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "connectionName": "connectionName",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteConnectionGet.json
new file mode 100644
index 000000000000..a948a9f67d6f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteConnectionGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-08-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
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteConnectionList.json
new file mode 100644
index 000000000000..9f27ef8fcb09
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteConnectionList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json
new file mode 100644
index 000000000000..302a349f68ad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "peeringParameters": {
+ "properties": {
+ "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/2019-08-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json
new file mode 100644
index 000000000000..16e8fdc2ea0f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json
new file mode 100644
index 000000000000..033b49bb6512
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json
new file mode 100644
index 000000000000..4acac8b8363b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteCrossConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionGet.json
new file mode 100644
index 000000000000..f032e38ab455
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteCrossConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionList.json
new file mode 100644
index 000000000000..c798e96cbc9e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json
new file mode 100644
index 000000000000..76fc4be51fda
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteCrossConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionUpdate.json
new file mode 100644
index 000000000000..9364c4fa4f1a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteCrossConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionUpdateTags.json
new file mode 100644
index 000000000000..80c00ece2f50
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionUpdateTags.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteCrossConnectionsArpTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionsArpTable.json
new file mode 100644
index 000000000000..e941b6120528
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionsArpTable.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteCrossConnectionsRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionsRouteTable.json
new file mode 100644
index 000000000000..dba5e658bf2b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionsRouteTable.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json
new file mode 100644
index 000000000000..ec27c9a46c66
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2019-08-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/2019-08-01/examples/ExpressRouteGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayCreate.json
new file mode 100644
index 000000000000..99bfe2acc471
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayCreate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "gateway-2",
+ "subscriptionId": "subid",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-08-01",
+ "putExpressRouteGatewayParameters": {
+ "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
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayDelete.json
new file mode 100644
index 000000000000..a1f765a858cd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayGet.json
new file mode 100644
index 000000000000..9ebf2f8c1427
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-08-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"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..aff949cc792a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayListByResourceGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayListBySubscription.json
new file mode 100644
index 000000000000..a188bfc656e2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteGatewayListBySubscription.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteLinkGet.json
new file mode 100644
index 000000000000..e610a4f8853c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteLinkGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-08-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "linkName": "linkName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "linkName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/linkName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteLinkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteLinkList.json
new file mode 100644
index 000000000000..0c2a08d921c6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteLinkList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-08-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/Microsoft.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/2019-08-01/examples/ExpressRoutePortCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortCreate.json
new file mode 100644
index 000000000000..bdb842ebcd8c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortCreate.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-08-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/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/2019-08-01/examples/ExpressRoutePortDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortDelete.json
new file mode 100644
index 000000000000..14c78889fed7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-08-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortGet.json
new file mode 100644
index 000000000000..d416c9329165
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-08-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/2019-08-01/examples/ExpressRoutePortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortList.json
new file mode 100644
index 000000000000..38ff0a364d56
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortList.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/2019-08-01/examples/ExpressRoutePortListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortListByResourceGroup.json
new file mode 100644
index 000000000000..8a7495b90343
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortListByResourceGroup.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-08-01",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/2019-08-01/examples/ExpressRoutePortUpdateLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortUpdateLink.json
new file mode 100644
index 000000000000..c5c8280c999d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortUpdateLink.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-08-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/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/2019-08-01/examples/ExpressRoutePortUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortUpdateTags.json
new file mode 100644
index 000000000000..642b17809cf2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortUpdateTags.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-08-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName",
+ "type": "Microsoft.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/Microsoft.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/Microsoft.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/2019-08-01/examples/ExpressRoutePortsLocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortsLocationGet.json
new file mode 100644
index 000000000000..3c8acb01720f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortsLocationGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-08-01",
+ "locationName": "locationName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "locationName",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/expressRoutePortsLocations/locationName",
+ "type": "Microsoft.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/2019-08-01/examples/ExpressRoutePortsLocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortsLocationList.json
new file mode 100644
index 000000000000..7771a9565805
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRoutePortsLocationList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "locationName",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/expressRoutePortsLocations/locationName",
+ "type": "Microsoft.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/2019-08-01/examples/ExpressRouteProviderList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteProviderList.json
new file mode 100644
index 000000000000..1b41402b9e25
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ExpressRouteProviderList.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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/2019-08-01/examples/FirewallPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyDelete.json
new file mode 100644
index 000000000000..044dfd7253d9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "firewallPolicyName": "firewallPolicy"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyGet.json
new file mode 100644
index 000000000000..e6c5e835b3d4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "firewallPolicyName": "firewallPolicy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "firewallPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "type": "Microsoft.Network/firewallPolicies",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert",
+ "ruleGroups": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1"
+ }
+ ],
+ "firewalls": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyListByResourceGroup.json
new file mode 100644
index 000000000000..3b0ea6e53209
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyListByResourceGroup.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "firewallPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "type": "Microsoft.Network/firewallPolicies",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert",
+ "ruleGroups": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1"
+ }
+ ],
+ "firewalls": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyListBySubscription.json
new file mode 100644
index 000000000000..f5153814639b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyListBySubscription.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "firewallPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "type": "Microsoft.Network/firewallPolicies",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert",
+ "ruleGroups": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1"
+ }
+ ],
+ "firewalls": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyPut.json
new file mode 100644
index 000000000000..bbfe40ad2b02
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyPut.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "firewallPolicyName": "firewallPolicy",
+ "parameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "properties": {
+ "threatIntelMode": "Alert"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "firewallPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "type": "Microsoft.Network/firewallPolicies",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert",
+ "ruleGroups": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/rulegroup1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/rulegroup2"
+ }
+ ],
+ "firewalls": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "firewallPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "type": "Microsoft.Network/firewallPolicies",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Alert",
+ "ruleGroups": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/rulegroup2"
+ }
+ ],
+ "firewalls": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyRuleGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyRuleGroupDelete.json
new file mode 100644
index 000000000000..672b560d373d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyRuleGroupDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "ruleGroupName": "ruleGroup1",
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyRuleGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyRuleGroupGet.json
new file mode 100644
index 000000000000..e7a3da96601a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyRuleGroupGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "ruleGroupName": "ruleGroup1",
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "ruleGroup1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "priority": 110,
+ "rules": [
+ {
+ "ruleType": "FirewallPolicyFilterRule",
+ "name": "Example-Filter-Rule",
+ "priority": 200,
+ "action": {
+ "type": "Deny"
+ },
+ "ruleConditions": [
+ {
+ "ruleConditionType": "NetworkRuleCondition",
+ "name": "network-condition1",
+ "sourceAddresses": [
+ "10.1.25.0/24"
+ ],
+ "destinationAddresses": [
+ "*"
+ ],
+ "ipProtocols": [
+ "TCP"
+ ],
+ "destinationPorts": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyRuleGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyRuleGroupList.json
new file mode 100644
index 000000000000..8a5a7704a367
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyRuleGroupList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "ruleGroup1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "priority": 110,
+ "rules": [
+ {
+ "name": "Example-Filter-Rule",
+ "ruleType": "FirewallPolicyFilterRule",
+ "priority": 120,
+ "action": {
+ "type": "Deny"
+ },
+ "ruleConditions": [
+ {
+ "name": "network-condition-1",
+ "ruleConditionType": "NetworkRuleCondition",
+ "description": "Network rule condition",
+ "destinationAddresses": [
+ "*"
+ ],
+ "sourceAddresses": [
+ "10.1.25.0/24"
+ ],
+ "ipProtocols": [
+ "TCP"
+ ],
+ "destinationPorts": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyRuleGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyRuleGroupPut.json
new file mode 100644
index 000000000000..7c983f236391
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyRuleGroupPut.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "firewallPolicyName": "firewallPolicy",
+ "ruleGroupName": "ruleGroup1",
+ "parameters": {
+ "properties": {
+ "priority": 110,
+ "rules": [
+ {
+ "ruleType": "FirewallPolicyFilterRule",
+ "name": "Example-Filter-Rule",
+ "action": {
+ "type": "Deny"
+ },
+ "ruleConditions": [
+ {
+ "ruleConditionType": "NetworkRuleCondition",
+ "name": "network-condition1",
+ "sourceAddresses": [
+ "10.1.25.0/24"
+ ],
+ "destinationAddresses": [
+ "*"
+ ],
+ "ipProtocols": [
+ "TCP"
+ ],
+ "destinationPorts": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "ruleGroup1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "priority": 110,
+ "rules": [
+ {
+ "ruleType": "FirewallPolicyFilterRule",
+ "name": "Example-Filter-Rule",
+ "action": {
+ "type": "Deny"
+ },
+ "ruleConditions": [
+ {
+ "ruleConditionType": "NetworkRuleCondition",
+ "name": "network-condition1",
+ "sourceAddresses": [
+ "10.1.25.0/24"
+ ],
+ "destinationAddresses": [
+ "*"
+ ],
+ "ipProtocols": [
+ "TCP"
+ ],
+ "destinationPorts": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "firewallPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "priority": 110,
+ "rules": [
+ {
+ "ruleType": "FirewallPolicyFilterRule",
+ "name": "Example-Filter-Rule",
+ "action": {
+ "type": "Deny"
+ },
+ "ruleConditions": [
+ {
+ "ruleConditionType": "NetworkRuleCondition",
+ "name": "network-condition1",
+ "sourceAddresses": [
+ "10.1.25.0/24"
+ ],
+ "destinationAddresses": [
+ "*"
+ ],
+ "ipProtocols": [
+ "TCP"
+ ],
+ "destinationPorts": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyUpdateTags.json
new file mode 100644
index 000000000000..b48fede20dc7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/FirewallPolicyUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "firewallPolicyParameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "firewallPolicy",
+ "type": "Microsoft.Network/firewallPolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "threatIntelMode": "Deny"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json
new file mode 100644
index 000000000000..b67b2f4213e6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualWANName": "wan1",
+ "vpnClientParams": {
+ "vpnServerConfigurationResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnconfig1",
+ "authenticationMethod": "EAPTLS"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/GetVirtualWanVpnServerConfigurations.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/GetVirtualWanVpnServerConfigurations.json
new file mode 100644
index 000000000000..bdd91c7a978b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/GetVirtualWanVpnServerConfigurations.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "virtualWANName": "wan1"
+ },
+ "responses": {
+ "200": {
+ "description": "Request successful.",
+ "body": {
+ "vpnServerConfigurationResourceIds": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnconfig1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnconfig2"
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/HubVirtualNetworkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/HubVirtualNetworkConnectionGet.json
new file mode 100644
index 000000000000..1afbd0d34199
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/HubVirtualNetworkConnectionGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/HubVirtualNetworkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/HubVirtualNetworkConnectionList.json
new file mode 100644
index 000000000000..25dff0f2ca88
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/HubVirtualNetworkConnectionList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ },
+ {
+ "name": "connection2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/InboundNatRuleCreate.json
new file mode 100644
index 000000000000..2356d7dc12c6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/InboundNatRuleCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-08-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": false,
+ "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": false,
+ "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": false,
+ "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/2019-08-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/InboundNatRuleDelete.json
new file mode 100644
index 000000000000..341f1f3e9fd7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/InboundNatRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/InboundNatRuleGet.json
new file mode 100644
index 000000000000..50ed1cf83480
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/InboundNatRuleGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-08-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/2019-08-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/InboundNatRuleList.json
new file mode 100644
index 000000000000..eb9f36c90d84
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/InboundNatRuleList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-08-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/2019-08-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerBackendAddressPoolGet.json
new file mode 100644
index 000000000000..623f25da8386
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerBackendAddressPoolGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "backendAddressPoolName": "backend",
+ "api-version": "2019-08-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\"",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "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/2019-08-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerBackendAddressPoolList.json
new file mode 100644
index 000000000000..0c3991e8f858
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerBackendAddressPoolList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-08-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\"",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "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/2019-08-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerCreate.json
new file mode 100644
index 000000000000..4f105d7a6976
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerCreate.json
@@ -0,0 +1,339 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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"
+ }
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {}
+ }
+ ],
+ "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": false,
+ "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
+ }
+ }
+ ],
+ "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": false
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false,
+ "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",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false,
+ "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",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerCreateStandardSku.json
new file mode 100644
index 000000000000..fdc3014b087b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerCreateStandardSku.json
@@ -0,0 +1,339 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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"
+ }
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {}
+ }
+ ],
+ "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
+ }
+ }
+ ],
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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/2019-08-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerCreateWithInboundNatPool.json
new file mode 100644
index 000000000000..28bfdd336027
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -0,0 +1,184 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "loadBalancerName": "lb",
+ "parameters": {
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "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": [],
+ "outboundRules": [],
+ "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"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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/2019-08-01/examples/LoadBalancerCreateWithOutboundRules.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerCreateWithOutboundRules.json
new file mode 100644
index 000000000000..e99b62eba7c7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerCreateWithOutboundRules.json
@@ -0,0 +1,423 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "loadBalancerName": "lb",
+ "parameters": {
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"
+ }
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {}
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "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"
+ },
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "frontendPort": 80,
+ "backendPort": 80,
+ "idleTimeoutInMinutes": 15,
+ "enableFloatingIP": true,
+ "disableOutboundSnat": true
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "properties": {
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2
+ }
+ }
+ ],
+ "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": [
+ {
+ "name": "rule1",
+ "properties": {
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "frontendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ],
+ "protocol": "All"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"
+ },
+ "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"
+ }
+ ],
+ "outboundRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"
+ }
+ ],
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "outboundRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"
+ }
+ ],
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false,
+ "loadDistribution": "Default",
+ "disableOutboundSnat": true,
+ "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",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false
+ }
+ }
+ ],
+ "outboundRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1",
+ "type": "Microsoft.Network/loadBalancers/outboundRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "allocatedOutboundPorts": 1024,
+ "protocol": "All",
+ "enableTcpReset": false,
+ "idleTimeoutInMinutes": 4,
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "frontendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"
+ },
+ "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"
+ }
+ ],
+ "outboundRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"
+ }
+ ],
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "outboundRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"
+ }
+ ],
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false,
+ "loadDistribution": "Default",
+ "disableOutboundSnat": true,
+ "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",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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": false
+ }
+ }
+ ],
+ "outboundRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1",
+ "type": "Microsoft.Network/loadBalancers/outboundRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "allocatedOutboundPorts": 1024,
+ "protocol": "All",
+ "enableTcpReset": false,
+ "idleTimeoutInMinutes": 4,
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "frontendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerCreateWithZones.json
new file mode 100644
index 000000000000..5c1a68c68a1c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerCreateWithZones.json
@@ -0,0 +1,348 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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"
+ }
+ },
+ "zones": [
+ "1"
+ ]
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {}
+ }
+ ],
+ "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
+ }
+ }
+ ],
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "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/2019-08-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerDelete.json
new file mode 100644
index 000000000000..97f09f7e268c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "loadBalancerName": "lb"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerFrontendIPConfigurationGet.json
new file mode 100644
index 000000000000..02f2c719f45a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerFrontendIPConfigurationGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "frontendIPConfigurationName": "frontend",
+ "api-version": "2019-08-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\"",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "privateIPAddressVersion": "IPv4",
+ "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/2019-08-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerFrontendIPConfigurationList.json
new file mode 100644
index 000000000000..24d0218aa4d5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerFrontendIPConfigurationList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-08-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\"",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "privateIPAddressVersion": "IPv4",
+ "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/2019-08-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerGet.json
new file mode 100644
index 000000000000..60600e2a102e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerGet.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "loadBalancerName": "lb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "privateIPAddressVersion": "IPv4",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "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
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerList.json
new file mode 100644
index 000000000000..bfdbbe7a1ac0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerList.json
@@ -0,0 +1,161 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "felb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "privateIPAddressVersion": "IPv4",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "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
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ },
+ {
+ "name": "lb2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb2",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerListAll.json
new file mode 100644
index 000000000000..7580146c01c8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerListAll.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "felb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "privateIPAddressVersion": "IPv4",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/backendAddressPools",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers/inboundNatRules",
+ "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
+ }
+ }
+ ],
+ "inboundNatPools": []
+ }
+ },
+ {
+ "name": "lb3",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/lb3",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "frontendIPConfigurations": [],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerLoadBalancingRuleGet.json
new file mode 100644
index 000000000000..054ed0f5eb1b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerLoadBalancingRuleGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "loadBalancingRuleName": "rule1",
+ "api-version": "2019-08-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\"",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "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/2019-08-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerLoadBalancingRuleList.json
new file mode 100644
index 000000000000..2c9a2e315873
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerLoadBalancingRuleList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2019-08-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\"",
+ "type": "Microsoft.Network/loadBalancers/loadBalancingRules",
+ "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/2019-08-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerNetworkInterfaceListSimple.json
new file mode 100644
index 000000000000..e031528883c9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerNetworkInterfaceListSimple.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-08-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/2019-08-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerNetworkInterfaceListVmss.json
new file mode 100644
index 000000000000..faa6f6cdd593
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerNetworkInterfaceListVmss.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-08-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/2019-08-01/examples/LoadBalancerOutboundRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerOutboundRuleGet.json
new file mode 100644
index 000000000000..a7d117b26002
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerOutboundRuleGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "outboundRuleName": "rule1",
+ "api-version": "2019-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1",
+ "type": "Microsoft.Network/loadBalancers/outboundRules",
+ "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/2019-08-01/examples/LoadBalancerOutboundRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerOutboundRuleList.json
new file mode 100644
index 000000000000..877c0ef83a97
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerOutboundRuleList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2019-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1",
+ "type": "Microsoft.Network/loadBalancers/outboundRules",
+ "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/2019-08-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerProbeGet.json
new file mode 100644
index 000000000000..af8e71824f64
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerProbeGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "probeName": "probe1",
+ "api-version": "2019-08-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\"",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "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/2019-08-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerProbeList.json
new file mode 100644
index 000000000000..464c965d5668
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerProbeList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-08-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\"",
+ "type": "Microsoft.Network/loadBalancers/probes",
+ "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/2019-08-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerUpdateTags.json
new file mode 100644
index 000000000000..2effb7fb0ddb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LoadBalancerUpdateTags.json
@@ -0,0 +1,132 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/LocalNetworkGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LocalNetworkGatewayCreate.json
new file mode 100644
index 000000000000..f263acdb4c70
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LocalNetworkGatewayCreate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName": "localgw",
+ "parameters": {
+ "properties": {
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "11.12.13.14"
+ },
+ "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": "11.12.13.14"
+ }
+ }
+ },
+ "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": "11.12.13.14"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LocalNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LocalNetworkGatewayDelete.json
new file mode 100644
index 000000000000..6be7b5d96d19
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LocalNetworkGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName": "localgw"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LocalNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LocalNetworkGatewayGet.json
new file mode 100644
index 000000000000..36fd6854da62
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LocalNetworkGatewayGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/LocalNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LocalNetworkGatewayList.json
new file mode 100644
index 000000000000..872e92a1e72f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LocalNetworkGatewayList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LocalNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..d008cc5d7ad7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/LocalNetworkGatewayUpdateTags.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NatGatewayCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayCreateOrUpdate.json
new file mode 100644
index 000000000000..5859ebc9248b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayCreateOrUpdate.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "natGatewayName": "test-natgateway",
+ "parameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ },
+ "202": {
+ "body": {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayDelete.json
new file mode 100644
index 000000000000..ae6d98eed3eb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "natGatewayName": "test-natGateway"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayGet.json
new file mode 100644
index 000000000000..cbb7ba2fca3b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayGet.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "natGatewayName": "test-natGateway"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayList.json
new file mode 100644
index 000000000000..9d6db7f58970
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateway/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ },
+ {
+ "name": "test-natGateway2",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/natGateway/test-natGateway2",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayListAll.json
new file mode 100644
index 000000000000..2d8eaee59d5f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayListAll.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ },
+ {
+ "name": "test-natGateway2",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/natGatewayes/test-natGateway2",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayUpdateTags.json
new file mode 100644
index 000000000000..6532f5843637
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NatGatewayUpdateTags.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "natGatewayName": "test-natGateway",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-natGateway",
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
+ "location": "westus",
+ "properties": {
+ "idleTimeoutInMinutes": 5,
+ "provisioningState": "Succeeded",
+ "publicIpAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ],
+ "publicIpPrefixes": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
+ }
+ ],
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.Network/natGateways"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceCreate.json
new file mode 100644
index 000000000000..e55ac28ce72f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceCreate.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceDelete.json
new file mode 100644
index 000000000000..b9e036c96ee6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceEffectiveNSGList.json
new file mode 100644
index 000000000000..4df6bcd9fd67
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceEffectiveNSGList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceEffectiveRouteTableList.json
new file mode 100644
index 000000000000..07cd7246715c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceEffectiveRouteTableList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceGet.json
new file mode 100644
index 000000000000..c28bd8f0af78
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceGet.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceIPConfigurationGet.json
new file mode 100644
index 000000000000..67bb5fc7595d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceIPConfigurationGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "ipConfigurationName": "ipconfig1",
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceIPConfigurationList.json
new file mode 100644
index 000000000000..dcfaaf4cc3a6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceIPConfigurationList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceList.json
new file mode 100644
index 000000000000..a196d9122318
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceList.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceListAll.json
new file mode 100644
index 000000000000..93eeb4a47152
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceListAll.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceLoadBalancerList.json
new file mode 100644
index 000000000000..b46373b6d519
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceLoadBalancerList.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceTapConfigurationCreate.json
new file mode 100644
index 000000000000..95adfed4f894
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceTapConfigurationCreate.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "tapConfigurationName": "tapconfiguration1",
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkInterfaceTapConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceTapConfigurationDelete.json
new file mode 100644
index 000000000000..a35c6d7fe94e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceTapConfigurationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceTapConfigurationGet.json
new file mode 100644
index 000000000000..6a7eb23584bd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceTapConfigurationGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "tapConfigurationName": "tapconfiguration1",
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceTapConfigurationList.json
new file mode 100644
index 000000000000..d30d1759e315
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceTapConfigurationList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceUpdateTags.json
new file mode 100644
index 000000000000..84b0d75a36ff
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkInterfaceUpdateTags.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkProfileCreateConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileCreateConfigOnly.json
new file mode 100644
index 000000000000..8b119757255b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileCreateConfigOnly.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1",
+ "parameters": {
+ "location": "westus",
+ "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": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileDelete.json
new file mode 100644
index 000000000000..7f7b36a898e3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileGetConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileGetConfigOnly.json
new file mode 100644
index 000000000000..88fc7b8bc82f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileGetConfigOnly.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileGetWithContainerNic.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileGetWithContainerNic.json
new file mode 100644
index 000000000000..3bf7db99e5dd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileGetWithContainerNic.json
@@ -0,0 +1,203 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileList.json
new file mode 100644
index 000000000000..5a241412fa3d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileList.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileListAll.json
new file mode 100644
index 000000000000..36073d17d4a5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileListAll.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileUpdateTags.json
new file mode 100644
index 000000000000..372a33b314a5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkProfileUpdateTags.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupCreate.json
new file mode 100644
index 000000000000..b920ceb2e835
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupCreate.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupCreateWithRule.json
new file mode 100644
index 000000000000..602656681a02
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -0,0 +1,282 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupDelete.json
new file mode 100644
index 000000000000..00b0a04829b3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupGet.json
new file mode 100644
index 000000000000..1e80a2c3e6c7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupGet.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupList.json
new file mode 100644
index 000000000000..7bb1f2fd69fb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupList.json
@@ -0,0 +1,231 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupListAll.json
new file mode 100644
index 000000000000..6d9dc292545f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupListAll.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupRuleCreate.json
new file mode 100644
index 000000000000..0af7d0773260
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupRuleCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupRuleDelete.json
new file mode 100644
index 000000000000..5c733ae84116
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg",
+ "securityRuleName": "rule1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupRuleGet.json
new file mode 100644
index 000000000000..2ca102a19c87
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupRuleGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupRuleList.json
new file mode 100644
index 000000000000..5ddb0196b060
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupRuleList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..e251b2f91541
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkSecurityGroupUpdateTags.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherAvailableProvidersListGet.json
new file mode 100644
index 000000000000..316f8413ac02
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherAvailableProvidersListGet.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "azureLocations": [
+ "West US"
+ ],
+ "country": "United States",
+ "state": "washington",
+ "city": "seattle"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "countries": [
+ {
+ "countryName": "United States",
+ "states": [
+ {
+ "stateName": "washington",
+ "cities": [
+ {
+ "cityName": "seattle",
+ "providers": [
+ "Comcast Cable Communications, Inc. - ASN 7922",
+ "Comcast Cable Communications, LLC - ASN 7922",
+ "Level 3 Communications, Inc. (GBLX) - ASN 3549",
+ "Qwest Communications Company, LLC - ASN 209"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202": {
+ "body": {
+ "countries": [
+ {
+ "countryName": "United States",
+ "states": [
+ {
+ "stateName": "washington",
+ "cities": [
+ {
+ "cityName": "seattle",
+ "providers": [
+ "Comcast Cable Communications, Inc. - ASN 7922",
+ "Comcast Cable Communications, LLC - ASN 7922",
+ "Level 3 Communications, Inc. (GBLX) - ASN 3549",
+ "Qwest Communications Company, LLC - ASN 209"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherAzureReachabilityReportGet.json
new file mode 100644
index 000000000000..803960117614
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherAzureReachabilityReportGet.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "providerLocation": {
+ "country": "United States",
+ "state": "washington"
+ },
+ "providers": [
+ "Frontier Communications of America, Inc. - ASN 5650"
+ ],
+ "azureLocations": [
+ "West US"
+ ],
+ "startTime": "2017-09-07T00:00:00Z",
+ "endTime": "2017-09-10T00:00:00Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "aggregationLevel": "State",
+ "providerLocation": {
+ "country": "United States",
+ "state": "washington"
+ },
+ "reachabilityReport": [
+ {
+ "provider": "Frontier Communications of America, Inc. - ASN 5650",
+ "azureLocation": "West US",
+ "latencies": [
+ {
+ "timeStamp": "2017-09-07T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-08T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-09T00:00:00Z",
+ "score": 94
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202": {
+ "body": {
+ "aggregationLevel": "State",
+ "providerLocation": {
+ "country": "United States",
+ "state": "washington"
+ },
+ "reachabilityReport": [
+ {
+ "provider": "Frontier Communications of America, Inc. - ASN 5650",
+ "azureLocation": "West US",
+ "latencies": [
+ {
+ "timeStamp": "2017-09-07T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-08T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-09T00:00:00Z",
+ "score": 94
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherConnectivityCheck.json
new file mode 100644
index 000000000000..11f4fe2ca44c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherConnectivityCheck.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherCreate.json
new file mode 100644
index 000000000000..2aac49fb3a60
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherDelete.json
new file mode 100644
index 000000000000..6aa011fd6fc2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherFlowLogConfigure.json
new file mode 100644
index 000000000000..edc06985c565
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherFlowLogConfigure.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherFlowLogStatusQuery.json
new file mode 100644
index 000000000000..e11e03ae2601
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherFlowLogStatusQuery.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherGet.json
new file mode 100644
index 000000000000..e64ec0d9dc9c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherIpFlowVerify.json
new file mode 100644
index 000000000000..e760efdfb764
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherIpFlowVerify.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherList.json
new file mode 100644
index 000000000000..f430494acef6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherListAll.json
new file mode 100644
index 000000000000..691d8348f9df
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherListAll.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json
new file mode 100644
index 000000000000..1134bd1e9704
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherNextHopGet.json
new file mode 100644
index 000000000000..f3b0dd63638d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherNextHopGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCaptureCreate.json
new file mode 100644
index 000000000000..0f0755f19e26
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCaptureCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCaptureDelete.json
new file mode 100644
index 000000000000..faefacc082ef
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCaptureDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "packetCaptureName": "pc1"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCaptureGet.json
new file mode 100644
index 000000000000..075088c909ca
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCaptureGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
new file mode 100644
index 000000000000..d5c9560191f1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCaptureStop.json
new file mode 100644
index 000000000000..184d9e684521
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCaptureStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "packetCaptureName": "pc1"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCapturesList.json
new file mode 100644
index 000000000000..cf4fab73e707
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherPacketCapturesList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherSecurityGroupViewGet.json
new file mode 100644
index 000000000000..ccba9b1fd138
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherSecurityGroupViewGet.json
@@ -0,0 +1,141 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherTopologyGet.json
new file mode 100644
index 000000000000..dc167a9331af
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherTopologyGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherTroubleshootGet.json
new file mode 100644
index 000000000000..3537ae0b14e7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherTroubleshootGet.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherTroubleshootResultQuery.json
new file mode 100644
index 000000000000..cb32fc58de73
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherTroubleshootResultQuery.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherUpdateTags.json
new file mode 100644
index 000000000000..34627015b745
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/NetworkWatcherUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/OperationList.json
new file mode 100644
index 000000000000..56cf18f0a90e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/OperationList.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2019-08-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/2019-08-01/examples/P2SVpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayDelete.json
new file mode 100644
index 000000000000..07a2ed7d5130
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayGenerateVpnProfile.json
new file mode 100644
index 000000000000..cf7f3f4ee0c5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayGenerateVpnProfile.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "gatewayName": "p2sVpnGateway1",
+ "parameters": {
+ "authenticationMethod": "EAPTLS"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayGet.json
new file mode 100644
index 000000000000..e507b954f93e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayGet.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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"
+ },
+ "vpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1"
+ },
+ "p2sConnectionConfigurations": [
+ {
+ "name": "P2SConnectionConfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "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/2019-08-01/examples/P2SVpnGatewayGetConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayGetConnectionHealth.json
new file mode 100644
index 000000000000..2d0cf2a64a07
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayGetConnectionHealth.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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"
+ },
+ "vpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1"
+ },
+ "p2sConnectionConfigurations": [
+ {
+ "name": "P2SConnectionConfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "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
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json
new file mode 100644
index 000000000000..373ceb64005c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "p2s-vpn-gateway-test",
+ "gatewayName": "p2svpngateway",
+ "api-version": "2019-08-01",
+ "request": {
+ "vpnUserNamesFilter": [
+ "vpnUser1",
+ "vpnUser2"
+ ],
+ "outputBlobSasUrl": "https://blobcortextesturl.blob.core.windows.net/folderforconfig/p2sconnectionhealths?sp=rw&se=2018-01-10T03%3A42%3A04Z&sv=2017-04-17&sig=WvXrT5bDmDFfgHs%2Brz%2BjAu123eRCNE9BO0eQYcPDT7pY%3D&sr=b"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayList.json
new file mode 100644
index 000000000000..c98a892a68ee
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayList.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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"
+ },
+ "vpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1"
+ },
+ "p2sConnectionConfigurations": [
+ {
+ "name": "P2SConnectionConfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "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"
+ },
+ "vpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1"
+ },
+ "p2sConnectionConfigurations": [
+ {
+ "name": "P2SConnectionConfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "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/2019-08-01/examples/P2SVpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..667121d53191
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayListByResourceGroup.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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"
+ },
+ "vpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1"
+ },
+ "p2sConnectionConfigurations": [
+ {
+ "name": "P2SConnectionConfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1",
+ "properties": {
+ "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"
+ },
+ "vpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1"
+ },
+ "p2sConnectionConfigurations": [
+ {
+ "name": "P2SConnectionConfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1",
+ "properties": {
+ "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/2019-08-01/examples/P2SVpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayPut.json
new file mode 100644
index 000000000000..17ade6555bf1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayPut.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "p2SVpnGatewayParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "vpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1"
+ },
+ "p2sConnectionConfigurations": [
+ {
+ "name": "P2SConnectionConfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1",
+ "properties": {
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ }
+ }
+ }
+ ],
+ "vpnGatewayScaleUnit": 1
+ }
+ }
+ },
+ "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"
+ },
+ "vpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1"
+ },
+ "p2sConnectionConfigurations": [
+ {
+ "name": "P2SConnectionConfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ }
+ }
+ }
+ ],
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 0,
+ "allocatedIpAddresses": [],
+ "totalIngressBytesTransferred": 0,
+ "totalEgressBytesTransferred": 0
+ }
+ }
+ }
+ },
+ "201": {
+ "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"
+ },
+ "vpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1"
+ },
+ "p2sConnectionConfigurations": [
+ {
+ "name": "P2SConnectionConfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "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/2019-08-01/examples/P2SVpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayUpdateTags.json
new file mode 100644
index 000000000000..01e57320a9c2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/P2SVpnGatewayUpdateTags.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "p2SVpnGatewayParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "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",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "vpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1"
+ },
+ "p2sConnectionConfigurations": [
+ {
+ "name": "P2SConnectionConfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1",
+ "properties": {
+ "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": {
+ "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",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "vpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1"
+ },
+ "p2sConnectionConfigurations": [
+ {
+ "name": "P2SConnectionConfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "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/2019-08-01/examples/PeerExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PeerExpressRouteCircuitConnectionGet.json
new file mode 100644
index 000000000000..4de4c2f67027
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PeerExpressRouteCircuitConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "connectionName": "60aee347-e889-4a42-8c1b-0aae8b1e4013",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid1",
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "60aee347-e889-4a42-8c1b-0aae8b1e4013",
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/peerConnections/60aee347-e889-4a42-8c1b-0aae8b1e4013",
+ "etag": "W/\"6ffbbb06-da20-44ca-a34f-280c4653b1e9\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitB/peerings/AzurePrivatePeering"
+ },
+ "addressPrefix": "20.0.0.0/29",
+ "circuitConnectionStatus": "Connected",
+ "connectionName": "circuitConnectionWestusEastus",
+ "authResourceGuid": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PeerExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PeerExpressRouteCircuitConnectionList.json
new file mode 100644
index 000000000000..762df6f98851
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PeerExpressRouteCircuitConnectionList.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid1",
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "60aee347-e889-4a42-8c1b-0aae8b1e4013",
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/peerConnections/60aee347-e889-4a42-8c1b-0aae8b1e4013",
+ "etag": "W/\"6ffbbb06-da20-44ca-a34f-280c4653b1e9\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitB/peerings/AzurePrivatePeering"
+ },
+ "addressPrefix": "20.0.0.0/29",
+ "circuitConnectionStatus": "Connected",
+ "connectionName": "circuitConnectionWestusEastus",
+ "authResourceGuid": ""
+ }
+ },
+ {
+ "name": "c8b17193-8dd3-4f61-866d-8cdd2e2e268e",
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/peerConnections/c8b17193-8dd3-4f61-866d-8cdd2e2e268e",
+ "etag": "W/\"6ffbbb06-da20-44ca-a34f-280c4653b1e9\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitC/peerings/AzurePrivatePeering"
+ },
+ "addressPrefix": "30.0.0.0/29",
+ "circuitConnectionStatus": "Connected",
+ "connectionName": "circuitConnectionCentralusEastus",
+ "authResourceGuid": "64283012-d377-421d-8398-f6aeb2ac7ea0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointCreate.json
new file mode 100644
index 000000000000..59145ed1c10c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointCreate.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "privateEndpointName": "testPe",
+ "parameters": {
+ "location": "eastus2euap",
+ "properties": {
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection."
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPe",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe",
+ "location": "eastus2euap",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "manualPrivateLinkServiceConnections": [],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "testPe",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe",
+ "location": "eastus2euap",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointCreateForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointCreateForManualApproval.json
new file mode 100644
index 000000000000..99ca1a9176e1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointCreateForManualApproval.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "privateEndpointName": "testPe",
+ "parameters": {
+ "location": "eastus",
+ "properties": {
+ "manualPrivateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please manually approve my connection."
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPe",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [],
+ "manualPrivateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please manually approve my connection.",
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Awaiting approval",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "testPe",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointDelete.json
new file mode 100644
index 000000000000..1a7118d42568
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "privateEndpointName": "testPe"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointGet.json
new file mode 100644
index 000000000000..1e3bbb6b4f6b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointGet.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "privateEndpointName": "testPe"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPe",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "manualPrivateLinkServiceConnections": [],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointGetForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointGetForManualApproval.json
new file mode 100644
index 000000000000..792565c39e07
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointGetForManualApproval.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "privateEndpointName": "testPe"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPe",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [],
+ "manualPrivateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please manually approve my connection.",
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Awaiting approval",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointList.json
new file mode 100644
index 000000000000..e64f0a048116
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointList.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1",
+ "name": "pe1",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection for pe1.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "manualPrivateLinkServiceConnections": [],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe1.nic.abcd1234"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe2",
+ "name": "pe2",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [],
+ "manualPrivateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please manually approve my connection for pe2.",
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Awaiting approval",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet2"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe2.nic.zyxw9876"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointListAll.json
new file mode 100644
index 000000000000..7ab573743376
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateEndpointListAll.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1",
+ "name": "pe1",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection for pe1.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe1.nic.abcd1234"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2",
+ "name": "pe2",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [],
+ "manualPrivateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please manually approve my connection for pe2.",
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Awaiting approval",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet2"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/pe2.nic.zyxw9876"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/privateEndpoints/pe3",
+ "name": "pe3",
+ "type": "Microsoft.Network/privateEndpoints",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkServiceConnections": [
+ {
+ "properties": {
+ "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/privateLinkServices/testPls3",
+ "groupIds": [
+ "groupIdFromResource"
+ ],
+ "requestMessage": "Please approve my connection for pe3.",
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet3"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg3/provders/Microsoft.Network/networkInterfaces/pe3.nic.efgh5463"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceCreate.json
new file mode 100644
index 000000000000..6914fc7069c1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceCreate.json
@@ -0,0 +1,155 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls",
+ "parameters": {
+ "location": "eastus",
+ "properties": {
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2",
+ "subscription3"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2",
+ "fqdn3"
+ ],
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPls",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2",
+ "subscription3"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2",
+ "fqdn3"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "testPls",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2",
+ "subscription3"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2",
+ "fqdn3"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceDelete.json
new file mode 100644
index 000000000000..feb6a0d2bbcd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..ad4384538de6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls",
+ "peConnectionName": "testPlePeConnection"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceGet.json
new file mode 100644
index 000000000000..37c00391ed8c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceGet.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPls",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
+ "type": "Microsoft.Network/privateLinkServices",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2",
+ "subscription3"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2",
+ "fqdn3"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ }
+ }
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "name": "privateEndpointConnection",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceList.json
new file mode 100644
index 000000000000..9585849ec927
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceList.json
@@ -0,0 +1,141 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testPls1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1",
+ "type": "Microsoft.Network/privateLinkServices",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb1"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb1",
+ "properties": {
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb1"
+ }
+ }
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "name": "pec1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls1.nic.abcd1234"
+ }
+ ]
+ }
+ },
+ {
+ "name": "testPls2",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2",
+ "type": "Microsoft.Network/privateLinkServices",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2",
+ "subscription3"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2",
+ "fqdn3"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb2"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb2",
+ "properties": {
+ "privateIPAddress": "10.0.1.5",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb2"
+ }
+ }
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "name": "pec2",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls2.nic.efgh5678"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceListAll.json
new file mode 100644
index 000000000000..ec3778366f65
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceListAll.json
@@ -0,0 +1,142 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testPls1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1",
+ "type": "Microsoft.Network/privateLinkServices",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2",
+ "subscription3"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2",
+ "fqdn3"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb1"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb1",
+ "properties": {
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb1"
+ }
+ }
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "name": "pec1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls1.nic.abcd1234"
+ }
+ ]
+ }
+ },
+ {
+ "name": "testPls2",
+ "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/testPls2",
+ "type": "Microsoft.Network/privateLinkServices",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "visibility": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "autoApproval": {
+ "subscriptions": [
+ "subscription1",
+ "subscription2"
+ ]
+ },
+ "fqdns": [
+ "fqdn1",
+ "fqdn2"
+ ],
+ "alias": "ContosoService.{guid}.azure.privatelinkservice",
+ "loadBalancerFrontendIpConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb2"
+ }
+ ],
+ "ipConfigurations": [
+ {
+ "name": "fe-lb2",
+ "properties": {
+ "privateIPAddress": "10.0.1.5",
+ "privateIPAllocationMethod": "Static",
+ "privateIPAddressVersion": "IPv4",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb2"
+ }
+ }
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "name": "pec1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/testPe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ ],
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/testPls2.nic.efgh5678"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json
new file mode 100644
index 000000000000..11fe19e09208
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls",
+ "peConnectionName": "testPlePeConnection",
+ "parameters": {
+ "name": "testPlePeConnection",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testPlePeConnection",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressCreateCustomizedValues.json
new file mode 100644
index 000000000000..fefeb1ceb31b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressCreateDefaults.json
new file mode 100644
index 000000000000..05e21b3de7bb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressCreateDefaults.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressCreateDns.json
new file mode 100644
index 000000000000..e82f956cb5dc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressCreateDns.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressDelete.json
new file mode 100644
index 000000000000..68f36665efdf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressGet.json
new file mode 100644
index 000000000000..50af27b703bd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressList.json
new file mode 100644
index 000000000000..43765cf5c22b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressList.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressListAll.json
new file mode 100644
index 000000000000..6d87a61bd426
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressListAll.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressUpdateTags.json
new file mode 100644
index 000000000000..f63fe7c568f9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpAddressUpdateTags.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixCreateCustomizedValues.json
new file mode 100644
index 000000000000..afa6063ee66c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixCreateCustomizedValues.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix",
+ "zones": [
+ "1"
+ ],
+ "parameters": {
+ "location": "westus",
+ "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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "192.168.254.2/30",
+ "ipTags": []
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-ipprefix",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "192.168.254.2/30",
+ "ipTags": []
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixCreateDefaults.json
new file mode 100644
index 000000000000..0c35bdd1da09
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixCreateDefaults.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "prefixLength": 30
+ },
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-ipprefix",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "192.168.254.2/30",
+ "ipTags": []
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-ipprefix",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "192.168.254.2/30",
+ "ipTags": []
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixDelete.json
new file mode 100644
index 000000000000..5e5f4ba7952f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixGet.json
new file mode 100644
index 000000000000..768b8dce0ebc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "192.168.254.2/30",
+ "ipTags": [],
+ "publicIPAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ]
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixList.json
new file mode 100644
index 000000000000..e6d38b01fc84
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test-ipprefix",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "40.85.154.2/30",
+ "ipTags": [
+ {
+ "ipTagType": "FirstPartyUsage",
+ "tag": "SQL"
+ }
+ ]
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ },
+ {
+ "name": "ipprefix03",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 31,
+ "ipPrefix": "40.85.153.2/31",
+ "ipTags": []
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixListAll.json
new file mode 100644
index 000000000000..2d5b5f5b1371
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixListAll.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test-ipprefix",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipPrefix": "41.85.154.247/30",
+ "ipTags": [],
+ "publicIPAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ]
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ },
+ {
+ "name": "ipprefix01",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "ipPrefix": "40.85.154.247/30",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipTags": []
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ },
+ {
+ "name": "pfx",
+ "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/publicIPPrefixes/pfx",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "type": "Microsoft.Network/publicIPPrefixes",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "ipPrefix": "25.101.84.16/30",
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength": 30,
+ "ipTags": [],
+ "loadBalancerFrontendIpConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/loadBalancers/lb-pfx/frontendIPConfigurations/ipconfig1"
+ }
+ },
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixUpdateTags.json
new file mode 100644
index 000000000000..a7cfbd0622c6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/PublicIpPrefixUpdateTags.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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",
+ "etag": "W/\"00000000-0000-0000-0000-00000000\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-00000000",
+ "publicIPAddressVersion": "IPv4",
+ "ipPrefix": "40.85.154.247/30",
+ "prefixLength": 30,
+ "ipTags": []
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterCreate.json
new file mode 100644
index 000000000000..17176400612f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterCreate.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/Microsoft.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsoft.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/Microsoft.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsoft.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-08-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterDelete.json
new file mode 100644
index 000000000000..ff4002037a63
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterGet.json
new file mode 100644
index 000000000000..5fd0e0f88ae7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsoft.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-08-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterList.json
new file mode 100644
index 000000000000..cd91660f48ac
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsoft.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-08-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterListByResourceGroup.json
new file mode 100644
index 000000000000..3d107995ccc3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterListByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsoft.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-08-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterRuleCreate.json
new file mode 100644
index 000000000000..e8f500bf2b99
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterRuleCreate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "routeFilterRuleParameters": {
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/Microsoft.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/2019-08-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterRuleDelete.json
new file mode 100644
index 000000000000..6b9a2251ab4f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterRuleGet.json
new file mode 100644
index 000000000000..64b289f4c58f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterRuleGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "ruleName": "filterName",
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-08-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterRuleListByRouteFilter.json
new file mode 100644
index 000000000000..3cc915491afe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterRuleListByRouteFilter.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "routeFilterName": "filterName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-08-01/examples/RouteFilterRuleUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterRuleUpdate.json
new file mode 100644
index 000000000000..eb473ccb8397
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterRuleUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "routeFilterRuleParameters": {
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-08-01/examples/RouteFilterUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterUpdate.json
new file mode 100644
index 000000000000..f8d684fcd6f2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteFilterUpdate.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/Microsoft.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsoft.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/2019-08-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableCreate.json
new file mode 100644
index 000000000000..44c74329b015
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableCreateWithRoute.json
new file mode 100644
index 000000000000..0cdc4b0fe8a6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableCreateWithRoute.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableDelete.json
new file mode 100644
index 000000000000..a38ed9e054d4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableGet.json
new file mode 100644
index 000000000000..8b26ca8c016a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableList.json
new file mode 100644
index 000000000000..45f63b83cbd4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableListAll.json
new file mode 100644
index 000000000000..e41e57a98185
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableListAll.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableRouteCreate.json
new file mode 100644
index 000000000000..bb4e859b6820
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableRouteCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableRouteDelete.json
new file mode 100644
index 000000000000..24264e9804cc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableRouteDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt",
+ "routeName": "route1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableRouteGet.json
new file mode 100644
index 000000000000..01d9d675b918
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableRouteGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableRouteList.json
new file mode 100644
index 000000000000..f9da51d0816e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableRouteList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableUpdateTags.json
new file mode 100644
index 000000000000..98a4a5ba9c57
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/RouteTableUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceCommunityList.json
new file mode 100644
index 000000000000..12d360dc544a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceCommunityList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Network/bgpServiceCommunities/skype",
+ "name": "skype",
+ "type": "Microsoft.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/Microsoft.Network/bgpServiceCommunities/exchange",
+ "name": "exchange",
+ "type": "Microsoft.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/2019-08-01/examples/ServiceEndpointPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyCreate.json
new file mode 100644
index 000000000000..3445feedfcf4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyCreate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testPolicy",
+ "parameters": {
+ "location": "westus"
+ }
+ },
+ "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/2019-08-01/examples/ServiceEndpointPolicyCreateWithDefinition.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyCreateWithDefinition.json
new file mode 100644
index 000000000000..cdc10577e357
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyCreateWithDefinition.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testPolicy",
+ "parameters": {
+ "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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "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/2019-08-01/examples/ServiceEndpointPolicyDefinitionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyDefinitionCreate.json
new file mode 100644
index 000000000000..79c7532f768e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyDefinitionCreate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ServiceEndpointPolicyDefinitionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyDefinitionDelete.json
new file mode 100644
index 000000000000..87431e918b86
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyDefinitionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testPolicy",
+ "serviceEndpointPolicyDefinitionName": "testDefinition"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyDefinitionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyDefinitionGet.json
new file mode 100644
index 000000000000..07492bbb7255
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyDefinitionGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ServiceEndpointPolicyDefinitionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyDefinitionList.json
new file mode 100644
index 000000000000..b3f648314d78
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyDefinitionList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ServiceEndpointPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyDelete.json
new file mode 100644
index 000000000000..b493f2937ba0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "serviceEndpointPolicy1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyGet.json
new file mode 100644
index 000000000000..4ef017e2605f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ServiceEndpointPolicyList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyList.json
new file mode 100644
index 000000000000..00102ab8f190
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyList.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ServiceEndpointPolicyListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyListAll.json
new file mode 100644
index 000000000000..bde092084b24
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyListAll.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ServiceEndpointPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyUpdateTags.json
new file mode 100644
index 000000000000..0afa75a39952
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceEndpointPolicyUpdateTags.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/ServiceTagsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceTagsList.json
new file mode 100644
index 000000000000..5124b856b700
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/ServiceTagsList.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "location": "westcentralus",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "public",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/serviceTags/public",
+ "type": "Microsoft.Network/serviceTags",
+ "changeNumber": "63",
+ "cloud": "Public",
+ "values": [
+ {
+ "name": "ApiManagement",
+ "id": "ApiManagement",
+ "properties": {
+ "changeNumber": "7",
+ "region": "",
+ "systemService": "AzureApiManagement",
+ "addressPrefixes": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ]
+ }
+ },
+ {
+ "name": "ApiManagement.AustraliaCentral",
+ "id": "ApiManagement.AustraliaCentral",
+ "properties": {
+ "changeNumber": "2",
+ "region": "australiacentral",
+ "systemService": "AzureApiManagement",
+ "addressPrefixes": [
+ "20.36.106.68/31",
+ "20.36.107.176/28"
+ ]
+ }
+ },
+ {
+ "name": "AppService",
+ "id": "AppService",
+ "properties": {
+ "changeNumber": "13",
+ "region": "",
+ "systemService": "AzureAppService",
+ "addressPrefixes": [
+ "13.64.73.110/32",
+ "191.235.208.12/32",
+ "191.235.215.184/32"
+ ]
+ }
+ },
+ {
+ "name": "ServiceBus",
+ "id": "ServiceBus",
+ "properties": {
+ "changeNumber": "10",
+ "region": "",
+ "systemService": "AzureServiceBus",
+ "addressPrefixes": [
+ "23.98.82.96/29",
+ "40.68.127.68/32",
+ "40.70.146.64/29"
+ ]
+ }
+ },
+ {
+ "name": "ServiceBus.EastUS2",
+ "id": "ServiceBus.EastUS2",
+ "properties": {
+ "changeNumber": "1",
+ "region": "eastus2",
+ "systemService": "AzureServiceBus",
+ "addressPrefixes": [
+ "13.68.110.36/32",
+ "40.70.146.64/29"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetCreate.json
new file mode 100644
index 000000000000..4700fd596d8e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetCreate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-08-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/2019-08-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetCreateServiceEndpoint.json
new file mode 100644
index 000000000000..9ea821909cf6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetCreateServiceEndpoint.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-08-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/2019-08-01/examples/SubnetCreateWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetCreateWithDelegation.json
new file mode 100644
index 000000000000..88b037ae6b12
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetCreateWithDelegation.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-08-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/2019-08-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetDelete.json
new file mode 100644
index 000000000000..00a1479d9763
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetGet.json
new file mode 100644
index 000000000000..b411ce6f896c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-08-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/2019-08-01/examples/SubnetGetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetGetWithDelegation.json
new file mode 100644
index 000000000000..beb869ca7b0b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetGetWithDelegation.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-08-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/2019-08-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetList.json
new file mode 100644
index 000000000000..f1b8a8c1b862
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-08-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/2019-08-01/examples/SubnetPrepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetPrepareNetworkPolicies.json
new file mode 100644
index 000000000000..14ad7f7800bd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetPrepareNetworkPolicies.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/SubnetUnprepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetUnprepareNetworkPolicies.json
new file mode 100644
index 000000000000..9ef5be137354
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/SubnetUnprepareNetworkPolicies.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet",
+ "subnetName": "subnet1",
+ "unprepareNetworkPoliciesRequestParameters": {
+ "serviceName": "Microsoft.Sql/managedInstances"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/UsageList.json
new file mode 100644
index 000000000000..e29faf4b2b8b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/UsageList.json
@@ -0,0 +1,265 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2019-08-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/2019-08-01/examples/UsageListSpacedLocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/UsageListSpacedLocation.json
new file mode 100644
index 000000000000..f9c5a7839561
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/UsageListSpacedLocation.json
@@ -0,0 +1,335 @@
+{
+ "parameters": {
+ "location": "West US",
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualHubDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubDelete.json
new file mode 100644
index 000000000000..28912a2c7ba9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubGet.json
new file mode 100644
index 000000000000..2519c5e802f6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubList.json
new file mode 100644
index 000000000000..0cebb3fabb10
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/Microsoft.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/SpokeVnet2"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ],
+ "addressPrefix": "210.10.1.0/24"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubListByResourceGroup.json
new file mode 100644
index 000000000000..6e092c2c67e6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubListByResourceGroup.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.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/Microsoft.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/SpokeVnet2"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ],
+ "addressPrefix": "210.10.1.0/24"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubPut.json
new file mode 100644
index 000000000000..167183a61603
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubPut.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub2",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualHubUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubUpdateTags.json
new file mode 100644
index 000000000000..20d406bc4792
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualHubUpdateTags.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub2",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCheckIPAddressAvailability.json
new file mode 100644
index 000000000000..758a7fdd9dd1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCheckIPAddressAvailability.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreate.json
new file mode 100644
index 000000000000..550a1b89ef8e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
new file mode 100644
index 000000000000..f2f06fdaf983
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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"
+ }
+ ],
+ "serviceEndpointPolicies": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "location": "eastus2euap"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "vnet1",
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "eastus2euap",
+ "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": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "vnet1",
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "eastus2euap",
+ "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": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateServiceEndpoints.json
new file mode 100644
index 000000000000..b41e2d2c2a73
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateSubnet.json
new file mode 100644
index 000000000000..4fc1e4d57e9f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateSubnet.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
new file mode 100644
index 000000000000..35ab4353dc36
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
new file mode 100644
index 000000000000..a96450d52631
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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.Sql/managedInstances"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "location": "westcentralus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-vnet",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westcentralus",
+ "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.Sql/managedInstances",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ ],
+ "virtualNetworkPeerings": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-vnet",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westcentralus",
+ "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.Sql/managedInstances",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ ],
+ "virtualNetworkPeerings": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateWithBgpCommunities.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateWithBgpCommunities.json
new file mode 100644
index 000000000000..76855be7e092
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkCreateWithBgpCommunities.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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"
+ }
+ }
+ ],
+ "bgpCommunities": {
+ "virtualNetworkCommunity": "12076:60000"
+ }
+ },
+ "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"
+ }
+ }
+ ],
+ "bgpCommunities": {
+ "virtualNetworkCommunity": "12076:60000",
+ "regionalCommunity": "12076:51004"
+ },
+ "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"
+ }
+ }
+ ],
+ "bgpCommunities": {
+ "virtualNetworkCommunity": "12076:60000",
+ "regionalCommunity": "12076:51004"
+ },
+ "virtualNetworkPeerings": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkDelete.json
new file mode 100644
index 000000000000..f7e4cf205479
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionCreate.json
new file mode 100644
index 000000000000..58c8f325f678
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionCreate.json
@@ -0,0 +1,132 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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",
+ "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
+ }
+ },
+ "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"
+ },
+ "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": [],
+ "trafficSelectorPolicies": []
+ },
+ "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/2019-08-01/examples/VirtualNetworkGatewayConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionDelete.json
new file mode 100644
index 000000000000..37d05a3022dc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "conn1"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionGet.json
new file mode 100644
index 000000000000..f954d98187bf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": [],
+ "trafficSelectorPolicies": [],
+ "connectionStatus": "Connecting",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json
new file mode 100644
index 000000000000..e536dcf0ebd3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "connS2S"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "AzureAbc123"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json
new file mode 100644
index 000000000000..1df3418f2d13
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json
new file mode 100644
index 000000000000..42f2c9539db1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json
new file mode 100644
index 000000000000..0e26cd45dc4c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "vpngwcn1"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json
new file mode 100644
index 000000000000..2a380487aff5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "vpngwcn1",
+ "parameters": {
+ "filterData": "{'TracingFlags': 11,'MaxPacketBufferSize': 120,'MaxFileSize': 200,'Filters': [{'SourceSubnets': ['20.1.1.0/24'],'DestinationSubnets': ['10.1.1.0/24'],'SourcePort': [500],'DestinationPort': [4500],'Protocol': null,'IpSubnetValueAsAny': true,'TcpFlags': 16,'PortValueAsAny': true}]}"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json
new file mode 100644
index 000000000000..410a187586fd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "vpngwcn1",
+ "parameters": {
+ "sasUrl": "https://teststorage.blob.core.windows.net/?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-09-13T07:44:05Z&st=2019-09-06T23:44:05Z&spr=https&sig=V1h9D1riltvZMI69d6ihENnFo%2FrCvTqGgjO2lf%2FVBhE%3D"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
new file mode 100644
index 000000000000..b0013d87f891
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "test",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "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": [],
+ "trafficSelectorPolicies": [],
+ "connectionStatus": "Unknown",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionsList.json
new file mode 100644
index 000000000000..206b10310691
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayConnectionsList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": [],
+ "trafficSelectorPolicies": [],
+ "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": [],
+ "trafficSelectorPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayDelete.json
new file mode 100644
index 000000000000..e1bd812c5d53
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json
new file mode 100644
index 000000000000..cacff1b4d2c1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json
new file mode 100644
index 000000000000..63993e34a1fc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {}
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGet.json
new file mode 100644
index 000000000000..2e48c8cecca9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGet.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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",
+ "vpnGatewayGeneration": "None",
+ "enableBgp": false,
+ "activeActive": false,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [
+ "OpenVPN"
+ ],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": [],
+ "aadTenant": "https://login.microsoftonline.com/99163270-c9ab-4279-bb12-5353ed9bf6e1",
+ "aadAudience": "fd11706c-e78c-4828-8be7-ac7dcefd4b17",
+ "aadIssuer": "https://sts.windows.net/99163270-c9ab-4279-bb12-5353ed9bf6e1/"
+ },
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json
new file mode 100644
index 000000000000..af9c4ef6a612
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "peer": "test"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json
new file mode 100644
index 000000000000..c0a005294ffd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json
new file mode 100644
index 000000000000..cf8deea11b2f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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/2019-08-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json
new file mode 100644
index 000000000000..7d9a912fcee7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json
new file mode 100644
index 000000000000..3ba87a9c670d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "resourceGroupName": "p2s-vnet-test",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "virtualNetworkGatewayName": "vpnp2sgw"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "vpnConnectionId": "IKEv2_1e1cfe59-5c7c-4315-a876-b11fbfdfeed4",
+ "vpnConnectionDuration": 900,
+ "vpnConnectionTime": "2019-05-02T22:26:22",
+ "publicIpAddress": "167.220.2.232:45522",
+ "privateIpAddress": "192.168.210.2",
+ "vpnUserName": "gwp2schildcert",
+ "maxBandwidth": 240000000,
+ "egressPacketsTransferred": 557,
+ "egressBytesTransferred": 33420,
+ "ingressPacketsTransferred": 557,
+ "ingressBytesTransferred": 33420,
+ "maxPacketsPerSecond": 4
+ },
+ {
+ "vpnConnectionId": "IKEv2_571cfe59-2c7d-1415-e813-c51fbfdfea16",
+ "vpnConnectionDuration": 800,
+ "vpnConnectionTime": "2019-05-01T21:06:12",
+ "publicIpAddress": "167.220.2.232:45213",
+ "privateIpAddress": "192.168.210.1",
+ "vpnUserName": "gwp2schildcert",
+ "maxBandwidth": 220000000,
+ "egressPacketsTransferred": 357,
+ "egressBytesTransferred": 23420,
+ "ingressPacketsTransferred": 357,
+ "ingressBytesTransferred": 23420,
+ "maxPacketsPerSecond": 4
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayLearnedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayLearnedRoutes.json
new file mode 100644
index 000000000000..c0a005294ffd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayLearnedRoutes.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayList.json
new file mode 100644
index 000000000000..6cb2053e7235
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayList.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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",
+ "vpnGatewayGeneration": "None",
+ "enableBgp": false,
+ "activeActive": false,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": []
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.0.14",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ },
+ {
+ "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",
+ "vpnGatewayGeneration": "None",
+ "enableBgp": false,
+ "activeActive": false,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [
+ "OpenVPN"
+ ],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": [],
+ "aadTenant": "https://login.microsoftonline.com/99163270-c9ab-4279-bb12-5353ed9bf6e1",
+ "aadAudience": "fd11706c-e78c-4828-8be7-ac7dcefd4b17",
+ "aadIssuer": "https://sts.windows.net/99163270-c9ab-4279-bb12-5353ed9bf6e1/"
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.1.0.46",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayReset.json
new file mode 100644
index 000000000000..ca4d6ca30f7e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayReset.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json
new file mode 100644
index 000000000000..0ffb879c1e1b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json
new file mode 100644
index 000000000000..88c4c23fe030
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayStartPacketCapture.json
new file mode 100644
index 000000000000..3bf507c3c88f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayStartPacketCapture.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json
new file mode 100644
index 000000000000..995ecd3212bf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {
+ "filterData": "{'TracingFlags': 11,'MaxPacketBufferSize': 120,'MaxFileSize': 200,'Filters': [{'SourceSubnets': ['20.1.1.0/24'],'DestinationSubnets': ['10.1.1.0/24'],'SourcePort': [500],'DestinationPort': [4500],'Protocol': null,'IpSubnetValueAsAny': true,'TcpFlags': 16,'PortValueAsAny': true}]}"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayStopPacketCapture.json
new file mode 100644
index 000000000000..29b947c6a9a8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayStopPacketCapture.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {
+ "sasUrl": "https://teststorage.blob.core.windows.net/?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-09-13T07:44:05Z&st=2019-09-06T23:44:05Z&spr=https&sig=V1h9D1riltvZMI69d6ihENnFo%2FrCvTqGgjO2lf%2FVBhE%3D"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json
new file mode 100644
index 000000000000..80d2cf9f9ec7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayUpdate.json
new file mode 100644
index 000000000000..2b5cb7bfc2c4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayUpdate.json
@@ -0,0 +1,171 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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,
+ "enableDnsForwarding": true,
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1"
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ },
+ "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",
+ "vpnGatewayGeneration": "None",
+ "enableBgp": false,
+ "activeActive": false,
+ "enableDnsForwarding": true,
+ "inboundDnsForwardingEndpoint": "10.0.1.14",
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [
+ "OpenVPN"
+ ],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": [],
+ "aadTenant": "",
+ "aadAudience": "",
+ "aadIssuer": ""
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ }
+ },
+ "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,
+ "enableDnsForwarding": true,
+ "inboundDnsForwardingEndpoint": "10.0.1.14",
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [
+ "OpenVPN"
+ ],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": [],
+ "aadTenant": "https://login.microsoftonline.com/99163270-c9ab-4279-bb12-5353ed9bf6e1",
+ "aadAudience": "fd11706c-e78c-4828-8be7-ac7dcefd4b17",
+ "aadIssuer": "https://sts.windows.net/99163270-c9ab-4279-bb12-5353ed9bf6e1/"
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..764f9222c9f1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayUpdateTags.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "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",
+ "vpnGatewayGeneration": "None",
+ "enableBgp": false,
+ "activeActive": false,
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.0.254",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json
new file mode 100644
index 000000000000..dfa77f459868
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewaysListConnections.json
new file mode 100644
index 000000000000..d5159e6ddc51
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGatewaysListConnections.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "virtualNetworkGatewayName": "test-vpn-gateway-1",
+ "api-version": "2019-08-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": [],
+ "trafficSelectorPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGet.json
new file mode 100644
index 000000000000..e5808bc49a43
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkGetResourceNavigationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGetResourceNavigationLinks.json
new file mode 100644
index 000000000000..0bea4913a83a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGetResourceNavigationLinks.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "vnet",
+ "subnetName": "subnet"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "redisCache_redis-tester",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet/resourceNavigationLinks/redisCache_redis-tester",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworks/subnets/resourceNavigationLinks",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "linkedResourceType": "Microsoft.Cache/redis",
+ "link": "/subscriptions/subid/resourceGroups/another-rg/providers/Microsoft.Cache/Redis/redis-tester"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGetServiceAssociationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGetServiceAssociationLinks.json
new file mode 100644
index 000000000000..6edb3620a246
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGetServiceAssociationLinks.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "vnet",
+ "subnetName": "subnet"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "acisal",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet/serviceAssociationLinks/acisal",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "linkedResourceType": "Microsoft.ContainerInstance/containerGroups",
+ "allowDelete": true,
+ "locations": [
+ "westus"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGetWithServiceAssociationLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGetWithServiceAssociationLink.json
new file mode 100644
index 000000000000..5596e5efd7c3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGetWithServiceAssociationLink.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGetWithSubnetDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGetWithSubnetDelegation.json
new file mode 100644
index 000000000000..304f1b6002be
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkGetWithSubnetDelegation.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkList.json
new file mode 100644
index 000000000000..0ae0f70cc689
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkList.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkListAll.json
new file mode 100644
index 000000000000..c7d7971a9472
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkListAll.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkListUsage.json
new file mode 100644
index 000000000000..60ac14a2dcea
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkListUsage.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkPeeringCreate.json
new file mode 100644
index 000000000000..3791ab71ffb0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkPeeringCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkPeeringDelete.json
new file mode 100644
index 000000000000..3b4a9fe8718e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkPeeringGet.json
new file mode 100644
index 000000000000..224288be4376
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkPeeringGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkPeeringList.json
new file mode 100644
index 000000000000..49cd81bc0afa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkPeeringList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkTapCreate.json
new file mode 100644
index 000000000000..7b63e17b6d54
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkTapCreate.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkTapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkTapDelete.json
new file mode 100644
index 000000000000..863e5c0f9eec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkTapDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "tapName": "test-vtap"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkTapGet.json
new file mode 100644
index 000000000000..29055609b9be
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkTapGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkTapList.json
new file mode 100644
index 000000000000..9e3bd3d542a1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkTapList.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkTapListAll.json
new file mode 100644
index 000000000000..bd8234b2d726
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkTapListAll.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkTapUpdateTags.json
new file mode 100644
index 000000000000..64e08bdbc83b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkTapUpdateTags.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkUpdateTags.json
new file mode 100644
index 000000000000..52fd8095261a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualNetworkUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualRouterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterDelete.json
new file mode 100644
index 000000000000..4215af2b5850
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterGet.json
new file mode 100644
index 000000000000..d1c061c0cc22
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "virtualRouter",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter",
+ "type": "Microsoft.Network/virtualRouters",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualRouterAsn": 10000,
+ "virtualRouterIps": [
+ "192.168.1.1",
+ "192.168.1.2"
+ ],
+ "hostedGateway": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway"
+ },
+ "peerings": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterListByResourceGroup.json
new file mode 100644
index 000000000000..7ba2fab7c0e9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterListByResourceGroup.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "virtualRouter",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter",
+ "type": "Microsoft.Network/virtualRouters",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualRouterAsn": 10000,
+ "virtualRouterIps": [
+ "192.168.1.1",
+ "192.168.1.2"
+ ],
+ "hostedGateway": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway"
+ },
+ "peerings": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterListBySubscription.json
new file mode 100644
index 000000000000..ca9a2ed262da
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterListBySubscription.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "virtualRouter",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter",
+ "type": "Microsoft.Network/virtualRouters",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualRouterAsn": 10000,
+ "virtualRouterIps": [
+ "192.168.1.1",
+ "192.168.1.2"
+ ],
+ "hostedGateway": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway"
+ },
+ "peerings": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringDelete.json
new file mode 100644
index 000000000000..c68c6a9f2d39
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "peeringName": "peering1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringGet.json
new file mode 100644
index 000000000000..f0f7b7569656
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "peeringName": "peering1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "peering1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringList.json
new file mode 100644
index 000000000000..842cb47543ba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "peering1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringPut.json
new file mode 100644
index 000000000000..6584e6afe352
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringPut.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "peeringName": "peering1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter",
+ "parameters": {
+ "properties": {
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "peering1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "peering1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringUpdate.json
new file mode 100644
index 000000000000..bff72720e510
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPeeringUpdate.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter",
+ "peeringName": "peering1",
+ "parameters": {
+ "properties": {
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "peering1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerIp": "192.168.1.5",
+ "peerAsn": 20000
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPut.json
new file mode 100644
index 000000000000..794363f65d96
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterPut.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter",
+ "parameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "properties": {
+ "hostedGateway": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "virtualRouter",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter",
+ "type": "Microsoft.Network/virtualRouters",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualRouterAsn": 10000,
+ "virtualRouterIps": [
+ "192.168.1.1",
+ "192.168.1.2"
+ ],
+ "hostedGateway": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway"
+ },
+ "peerings": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "virtualRouter",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter",
+ "type": "Microsoft.Network/virtualRouters",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualRouterAsn": 10000,
+ "virtualRouterIps": [
+ "192.168.1.1",
+ "192.168.1.2"
+ ],
+ "hostedGateway": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway"
+ },
+ "peerings": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterUpdateTags.json
new file mode 100644
index 000000000000..a3f6ea52d151
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualRouterUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter",
+ "parameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "virtualRouter",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter",
+ "type": "Microsoft.Network/virtualRouters",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANDelete.json
new file mode 100644
index 000000000000..e7b8cfee126c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "VirtualWANName": "virtualWan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANGet.json
new file mode 100644
index 000000000000..55d3eed61955
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualWANList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANList.json
new file mode 100644
index 000000000000..5cd0087f7d40
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualWANListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANListByResourceGroup.json
new file mode 100644
index 000000000000..530e39ee0769
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANListByResourceGroup.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualWANPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANPut.json
new file mode 100644
index 000000000000..e4df6ab6a5ec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANPut.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualWANUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANUpdateTags.json
new file mode 100644
index 000000000000..c84d29fc22da
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWANUpdateTags.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/2019-08-01/examples/VirtualWanSupportedSecurityProviders.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWanSupportedSecurityProviders.json
new file mode 100644
index 000000000000..d66c6b5fd6df
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VirtualWanSupportedSecurityProviders.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/2019-08-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssNetworkInterfaceGet.json
new file mode 100644
index 000000000000..146f80e3d7f4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssNetworkInterfaceGet.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "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/2019-08-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssNetworkInterfaceIpConfigGet.json
new file mode 100644
index 000000000000..5b7c23b7b56b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssNetworkInterfaceIpConfigGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "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/2019-08-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssNetworkInterfaceIpConfigList.json
new file mode 100644
index 000000000000..e14de4e82a72
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssNetworkInterfaceIpConfigList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "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/2019-08-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssNetworkInterfaceList.json
new file mode 100644
index 000000000000..0ec937148391
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssNetworkInterfaceList.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "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/2019-08-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssPublicIpGet.json
new file mode 100644
index 000000000000..229c15712a0d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssPublicIpGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "virtualMachineScaleSetName": "vmss1",
+ "resourceGroupName": "vmss-tester",
+ "api-version": "2018-10-01",
+ "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/2019-08-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssPublicIpListAll.json
new file mode 100644
index 000000000000..605e0b831869
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssPublicIpListAll.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "virtualMachineScaleSetName": "vmss1",
+ "resourceGroupName": "vmss-tester",
+ "api-version": "2018-10-01",
+ "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/2019-08-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssVmNetworkInterfaceList.json
new file mode 100644
index 000000000000..e4f1cbf14ebf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssVmNetworkInterfaceList.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "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/2019-08-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssVmPublicIpList.json
new file mode 100644
index 000000000000..d21f5d40ed03
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VmssVmPublicIpList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "virtualMachineScaleSetName": "vmss1",
+ "resourceGroupName": "vmss-tester",
+ "api-version": "2018-10-01",
+ "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/2019-08-01/examples/VpnConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnConnectionDelete.json
new file mode 100644
index 000000000000..31d12d286712
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "connectionName": "vpnConnection1",
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnConnectionGet.json
new file mode 100644
index 000000000000..08174b188d60
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnConnectionGet.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "connectionName": "vpnConnection1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ },
+ {
+ "name": "Connection-Link2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnConnectionList.json
new file mode 100644
index 000000000000..b371a94b74ae
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnConnectionList.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "api-version": "2019-08-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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ },
+ {
+ "name": "Connection-Link2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnConnectionPut.json
new file mode 100644
index 000000000000..6b0767e12707
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnConnectionPut.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "connectionName": "vpnConnection1",
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "VpnConnectionParameters": {
+ "properties": {
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "properties": {
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayDelete.json
new file mode 100644
index 000000000000..483764219951
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayGet.json
new file mode 100644
index 000000000000..ce3be7eab804
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayGet.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ },
+ {
+ "name": "Connection-Link2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayList.json
new file mode 100644
index 000000000000..e9fcefda4ae3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayList.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ },
+ {
+ "name": "Connection-Link2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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,
+ "useLocalAzureIpAddress": false,
+ "ipsecPolicies": []
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..e9fcefda4ae3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayListByResourceGroup.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ },
+ {
+ "name": "Connection-Link2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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,
+ "useLocalAzureIpAddress": false,
+ "ipsecPolicies": []
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayPut.json
new file mode 100644
index 000000000000..cf02e829c4f0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayPut.json
@@ -0,0 +1,170 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "vpnGatewayParameters": {
+ "location": "westcentralus",
+ "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"
+ },
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "properties": {
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key"
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "peerWeight": 0
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ },
+ "201": {
+ "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"
+ },
+ "enableInternetSecurity": false,
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "vpnLinkConnections": [
+ {
+ "name": "Connection-Link1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayReset.json
new file mode 100644
index 000000000000..846f133e8f86
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayReset.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "gatewayName": "vpngw",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw",
+ "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/vpngw/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,
+ "useLocalAzureIpAddress": false,
+ "ipsecPolicies": []
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayUpdateTags.json
new file mode 100644
index 000000000000..c52e3d8d7011
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnGatewayUpdateTags.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "vpnGatewayParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "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",
+ "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,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": []
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ },
+ "201": {
+ "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",
+ "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,
+ "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/2019-08-01/examples/VpnServerConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationDelete.json
new file mode 100644
index 000000000000..74fce6470e6f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "vpnServerConfigurationName": "vpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationGet.json
new file mode 100644
index 000000000000..5cea6cc64392
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationGet.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "vpnServerConfigurationName": "vpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnServerConfiguration1",
+ "type": "Microsoft.Network/vpnServerConfigurations",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnAuthenticationTypes": [
+ "Certificate"
+ ],
+ "vpnClientIpsecPolicies": [
+ {
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }
+ ],
+ "vpnServerConfigVpnClientRootCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRootCert1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ }
+ ],
+ "vpnServerConfigVpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "vpnServerConfigRadiusServerRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusServerRootCer1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ }
+ ],
+ "vpnServerConfigRadiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationList.json
new file mode 100644
index 000000000000..c637b9a170bf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationList.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnServerConfiguration1",
+ "type": "Microsoft.Network/vpnServerConfigurations",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnAuthenticationTypes": [
+ "Certificate"
+ ],
+ "vpnClientIpsecPolicies": [
+ {
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }
+ ],
+ "vpnServerConfigVpnClientRootCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRootCert1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ }
+ ],
+ "vpnServerConfigVpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "vpnServerConfigRadiusServerRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusServerRootCer1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ }
+ ],
+ "vpnServerConfigRadiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "East US",
+ "name": "vpnServerConfiguration2",
+ "type": "Microsoft.Network/vpnServerConfigurations",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnAuthenticationTypes": [
+ "Certificate"
+ ],
+ "vpnClientIpsecPolicies": [
+ {
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }
+ ],
+ "vpnServerConfigVpnClientRootCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRootCert1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ }
+ ],
+ "vpnServerConfigVpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "vpnServerConfigRadiusServerRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusServerRootCer1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ }
+ ],
+ "vpnServerConfigRadiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationListByResourceGroup.json
new file mode 100644
index 000000000000..9b18be6cbb89
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationListByResourceGroup.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnServerConfiguration1",
+ "type": "Microsoft.Network/vpnServerConfigurations",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnAuthenticationTypes": [
+ "Certificate"
+ ],
+ "vpnClientIpsecPolicies": [
+ {
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }
+ ],
+ "vpnServerConfigVpnClientRootCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRootCert1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ }
+ ],
+ "vpnServerConfigVpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "vpnServerConfigRadiusServerRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusServerRootCer1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ }
+ ],
+ "vpnServerConfigRadiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnServerConfiguration2",
+ "type": "Microsoft.Network/vpnServerConfigurations",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnAuthenticationTypes": [
+ "Certificate"
+ ],
+ "vpnClientIpsecPolicies": [
+ {
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }
+ ],
+ "vpnServerConfigVpnClientRootCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRootCert1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ }
+ ],
+ "vpnServerConfigVpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "vpnServerConfigRadiusServerRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusServerRootCer1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ }
+ ],
+ "vpnServerConfigRadiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationPut.json
new file mode 100644
index 000000000000..ed1cb860710e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationPut.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "vpnServerConfigurationName": "vpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "VpnServerConfigurationParameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "properties": {
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnClientIpsecPolicies": [
+ {
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }
+ ],
+ "vpnServerConfigVpnClientRootCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRootCert1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ }
+ ],
+ "vpnServerConfigVpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "vpnServerConfigRadiusServerRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusServerRootCer1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ }
+ ],
+ "vpnServerConfigRadiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnServerConfiguration1",
+ "type": "Microsoft.Network/vpnServerConfigurations",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnAuthenticationTypes": [
+ "Certificate"
+ ],
+ "vpnClientIpsecPolicies": [
+ {
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }
+ ],
+ "vpnServerConfigVpnClientRootCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRootCert1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ }
+ ],
+ "vpnServerConfigVpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "vpnServerConfigRadiusServerRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusServerRootCer1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ }
+ ],
+ "vpnServerConfigRadiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnServerConfiguration1",
+ "type": "Microsoft.Network/vpnServerConfigurations",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnAuthenticationTypes": [
+ "Certificate"
+ ],
+ "vpnClientIpsecPolicies": [
+ {
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }
+ ],
+ "vpnServerConfigVpnClientRootCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRootCert1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ }
+ ],
+ "vpnServerConfigVpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "vpnServerConfigRadiusServerRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusServerRootCer1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ }
+ ],
+ "vpnServerConfigRadiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationUpdateTags.json
new file mode 100644
index 000000000000..063d69e68cea
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnServerConfigurationUpdateTags.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "vpnServerConfigurationName": "vpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "VpnServerConfigurationParameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnServerConfiguration1",
+ "type": "Microsoft.Network/vpnServerConfigurations",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnClientIpsecPolicies": [
+ {
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }
+ ],
+ "vpnServerConfigVpnClientRootCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRootCert1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ }
+ ],
+ "vpnServerConfigVpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "vpnServerConfigRadiusServerRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusServerRootCer1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ }
+ ],
+ "vpnServerConfigRadiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnServerConfiguration1",
+ "type": "Microsoft.Network/vpnServerConfigurations",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnClientIpsecPolicies": [
+ {
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }
+ ],
+ "vpnServerConfigVpnClientRootCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRootCert1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ }
+ ],
+ "vpnServerConfigVpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "vpnServerConfigRadiusServerRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusServerRootCer1",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ }
+ ],
+ "vpnServerConfigRadiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteDelete.json
new file mode 100644
index 000000000000..05dad2cfa85a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteGet.json
new file mode 100644
index 000000000000..5f5d088ab45b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1"
+ },
+ "deviceProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "isSecuritySite": false,
+ "vpnSiteLinks": [
+ {
+ "name": "vpnSiteLink1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkProviderName": "vendor1",
+ "linkSpeedInMbps": 0
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteLinkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteLinkConnectionGet.json
new file mode 100644
index 000000000000..bb335a444eea
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteLinkConnectionGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "connectionName": "vpnConnection1",
+ "linkConnectionName": "Connection-Link1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteLinkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteLinkConnectionList.json
new file mode 100644
index 000000000000..4eb9ae3412e8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteLinkConnectionList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "api-version": "2019-08-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "connectionName": "vpnConnection1"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "Connection-Link1",
+ "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnSiteLink": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"
+ },
+ "connectionBandwidth": 200,
+ "ipsecPolicies": [],
+ "vpnConnectionProtocolType": "IKEv2",
+ "sharedKey": "key",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "enableBgp": false,
+ "enableRateLimiting": false,
+ "useLocalAzureIpAddress": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "routingWeight": 0
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteLinkGet.json
new file mode 100644
index 000000000000..45f9538a4a6e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteLinkGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "vpnSiteLinkName": "vpnSiteLink1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "vpnSiteLink1",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteLinkListByVpnSite.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteLinkListByVpnSite.json
new file mode 100644
index 000000000000..b6c0fdf3dc5c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteLinkListByVpnSite.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "vpnSiteName": "vpnSite1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "vpnSiteLink1",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkSpeedInMbps": 200
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ },
+ {
+ "name": "vpnSiteLink2",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink2",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "40.40.40.46",
+ "linkProperties": {
+ "linkSpeedInMbps": 200
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.1",
+ "asn": 1234
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteList.json
new file mode 100644
index 000000000000..a417c4126059
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteList.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1"
+ },
+ "deviceProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "isSecuritySite": false,
+ "vpnSiteLinks": [
+ {
+ "name": "vpnSiteLink1",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "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
+ },
+ "isSecuritySite": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteListByResourceGroup.json
new file mode 100644
index 000000000000..0b5e62e048e3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteListByResourceGroup.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1"
+ },
+ "deviceProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "isSecuritySite": false,
+ "vpnSiteLinks": [
+ {
+ "name": "vpnSiteLink1",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "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/2019-08-01/examples/VpnSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSitePut.json
new file mode 100644
index 000000000000..cf321db3023f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSitePut.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "VpnSiteParameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "properties": {
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1"
+ },
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "isSecuritySite": false,
+ "vpnSiteLinks": [
+ {
+ "name": "vpnSiteLink1",
+ "properties": {
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkProviderName": "vendor1",
+ "linkSpeedInMbps": 0
+ },
+ "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": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1"
+ },
+ "deviceProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "isSecuritySite": false,
+ "vpnSiteLinks": [
+ {
+ "name": "vpnSiteLink1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/vpnSites/vpnSiteLinks",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkProviderName": "vendor1",
+ "linkSpeedInMbps": 0
+ },
+ "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": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1"
+ },
+ "deviceProperties": {
+ "linkSpeedInMbps": 0
+ },
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "isSecuritySite": false,
+ "vpnSiteLinks": [
+ {
+ "name": "vpnSiteLink1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "50.50.50.56",
+ "linkProperties": {
+ "linkProviderName": "vendor1",
+ "linkSpeedInMbps": 0
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteUpdateTags.json
new file mode 100644
index 000000000000..7a19a3559960
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSiteUpdateTags.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/2019-08-01/examples/VpnSitesConfigurationDownload.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSitesConfigurationDownload.json
new file mode 100644
index 000000000000..f60b72f71a64
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/VpnSitesConfigurationDownload.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-08-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/2019-08-01/examples/WafListAllPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafListAllPolicies.json
new file mode 100644
index 000000000000..a924044d7a52
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafListAllPolicies.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "state": "Enabled",
+ "mode": "Prevention",
+ "maxRequestBodySizeInKb": 128,
+ "fileUploadLimitInMb": 750,
+ "requestBodyCheck": true
+ },
+ "customRules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24"
+ ]
+ },
+ {
+ "matchVariables": [
+ {
+ "variableName": "RequestHeader",
+ "selector": "UserAgent"
+ }
+ ],
+ "operator": "Contains",
+ "negationConditon": false,
+ "matchValues": [
+ "Windows"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ],
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "OWASP",
+ "ruleSetVersion": "3.0"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafListPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafListPolicies.json
new file mode 100644
index 000000000000..2c0ecef4aa6e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafListPolicies.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "state": "Enabled",
+ "mode": "Detection",
+ "maxRequestBodySizeInKb": 128,
+ "fileUploadLimitInMb": 750,
+ "requestBodyCheck": true
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "OWASP",
+ "ruleSetVersion": "3.0"
+ }
+ ]
+ },
+ "customRules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24"
+ ]
+ },
+ {
+ "matchVariables": [
+ {
+ "variableName": "RequestHeader",
+ "selector": "UserAgent"
+ }
+ ],
+ "operator": "Contains",
+ "negationConditon": false,
+ "matchValues": [
+ "Windows"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafPolicyCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafPolicyCreateOrUpdate.json
new file mode 100644
index 000000000000..e712e880a5ca
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafPolicyCreateOrUpdate.json
@@ -0,0 +1,258 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "Policy1",
+ "parameters": {
+ "location": "WestUs",
+ "properties": {
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "OWASP",
+ "ruleSetVersion": "3.0"
+ }
+ ]
+ },
+ "customRules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "ruleType": "MatchRule",
+ "action": "Block",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "matchValues": [
+ "192.168.1.0/24"
+ ]
+ },
+ {
+ "matchVariables": [
+ {
+ "variableName": "RequestHeaders",
+ "selector": "UserAgent"
+ }
+ ],
+ "operator": "Contains",
+ "matchValues": [
+ "Windows"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "state": "Enabled",
+ "mode": "Detection",
+ "maxRequestBodySizeInKb": 128,
+ "fileUploadLimitInMb": 750,
+ "requestBodyCheck": true
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "OWASP",
+ "ruleSetVersion": "3.0"
+ }
+ ]
+ },
+ "customRules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24"
+ ]
+ },
+ {
+ "matchVariables": [
+ {
+ "variableName": "RequestHeader",
+ "selector": "UserAgent"
+ }
+ ],
+ "operator": "Contains",
+ "negationConditon": false,
+ "matchValues": [
+ "Windows"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "state": "Enabled",
+ "mode": "Detection",
+ "maxRequestBodySizeInKb": 128,
+ "fileUploadLimitInMb": 750,
+ "requestBodyCheck": true
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "OWASP",
+ "ruleSetVersion": "3.0"
+ }
+ ]
+ },
+ "customRules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24"
+ ]
+ },
+ {
+ "matchVariables": [
+ {
+ "variableName": "RequestHeader",
+ "selector": "UserAgent"
+ }
+ ],
+ "operator": "Contains",
+ "negationConditon": false,
+ "matchValues": [
+ "Windows"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafPolicyDelete.json
new file mode 100644
index 000000000000..e5e15fa5a87c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "Policy1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafPolicyGet.json
new file mode 100644
index 000000000000..7920f9040515
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/WafPolicyGet.json
@@ -0,0 +1,140 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "Policy1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Policy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1",
+ "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "state": "Enabled",
+ "mode": "Prevention",
+ "maxRequestBodySizeInKb": 128,
+ "fileUploadLimitInMb": 750,
+ "requestBodyCheck": true
+ },
+ "customRules": [
+ {
+ "name": "Rule1",
+ "priority": 1,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ ],
+ "action": "Block"
+ },
+ {
+ "name": "Rule2",
+ "priority": 2,
+ "ruleType": "MatchRule",
+ "matchConditions": [
+ {
+ "matchVariables": [
+ {
+ "variableName": "RemoteAddr",
+ "selector": null
+ }
+ ],
+ "operator": "IPMatch",
+ "negationConditon": false,
+ "matchValues": [
+ "192.168.1.0/24"
+ ]
+ },
+ {
+ "matchVariables": [
+ {
+ "variableName": "RequestHeader",
+ "selector": "UserAgent"
+ }
+ ],
+ "operator": "Contains",
+ "negationConditon": false,
+ "matchValues": [
+ "Windows"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ],
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "OWASP",
+ "ruleSetVersion": "3.0",
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "REQUEST-942-APPLICATION-ATTACK-SQLI",
+ "rules": [
+ {
+ "ruleId": "942130",
+ "state": "Disabled"
+ },
+ {
+ "ruleId": "942110",
+ "state": "Disabled"
+ }
+ ]
+ },
+ {
+ "ruleGroupName": "REQUEST-920-PROTOCOL-ENFORCEMENT",
+ "rules": [
+ {
+ "ruleId": "920100",
+ "state": "Disabled"
+ },
+ {
+ "ruleId": "920120",
+ "state": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "exclusions": [
+ {
+ "matchVariable": "RequestHeaderNames",
+ "selectorMatchOperator": "Equals",
+ "selector": "testHeader1"
+ },
+ {
+ "matchVariable": "RequestHeaderNames",
+ "selectorMatchOperator": "StartsWith",
+ "selector": "testHeader2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/expressRouteCircuit.json
new file mode 100644
index 000000000000..5e3f1b3dd458
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/expressRouteCircuit.json
@@ -0,0 +1,2328 @@
+{
+ "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": "2019-08-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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}/peerings/{peeringName}/peerConnections/{connectionName}": {
+ "get": {
+ "tags": [
+ "PeerExpressRouteCircuitConnections"
+ ],
+ "operationId": "PeerExpressRouteCircuitConnections_Get",
+ "description": "Gets the specified Peer 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 peer express route circuit connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Peer Express Route Circuit Connection resource.",
+ "schema": {
+ "$ref": "#/definitions/PeerExpressRouteCircuitConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PeerExpressRouteCircuitConnectionGet": {
+ "$ref": "./examples/PeerExpressRouteCircuitConnectionGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections": {
+ "get": {
+ "tags": [
+ "PeerExpressRouteCircuitConnections"
+ ],
+ "operationId": "PeerExpressRouteCircuitConnections_List",
+ "description": "Gets all global reach peer 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 PeerExpressRouteCircuitConnections resources.",
+ "schema": {
+ "$ref": "#/definitions/PeerExpressRouteCircuitConnectionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Peer ExpressRouteCircuit Connection": {
+ "$ref": "./examples/PeerExpressRouteCircuitConnectionList.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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create ExpressRouteCircuit": {
+ "$ref": "./examples/ExpressRouteCircuitCreate.json"
+ },
+ "Create ExpressRouteCircuit on ExpressRoutePort": {
+ "$ref": "./examples/ExpressRouteCircuitCreateOnExpressRoutePort.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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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": "The authorization use status.",
+ "enum": [
+ "Available",
+ "InUse"
+ ],
+ "x-ms-enum": {
+ "name": "AuthorizationUseStatus",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the authorization resource."
+ }
+ },
+ "description": "Properties of ExpressRouteCircuitAuthorization."
+ },
+ "ExpressRouteCircuitAuthorization": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AuthorizationPropertiesFormat",
+ "description": "Properties of the express route circuit authorization."
+ },
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "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": "The advertised public prefix state of the Peering resource.",
+ "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": "./network.json#/definitions/SubResource",
+ "description": "The reference of the RouteFilter resource."
+ },
+ "state": {
+ "type": "string",
+ "description": "The state of peering.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitPeeringState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Contains IPv6 peering config."
+ },
+ "ExpressRouteCircuitStats": {
+ "properties": {
+ "primarybytesIn": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The Primary BytesIn of the peering."
+ },
+ "primarybytesOut": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The primary BytesOut of the peering."
+ },
+ "secondarybytesIn": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The secondary BytesIn of the peering."
+ },
+ "secondarybytesOut": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The secondary 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": "The peering stats of express route circuit."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route circuit peering resource."
+ },
+ "gatewayManagerEtag": {
+ "type": "string",
+ "description": "The GatewayManager Etag."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "Who was the last to modify the peering."
+ },
+ "routeFilter": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "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."
+ },
+ "peeredConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeerExpressRouteCircuitConnection"
+ },
+ "readOnly": true,
+ "description": "The list of peered circuit connections associated with Azure Private Peering for this circuit."
+ }
+ },
+ "description": "Properties of the express route circuit peering."
+ },
+ "ExpressRouteCircuitPeering": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringPropertiesFormat",
+ "description": "Properties of the express route circuit 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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "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 peering type.",
+ "enum": [
+ "AzurePublicPeering",
+ "AzurePrivatePeering",
+ "MicrosoftPeering"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRoutePeeringType",
+ "modelAsString": true
+ }
+ },
+ "ExpressRoutePeeringState": {
+ "type": "string",
+ "description": "The state of peering.",
+ "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": {
+ "$ref": "#/definitions/CircuitConnectionStatus",
+ "description": "Express Route Circuit connection state."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route circuit connection resource."
+ }
+ },
+ "description": "Properties of the express route circuit connection."
+ },
+ "ExpressRouteCircuitConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCircuitConnectionPropertiesFormat",
+ "description": "Properties of the express route circuit connection."
+ },
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "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."
+ },
+ "PeerExpressRouteCircuitConnectionPropertiesFormat": {
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to Express Route Circuit Private Peering Resource of the circuit."
+ },
+ "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."
+ },
+ "circuitConnectionStatus": {
+ "$ref": "#/definitions/CircuitConnectionStatus",
+ "description": "Express Route Circuit connection state."
+ },
+ "connectionName": {
+ "type": "string",
+ "description": "The name of the express route circuit connection resource."
+ },
+ "authResourceGuid": {
+ "type": "string",
+ "description": "The resource guid of the authorization used for the express route circuit connection."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the peer express route circuit connection resource."
+ }
+ },
+ "description": "Properties of the peer express route circuit connection."
+ },
+ "PeerExpressRouteCircuitConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PeerExpressRouteCircuitConnectionPropertiesFormat",
+ "description": "Properties of the peer express route circuit connection."
+ },
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource."
+ },
+ "PeerExpressRouteCircuitConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeerExpressRouteCircuitConnection"
+ },
+ "description": "The global reach peer circuit 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 ListPeeredConnections API service call retrieves all global reach peer circuit 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.",
+ "enum": [
+ "Standard",
+ "Premium",
+ "Basic",
+ "Local"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitSkuTier",
+ "modelAsString": true
+ }
+ },
+ "family": {
+ "type": "string",
+ "description": "The family of the SKU.",
+ "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": {
+ "$ref": "#/definitions/ServiceProviderProvisioningState",
+ "description": "The ServiceProviderProvisioningState state of the resource."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route circuit resource."
+ },
+ "gatewayManagerEtag": {
+ "type": "string",
+ "description": "The GatewayManager Etag."
+ },
+ "globalReachEnabled": {
+ "type": "boolean",
+ "description": "Flag denoting Global reach status."
+ }
+ },
+ "description": "Properties of ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuit": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ExpressRouteCircuitSku",
+ "description": "The SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCircuitPropertiesFormat",
+ "description": "Properties of the express route circuit."
+ },
+ "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": "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": "A list of the ARP tables."
+ },
+ "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": "A list of peering locations."
+ },
+ "bandwidthsOffered": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteServiceProviderBandwidthsOffered"
+ },
+ "description": "A list of bandwidths offered."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route service provider resource."
+ }
+ },
+ "description": "Properties of ExpressRouteServiceProvider."
+ },
+ "ExpressRouteServiceProvider": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteServiceProviderPropertiesFormat",
+ "description": "Properties of the express route service provider."
+ }
+ },
+ "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."
+ },
+ "CircuitConnectionStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Express Route Circuit connection state.",
+ "enum": [
+ "Connected",
+ "Connecting",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "CircuitConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "ServiceProviderProvisioningState": {
+ "type": "string",
+ "description": "The ServiceProviderProvisioningState state of the resource.",
+ "enum": [
+ "NotProvisioned",
+ "Provisioning",
+ "Provisioned",
+ "Deprovisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceProviderProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/expressRouteCrossConnection.json
new file mode 100644
index 000000000000..30810588649d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/expressRouteCrossConnection.json
@@ -0,0 +1,934 @@
+{
+ "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": "2019-08-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "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."
+ }
+ },
+ "description": "Reference to an express route circuit."
+ },
+ "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": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ServiceProviderProvisioningState",
+ "description": "The provisioning state of the circuit in the connectivity provider system."
+ },
+ "serviceProviderNotes": {
+ "type": "string",
+ "description": "Additional read only notes set by the connectivity provider."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route cross connection resource."
+ },
+ "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",
+ "description": "Properties of the express route cross connection."
+ },
+ "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": "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route cross connection peering resource."
+ },
+ "gatewayManagerEtag": {
+ "type": "string",
+ "description": "The GatewayManager Etag."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "Who was the last to modify the peering."
+ },
+ "ipv6PeeringConfig": {
+ "$ref": "./expressRouteCircuit.json#/definitions/Ipv6ExpressRouteCircuitPeeringConfig",
+ "description": "The IPv6 peering configuration."
+ }
+ },
+ "description": "Properties of express route cross connection peering."
+ },
+ "ExpressRouteCrossConnectionPeering": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringProperties",
+ "description": "Properties of the express route cross connection 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": {
+ "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/2019-08-01/expressRouteGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/expressRouteGateway.json
new file mode 100644
index 000000000000..ee2bcb11b434
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/expressRouteGateway.json
@@ -0,0 +1,640 @@
+{
+ "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": "2019-08-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route gateway resource."
+ },
+ "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",
+ "description": "Properties of the express route gateway."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route connection resource."
+ },
+ "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",
+ "description": "Properties of the express route connection."
+ },
+ "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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/expressRoutePort.json
new file mode 100644
index 000000000000..d150aba82ebe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/expressRoutePort.json
@@ -0,0 +1,809 @@
+{
+ "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": "2019-08-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route port location resource."
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "ExpressRouteLinkMacSecConfig": {
+ "description": "ExpressRouteLink Mac Security Configuration.",
+ "title": "Definition of ExpressRouteLink Mac Security configuration.",
+ "properties": {
+ "cknSecretIdentifier": {
+ "type": "string",
+ "description": "Keyvault Secret Identifier URL containing Mac security CKN key."
+ },
+ "cakSecretIdentifier": {
+ "type": "string",
+ "description": "Keyvault Secret Identifier URL containing Mac security CAK key."
+ },
+ "cipher": {
+ "type": "string",
+ "description": "Mac security cipher.",
+ "enum": [
+ "gcm-aes-128",
+ "gcm-aes-256"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteLinkMacSecCipher",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route link resource."
+ },
+ "macSecConfig": {
+ "$ref": "#/definitions/ExpressRouteLinkMacSecConfig",
+ "description": "MacSec configuration."
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route port resource."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the express route port 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."
+ },
+ "identity": {
+ "$ref": "./network.json#/definitions/ManagedServiceIdentity",
+ "description": "The identity of ExpressRoutePort, if configured."
+ }
+ },
+ "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."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/firewallPolicy.json
new file mode 100644
index 000000000000..0d184bf3506b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/firewallPolicy.json
@@ -0,0 +1,983 @@
+{
+ "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": "2019-08-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/firewallPolicies/{firewallPolicyName}": {
+ "delete": {
+ "tags": [
+ "FirewallPolicies"
+ ],
+ "operationId": "FirewallPolicies_Delete",
+ "description": "Deletes the specified Firewall Policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy."
+ },
+ {
+ "$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 Firewall Policy": {
+ "$ref": "./examples/FirewallPolicyDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "FirewallPolicies"
+ ],
+ "operationId": "FirewallPolicies_Get",
+ "description": "Gets the specified Firewall Policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall 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 a Firewall Policy resource.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get FirewallPolicy": {
+ "$ref": "./examples/FirewallPolicyGet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "FirewallPolicies"
+ ],
+ "operationId": "FirewallPolicies_UpdateTags",
+ "x-ms-examples": {
+ "Update FirewallPolicy": {
+ "$ref": "./examples/FirewallPolicyUpdateTags.json"
+ }
+ },
+ "description": "Updates a Firewall Policy Tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the Firewall Policy."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy being updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "firewallPolicyParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to Update Firewall Policy tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the Firewall Policy updated.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicy"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "FirewallPolicies"
+ ],
+ "operationId": "FirewallPolicies_CreateOrUpdate",
+ "description": "Creates or updates the specified Firewall Policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicy"
+ },
+ "description": "Parameters supplied to the create or update Firewall Policy operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request received successfully. The operation returns the resulting FirewallPolicy resource.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicy"
+ }
+ },
+ "200": {
+ "description": "Request successful. The operation returns the resulting FirewallPolicy resource.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create FirewallPolicy": {
+ "$ref": "./examples/FirewallPolicyPut.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies": {
+ "get": {
+ "tags": [
+ "FirewallPolicies"
+ ],
+ "operationId": "FirewallPolicies_List",
+ "description": "Lists all Firewall 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": "Success. The operation returns a list of FirewallPolicy resources.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Firewall Policies for a given resource group": {
+ "$ref": "./examples/FirewallPolicyListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/firewallPolicies": {
+ "get": {
+ "tags": [
+ "FirewallPolicies"
+ ],
+ "operationId": "FirewallPolicies_ListAll",
+ "description": "Gets all the Firewall Policies in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of FirewallPolicy resources.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Firewall Policies for a given subscription": {
+ "$ref": "./examples/FirewallPolicyListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}": {
+ "delete": {
+ "tags": [
+ "FirewallPolicyRuleGroups"
+ ],
+ "operationId": "FirewallPolicyRuleGroups_Delete",
+ "description": "Deletes the specified FirewallPolicyRuleGroup.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy."
+ },
+ {
+ "name": "ruleGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the FirewallPolicyRuleGroup."
+ },
+ {
+ "$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 FirewallPolicyRuleGroup": {
+ "$ref": "./examples/FirewallPolicyRuleGroupDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "FirewallPolicyRuleGroups"
+ ],
+ "operationId": "FirewallPolicyRuleGroups_Get",
+ "description": "Gets the specified FirewallPolicyRuleGroup.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy."
+ },
+ {
+ "name": "ruleGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the FirewallPolicyRuleGroup."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a FirewallPolicyRuleGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyRuleGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get FirewallPolicyRuleGroup": {
+ "$ref": "./examples/FirewallPolicyRuleGroupGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "FirewallPolicyRuleGroups"
+ ],
+ "operationId": "FirewallPolicyRuleGroups_CreateOrUpdate",
+ "description": "Creates or updates the specified FirewallPolicyRuleGroup.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy."
+ },
+ {
+ "name": "ruleGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the FirewallPolicyRuleGroup."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyRuleGroup"
+ },
+ "description": "Parameters supplied to the create or update FirewallPolicyRuleGroup operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request received successfully. The operation returns the resulting FirewallPolicyRuleGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyRuleGroup"
+ }
+ },
+ "200": {
+ "description": "Request successful. The operation returns the resulting FirewallPolicyRuleGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyRuleGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create FirewallPolicyRuleGroup": {
+ "$ref": "./examples/FirewallPolicyRuleGroupPut.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups": {
+ "get": {
+ "tags": [
+ "FirewallPolicyRuleGroups"
+ ],
+ "operationId": "FirewallPolicyRuleGroups_List",
+ "description": "Lists all FirewallPolicyRuleGroups in a FirewallPolicy resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "firewallPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Firewall Policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of FirewallPolicyRuleGroup resources.",
+ "schema": {
+ "$ref": "#/definitions/FirewallPolicyRuleGroupListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all FirewallPolicyRuleGroups for a given FirewallPolicy": {
+ "$ref": "./examples/FirewallPolicyRuleGroupList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "FirewallPolicy": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FirewallPolicyPropertiesFormat",
+ "description": "Properties of the firewall policy."
+ },
+ "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": "FirewallPolicy Resource."
+ },
+ "FirewallPolicyPropertiesFormat": {
+ "properties": {
+ "ruleGroups": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of references to FirewallPolicyRuleGroups.",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the firewall policy resource."
+ },
+ "basePolicy": {
+ "readOnly": false,
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The parent firewall policy from which rules are inherited."
+ },
+ "firewalls": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of references to Azure Firewalls that this Firewall Policy is associated with.",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ },
+ "childPolicies": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of references to Child Firewall Policies.",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ },
+ "threatIntelMode": {
+ "description": "The operation mode for Threat Intelligence.",
+ "$ref": "./azureFirewall.json#/definitions/AzureFirewallThreatIntelMode"
+ }
+ },
+ "description": "Firewall Policy definition."
+ },
+ "FirewallPolicyRuleGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FirewallPolicyRuleGroupProperties",
+ "description": "The properties of the firewall policy rule group."
+ },
+ "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": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Rule Group type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Rule Group resource."
+ },
+ "FirewallPolicyRuleGroupProperties": {
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 65000,
+ "exclusiveMaximum": false,
+ "minimum": 100,
+ "exclusiveMinimum": false,
+ "description": "Priority of the Firewall Policy Rule Group resource."
+ },
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallPolicyRule"
+ },
+ "description": "Group of Firewall Policy rules."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the firewall policy rule group resource."
+ }
+ },
+ "description": "Properties of the rule group."
+ },
+ "FirewallPolicyRule": {
+ "description": "Properties of the rule.",
+ "discriminator": "ruleType",
+ "required": [
+ "ruleType"
+ ],
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "description": "The type of the rule.",
+ "enum": [
+ "FirewallPolicyNatRule",
+ "FirewallPolicyFilterRule"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallPolicyRuleType",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the rule."
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 65000,
+ "exclusiveMaximum": false,
+ "minimum": 100,
+ "exclusiveMinimum": false,
+ "description": "Priority of the Firewall Policy Rule resource."
+ }
+ }
+ },
+ "FirewallPolicyNatRule": {
+ "properties": {
+ "action": {
+ "$ref": "#/definitions/FirewallPolicyNatRuleAction",
+ "description": "The action type of a Nat rule."
+ },
+ "translatedAddress": {
+ "type": "string",
+ "description": "The translated address for this NAT rule."
+ },
+ "translatedPort": {
+ "type": "string",
+ "description": "The translated port for this NAT rule."
+ },
+ "ruleCondition": {
+ "$ref": "#/definitions/FirewallPolicyRuleCondition",
+ "description": "The match conditions for incoming traffic."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/FirewallPolicyRule"
+ }
+ ],
+ "x-ms-discriminator-value": "FirewallPolicyNatRule",
+ "description": "Firewall Policy NAT Rule."
+ },
+ "FirewallPolicyFilterRule": {
+ "properties": {
+ "action": {
+ "$ref": "#/definitions/FirewallPolicyFilterRuleAction",
+ "description": "The action type of a Filter rule."
+ },
+ "ruleConditions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallPolicyRuleCondition"
+ },
+ "description": "Collection of rule conditions used by a rule."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/FirewallPolicyRule"
+ }
+ ],
+ "x-ms-discriminator-value": "FirewallPolicyFilterRule",
+ "description": "Firewall Policy Filter Rule."
+ },
+ "FirewallPolicyRuleCondition": {
+ "description": "Properties of a rule.",
+ "discriminator": "ruleConditionType",
+ "required": [
+ "ruleConditionType"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the rule condition."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the rule condition."
+ },
+ "ruleConditionType": {
+ "type": "string",
+ "description": "Rule Condition Type.",
+ "enum": [
+ "ApplicationRuleCondition",
+ "NetworkRuleCondition"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallPolicyRuleConditionType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ApplicationRuleCondition": {
+ "x-ms-discriminator-value": "ApplicationRuleCondition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FirewallPolicyRuleCondition"
+ }
+ ],
+ "properties": {
+ "sourceAddresses": {
+ "type": "array",
+ "description": "List of source IP addresses for this rule.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "destinationAddresses": {
+ "type": "array",
+ "description": "List of destination IP addresses or Service Tags.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "protocols": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallPolicyRuleConditionApplicationProtocol"
+ },
+ "description": "Array of Application Protocols."
+ },
+ "targetFqdns": {
+ "type": "array",
+ "description": "List of FQDNs for this rule condition.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "fqdnTags": {
+ "type": "array",
+ "description": "List of FQDN Tags for this rule condition.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "Rule condition of type application."
+ },
+ "NetworkRuleCondition": {
+ "description": "Rule condition of type network.",
+ "x-ms-discriminator-value": "NetworkRuleCondition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FirewallPolicyRuleCondition"
+ }
+ ],
+ "properties": {
+ "ipProtocols": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallPolicyRuleConditionNetworkProtocol"
+ },
+ "description": "Array of FirewallPolicyRuleConditionNetworkProtocols."
+ },
+ "sourceAddresses": {
+ "type": "array",
+ "description": "List of source IP addresses for this rule.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "destinationAddresses": {
+ "type": "array",
+ "description": "List of destination IP addresses or Service Tags.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "destinationPorts": {
+ "type": "array",
+ "description": "List of destination ports.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "FirewallPolicyRuleConditionApplicationProtocol": {
+ "properties": {
+ "protocolType": {
+ "description": "Protocol type.",
+ "$ref": "#/definitions/FirewallPolicyRuleConditionApplicationProtocolType"
+ },
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "exclusiveMaximum": false,
+ "minimum": 0,
+ "exclusiveMinimum": false,
+ "description": "Port number for the protocol, cannot be greater than 64000."
+ }
+ },
+ "description": "Properties of the application rule protocol."
+ },
+ "FirewallPolicyRuleConditionApplicationProtocolType": {
+ "type": "string",
+ "description": "The application protocol type of a Rule condition.",
+ "enum": [
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallPolicyRuleConditionApplicationProtocolType",
+ "modelAsString": true
+ }
+ },
+ "FirewallPolicyNatRuleActionType": {
+ "type": "string",
+ "description": "The action type of a rule.",
+ "enum": [
+ "DNAT"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallPolicyNatRuleActionType",
+ "modelAsString": true
+ }
+ },
+ "FirewallPolicyNatRuleAction": {
+ "properties": {
+ "type": {
+ "description": "The type of action.",
+ "$ref": "#/definitions/FirewallPolicyNatRuleActionType"
+ }
+ },
+ "description": "Properties of the FirewallPolicyNatRuleAction."
+ },
+ "FirewallPolicyFilterRuleActionType": {
+ "type": "string",
+ "description": "The action type of a rule.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallPolicyFilterRuleActionType",
+ "modelAsString": true
+ }
+ },
+ "FirewallPolicyFilterRuleAction": {
+ "properties": {
+ "type": {
+ "description": "The type of action.",
+ "$ref": "#/definitions/FirewallPolicyFilterRuleActionType"
+ }
+ },
+ "description": "Properties of the FirewallPolicyFilterRuleAction."
+ },
+ "FirewallPolicyRuleConditionNetworkProtocol": {
+ "type": "string",
+ "description": "The Network protocol of a Rule condition.",
+ "enum": [
+ "TCP",
+ "UDP",
+ "Any",
+ "ICMP"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallPolicyRuleConditionNetworkProtocol",
+ "modelAsString": true
+ }
+ },
+ "FirewallPolicyListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallPolicy"
+ },
+ "description": "List of Firewall Policies in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListFirewallPolicies API service call."
+ },
+ "FirewallPolicyRuleGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallPolicyRuleGroup"
+ },
+ "description": "List of FirewallPolicyRuleGroups in a FirewallPolicy."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListFirewallPolicyRuleGroups API service call."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/loadBalancer.json
new file mode 100644
index 000000000000..3aab8902f124
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/loadBalancer.json
@@ -0,0 +1,1916 @@
+{
+ "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": "2019-08-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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 Standard SKU": {
+ "$ref": "./examples/LoadBalancerCreateStandardSku.json"
+ },
+ "Create load balancer with Frontend IP in Zone 1": {
+ "$ref": "./examples/LoadBalancerCreateWithZones.json"
+ },
+ "Create load balancer with inbound nat pool": {
+ "$ref": "./examples/LoadBalancerCreateWithInboundNatPool.json"
+ },
+ "Create load balancer with outbound rules": {
+ "$ref": "./examples/LoadBalancerCreateWithOutboundRules.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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": "An array of references to inbound rules that use this frontend IP."
+ },
+ "inboundNatPools": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of references to inbound pools that use this frontend IP."
+ },
+ "outboundRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of references to outbound rules that use this frontend IP."
+ },
+ "loadBalancingRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of references to load balancing rules that use this frontend IP."
+ },
+ "privateIPAddress": {
+ "type": "string",
+ "description": "The private IP address of the IP configuration."
+ },
+ "privateIPAllocationMethod": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The Private IP allocation method."
+ },
+ "privateIPAddressVersion": {
+ "$ref": "./network.json#/definitions/IPVersion",
+ "description": "Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the frontend IP configuration resource."
+ }
+ },
+ "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 the set of frontend IP configurations used by the load balancer. 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": "Type of the resource."
+ },
+ "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": "An array of references to IP addresses defined in network interfaces."
+ },
+ "loadBalancingRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of references to load balancing rules that use this backend address pool."
+ },
+ "outboundRule": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "A reference to an outbound rule that uses this backend address pool."
+ },
+ "outboundRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of references to outbound rules that use this backend address pool."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the backend address pool resource."
+ }
+ },
+ "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": "The name of the resource that is unique within the set of backend address pools used by the load balancer. 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": "Type of the resource."
+ }
+ },
+ "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",
+ "description": "The reference to the transport protocol used by the load balancing rule."
+ },
+ "loadDistribution": {
+ "type": "string",
+ "description": "The load distribution policy for this rule.",
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the load balancing rule resource."
+ }
+ },
+ "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 the set of load balancing rules used by the load balancer. 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": "Type of the resource."
+ }
+ },
+ "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. 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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the probe resource."
+ }
+ },
+ "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": "The name of the resource that is unique within the set of probes used by the load balancer. 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": "Type of the resource."
+ }
+ },
+ "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",
+ "description": "The reference to the transport protocol used by the load balancing rule."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the inbound NAT rule resource."
+ }
+ },
+ "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": "The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. 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": "Type of the resource."
+ }
+ },
+ "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",
+ "description": "The reference to the transport protocol used by the inbound NAT pool."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the inbound NAT pool resource."
+ }
+ },
+ "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 the set of inbound NAT pools used by the load balancer. 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": "Type of the resource."
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the outbound rule resource."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "The protocol for the outbound rule in load balancer.",
+ "enum": [
+ "Tcp",
+ "Udp",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "LoadBalancerOutboundRuleProtocol",
+ "modelAsString": true
+ }
+ },
+ "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 rule 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 the set of outbound rules used by the load balancer. 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": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Outbound rule 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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the load balancer resource."
+ }
+ },
+ "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.",
+ "enum": [
+ "Udp",
+ "Tcp",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "TransportProtocol",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/natGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/natGateway.json
new file mode 100644
index 000000000000..6eef056f3131
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/natGateway.json
@@ -0,0 +1,433 @@
+{
+ "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": "2019-08-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/natGateways/{natGatewayName}": {
+ "delete": {
+ "tags": [
+ "NatGateways"
+ ],
+ "operationId": "NatGateways_Delete",
+ "description": "Deletes the specified nat gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "natGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the nat gateway."
+ },
+ {
+ "$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 nat gateway": {
+ "$ref": "./examples/NatGatewayDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "NatGateways"
+ ],
+ "operationId": "NatGateways_Get",
+ "description": "Gets the specified nat gateway in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "natGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the nat gateway."
+ },
+ {
+ "$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 NatGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/NatGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get nat gateway": {
+ "$ref": "./examples/NatGatewayGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NatGateways"
+ ],
+ "operationId": "NatGateways_CreateOrUpdate",
+ "description": "Creates or updates a nat gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "natGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the nat gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NatGateway"
+ },
+ "description": "Parameters supplied to the create or update nat gateway operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting NatGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/NatGateway"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting NatGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/NatGateway"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/NatGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create nat gateway": {
+ "$ref": "./examples/NatGatewayCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "patch": {
+ "tags": [
+ "NatGateways"
+ ],
+ "operationId": "NatGateways_UpdateTags",
+ "description": "Updates nat gateway tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "natGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the nat gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update nat gateway tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting NatGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/NatGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update nat gateway tags": {
+ "$ref": "./examples/NatGatewayUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways": {
+ "get": {
+ "tags": [
+ "NatGateways"
+ ],
+ "operationId": "NatGateways_ListAll",
+ "description": "Gets all the Nat Gateways 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 NatGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/NatGatewayListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all nat gateways": {
+ "$ref": "./examples/NatGatewayListAll.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways": {
+ "get": {
+ "tags": [
+ "NatGateways"
+ ],
+ "operationId": "NatGateways_List",
+ "description": "Gets all nat 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 NatGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/NatGatewayListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List nat gateways in resource group": {
+ "$ref": "./examples/NatGatewayList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NatGatewaySku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of Nat Gateway SKU.",
+ "enum": [
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "NatGatewaySkuName",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "SKU of nat gateway."
+ },
+ "NatGatewayPropertiesFormat": {
+ "properties": {
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The idle timeout of the nat gateway."
+ },
+ "publicIpAddresses": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of public ip addresses associated with the nat gateway resource."
+ },
+ "publicIpPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of public ip prefixes associated with the nat gateway resource."
+ },
+ "subnets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "An array of references to the subnets using this nat gateway resource."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the NAT gateway resource."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the NAT gateway resource."
+ }
+ },
+ "description": "Nat Gateway properties."
+ },
+ "NatGateway": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/NatGatewaySku",
+ "description": "The nat gateway SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NatGatewayPropertiesFormat",
+ "description": "Nat Gateway properties."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting the zone in which Nat Gateway should be deployed."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Nat Gateway resource."
+ },
+ "NatGatewayListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NatGateway"
+ },
+ "description": "A list of Nat Gateways that exists in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListNatGateways API service call."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/network.json
new file mode 100644
index 000000000000..25db42974256
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/network.json
@@ -0,0 +1,300 @@
+{
+ "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": "2019-08-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",
+ "description": "Error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ }
+ },
+ "description": "Common error details representation."
+ },
+ "Error": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ },
+ "description": "Error details."
+ },
+ "innerError": {
+ "type": "string",
+ "description": "Inner error message."
+ }
+ },
+ "description": "Common error representation."
+ },
+ "AzureAsyncOperationResult": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Status of the Azure async operation.",
+ "enum": [
+ "InProgress",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Details of the error occurred during specified asynchronous operation."
+ }
+ },
+ "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."
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "Access": {
+ "type": "string",
+ "description": "Access to be allowed or denied.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "Access",
+ "modelAsString": true
+ }
+ },
+ "AuthenticationMethod": {
+ "type": "string",
+ "description": "VPN client authentication method.",
+ "enum": [
+ "EAPTLS",
+ "EAPMSCHAPv2"
+ ],
+ "x-ms-enum": {
+ "name": "AuthenticationMethod",
+ "modelAsString": true
+ }
+ },
+ "IPAllocationMethod": {
+ "type": "string",
+ "description": "IP address allocation method.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "IPVersion": {
+ "type": "string",
+ "description": "IP address version.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version."
+ },
+ "ApiVersionVmssParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/networkInterface.json
new file mode 100644
index 000000000000..079ee644ab1c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/networkInterface.json
@@ -0,0 +1,1419 @@
+{
+ "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": "2019-08-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network interface tap configuration resource."
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The private IP address allocation method."
+ },
+ "privateIPAddressVersion": {
+ "$ref": "./network.json#/definitions/IPVersion",
+ "description": "Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4."
+ },
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "Subnet bound to the IP configuration."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network interface IP configuration."
+ },
+ "privateLinkConnectionProperties": {
+ "$ref": "#/definitions/NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties",
+ "description": "PrivateLinkConnection properties for the network interface.",
+ "readOnly": true
+ }
+ },
+ "description": "Properties of IP configuration."
+ },
+ "NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties": {
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The group ID for current private link connection."
+ },
+ "requiredMemberName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The required member name for current private link connection."
+ },
+ "fqdns": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "List of FQDNs for current private link connection."
+ }
+ },
+ "description": "PrivateLinkConnection properties for the network interface."
+ },
+ "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."
+ },
+ "privateEndpoint": {
+ "readOnly": true,
+ "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint",
+ "description": "A reference to the private 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": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network interface resource."
+ }
+ },
+ "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.",
+ "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": {
+ "$ref": "./networkSecurityGroup.json#/definitions/SecurityRuleAccess",
+ "description": "Whether network traffic is allowed or denied."
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The priority of the rule."
+ },
+ "direction": {
+ "$ref": "./networkSecurityGroup.json#/definitions/SecurityRuleDirection",
+ "description": "The direction of the rule."
+ }
+ },
+ "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."
+ },
+ "disableBgpRoutePropagation": {
+ "type": "boolean",
+ "description": "If true, on-premises routes are not propagated to the network interfaces in the subnet."
+ },
+ "source": {
+ "type": "string",
+ "description": "Who created the route.",
+ "enum": [
+ "Unknown",
+ "User",
+ "VirtualNetworkGateway",
+ "Default"
+ ],
+ "x-ms-enum": {
+ "name": "EffectiveRouteSource",
+ "modelAsString": true
+ }
+ },
+ "state": {
+ "type": "string",
+ "description": "The value of effective route.",
+ "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": {
+ "$ref": "./routeTable.json#/definitions/RouteNextHopType",
+ "description": "The type of Azure hop the packet should be sent to."
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The private IP address allocation method."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the IP configuration resource."
+ }
+ },
+ "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/2019-08-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/networkProfile.json
new file mode 100644
index 000000000000..eae0a8f01e56
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/networkProfile.json
@@ -0,0 +1,579 @@
+{
+ "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": "2019-08-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": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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 profile resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network profile 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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the container network interface resource."
+ }
+ },
+ "description": "Properties of container network interface."
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the container network interface configuration 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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the IP configuration profile 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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the container network interface IP configuration 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/2019-08-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/networkSecurityGroup.json
new file mode 100644
index 000000000000..f8b8cbf92b83
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/networkSecurityGroup.json
@@ -0,0 +1,897 @@
+{
+ "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": "2019-08-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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.",
+ "enum": [
+ "Tcp",
+ "Udp",
+ "Icmp",
+ "Esp",
+ "*",
+ "Ah"
+ ],
+ "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": {
+ "$ref": "#/definitions/SecurityRuleAccess",
+ "description": "The network traffic is allowed or denied."
+ },
+ "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": {
+ "$ref": "#/definitions/SecurityRuleDirection",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the security rule resource."
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network security group resource."
+ }
+ },
+ "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."
+ },
+ "SecurityRuleAccess": {
+ "type": "string",
+ "description": "Whether network traffic is allowed or denied.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleAccess",
+ "modelAsString": true
+ }
+ },
+ "SecurityRuleDirection": {
+ "type": "string",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleDirection",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/networkWatcher.json
new file mode 100644
index 000000000000..0046e11b44b3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/networkWatcher.json
@@ -0,0 +1,3052 @@
+{
+ "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": "2019-08-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",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetNextHop",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetVMSecurityRules",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}": {
+ "put": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_Create",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop": {
+ "post": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_Stop",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus": {
+ "post": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_GetStatus",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetTroubleshootingResult",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog": {
+ "post": {
+ "tags": [
+ "NetworkWatchers",
+ "TrafficAnalytics"
+ ],
+ "operationId": "NetworkWatchers_SetFlowLogConfiguration",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus": {
+ "post": {
+ "tags": [
+ "NetworkWatchers",
+ "TrafficAnalytics"
+ ],
+ "operationId": "NetworkWatchers_GetFlowLogStatus",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_CheckConnectivity",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetAzureReachabilityReport",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_ListAvailableProviders",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/networkConfigurationDiagnostic": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetNetworkConfigurationDiagnostic",
+ "description": "Gets Network Configuration Diagnostic data to help customers understand and debug network behavior. It provides detailed information on what security rules were applied to a specified traffic flow and the result of evaluating these rules. Customers must provide details of a flow like source, destination, protocol, etc. The API returns whether traffic was allowed or denied, the rules evaluated for the specified flow and the evaluation results.",
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "The error object.",
+ "properties": {
+ "error": {
+ "title": "Error",
+ "$ref": "./network.json#/definitions/ErrorDetails",
+ "description": "The error details object."
+ }
+ }
+ },
+ "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",
+ "description": "Properties of the network watcher."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Network watcher in a resource group."
+ },
+ "NetworkWatcherPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the network watcher resource."
+ }
+ },
+ "description": "The network watcher properties."
+ },
+ "NetworkWatcherListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkWatcher"
+ },
+ "description": "List of network watcher resources."
+ }
+ },
+ "description": "Response for ListNetworkWatchers API service call."
+ },
+ "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": "A list of topology resources."
+ }
+ },
+ "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": {
+ "$ref": "#/definitions/Direction",
+ "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": {
+ "$ref": "./network.json#/definitions/Access",
+ "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",
+ "description": "All security rules associated with the network interface."
+ }
+ }
+ },
+ "SecurityRuleAssociations": {
+ "description": "All security rules associated with the network interface.",
+ "properties": {
+ "networkInterfaceAssociation": {
+ "$ref": "#/definitions/NetworkInterfaceAssociation",
+ "description": "Network interface and it's custom security rules."
+ },
+ "subnetAssociation": {
+ "$ref": "#/definitions/SubnetAssociation",
+ "description": "Subnet and it's custom security rules."
+ },
+ "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": "Subnet and it's 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",
+ "description": "Properties of the packet capture."
+ }
+ },
+ "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",
+ "description": "Describes the storage location for a packet capture session."
+ },
+ "filters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PacketCaptureFilter"
+ },
+ "description": "A list of packet capture filters."
+ }
+ },
+ "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.",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PacketCaptureResultProperties",
+ "description": "Properties of the packet capture result."
+ }
+ },
+ "description": "Information about packet capture session."
+ },
+ "PacketCaptureResultProperties": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "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",
+ "description": "Properties of the troubleshooting resource."
+ }
+ }
+ },
+ "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",
+ "description": "Parameters that define the retention policy for flow log."
+ },
+ "format": {
+ "$ref": "#/definitions/FlowLogFormatParameters",
+ "description": "Parameters that define the flow log format."
+ }
+ }
+ },
+ "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",
+ "description": "Properties of the flow log."
+ },
+ "flowAnalyticsConfiguration": {
+ "$ref": "#/definitions/TrafficAnalyticsProperties",
+ "description": "Parameters that define the configuration of traffic analytics."
+ }
+ }
+ },
+ "TrafficAnalyticsProperties": {
+ "description": "Parameters that define the configuration of traffic analytics.",
+ "required": [
+ "networkWatcherFlowAnalyticsConfiguration"
+ ],
+ "properties": {
+ "networkWatcherFlowAnalyticsConfiguration": {
+ "$ref": "#/definitions/TrafficAnalyticsConfigurationProperties",
+ "description": "Parameters that define the configuration of traffic analytics."
+ }
+ }
+ },
+ "TrafficAnalyticsConfigurationProperties": {
+ "description": "Parameters that define the configuration of traffic analytics.",
+ "required": [
+ "enabled"
+ ],
+ "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",
+ "description": "Describes the source of the connection."
+ },
+ "destination": {
+ "$ref": "#/definitions/ConnectivityDestination",
+ "description": "Describes the destination of connection."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Network protocol.",
+ "enum": [
+ "Tcp",
+ "Http",
+ "Https",
+ "Icmp"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": true
+ }
+ },
+ "protocolConfiguration": {
+ "$ref": "#/definitions/ProtocolConfiguration",
+ "description": "Configuration of the protocol."
+ }
+ }
+ },
+ "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",
+ "description": "HTTP configuration of the connectivity check."
+ }
+ }
+ },
+ "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",
+ "description": "Parameters that define a geographic location."
+ },
+ "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",
+ "description": "Parameters that define a geographic location."
+ },
+ "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."
+ },
+ "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."
+ },
+ "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": {
+ "$ref": "#/definitions/Direction",
+ "description": "The direction of the traffic."
+ },
+ "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",
+ "description": "Network configuration diagnostic profile."
+ },
+ "networkSecurityGroupResult": {
+ "$ref": "#/definitions/NetworkSecurityGroupResult",
+ "description": "Network security group result."
+ }
+ }
+ },
+ "NetworkSecurityGroupResult": {
+ "description": "Network configuration diagnostic result corresponded provided traffic query.",
+ "properties": {
+ "securityRuleAccessResult": {
+ "$ref": "./networkSecurityGroup.json#/definitions/SecurityRuleAccess",
+ "description": "The network traffic is allowed or denied."
+ },
+ "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",
+ "description": "Matched network security rule."
+ },
+ "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."
+ }
+ }
+ },
+ "Direction": {
+ "type": "string",
+ "description": "The direction of the traffic.",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "Direction",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/operation.json
new file mode 100644
index 000000000000..81aca74d21be
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/operation.json
@@ -0,0 +1,265 @@
+{
+ "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": "2019-08-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/2019-08-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/privateEndpoint.json
new file mode 100644
index 000000000000..cc2e5eedd996
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/privateEndpoint.json
@@ -0,0 +1,557 @@
+{
+ "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": "2019-08-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/privateEndpoints/{privateEndpointName}": {
+ "delete": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "operationId": "PrivateEndpoints_Delete",
+ "description": "Deletes the specified private endpoint.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateEndpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private 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."
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Delete private endpoint": {
+ "$ref": "./examples/PrivateEndpointDelete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "operationId": "PrivateEndpoints_Get",
+ "description": "Gets the specified private endpoint by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateEndpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private 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 private endpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get private endpoint": {
+ "$ref": "./examples/PrivateEndpointGet.json"
+ },
+ "Get private endpoint with manual approval connection": {
+ "$ref": "./examples/PrivateEndpointGetForManualApproval.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "operationId": "PrivateEndpoints_CreateOrUpdate",
+ "description": "Creates or updates an private endpoint in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateEndpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "description": "Parameters supplied to the create or update private endpoint operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting private endpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting private endpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create private endpoint": {
+ "$ref": "./examples/PrivateEndpointCreate.json"
+ },
+ "Create private endpoint with manual approval connection": {
+ "$ref": "./examples/PrivateEndpointCreateForManualApproval.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints": {
+ "get": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "operationId": "PrivateEndpoints_List",
+ "description": "Gets all private 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 private endpoint resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointListResult"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List private endpoints in resource group": {
+ "$ref": "./examples/PrivateEndpointList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateEndpoints": {
+ "get": {
+ "tags": [
+ "PrivateEndpoints"
+ ],
+ "operationId": "PrivateEndpoints_ListBySubscription",
+ "description": "Gets all private 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 private endpoint resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointListResult"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all private endpoints": {
+ "$ref": "./examples/PrivateEndpointListAll.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes": {
+ "get": {
+ "operationId": "AvailablePrivateEndpointTypes_List",
+ "description": "Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the domain name."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.",
+ "schema": {
+ "$ref": "#/definitions/AvailablePrivateEndpointTypesResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available PrivateEndpoint types": {
+ "$ref": "./examples/AvailablePrivateEndpointTypesGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes": {
+ "get": {
+ "operationId": "AvailablePrivateEndpointTypes_ListByResourceGroup",
+ "description": "Returns all of the resource types that can be linked to a Private Endpoint in this subscription 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 resource types that can be linked to a Private Endpoint in this subscription in this region.",
+ "schema": {
+ "$ref": "#/definitions/AvailablePrivateEndpointTypesResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available PrivateEndpoint types in the resource group": {
+ "$ref": "./examples/AvailablePrivateEndpointTypesResourceGroupGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateEndpoint": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrivateEndpointProperties",
+ "description": "Properties of the private endpoint."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Private endpoint resource."
+ },
+ "PrivateEndpointProperties": {
+ "properties": {
+ "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": "An array of references to the network interfaces created for this private endpoint."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private endpoint resource."
+ },
+ "privateLinkServiceConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkServiceConnection"
+ },
+ "description": "A grouping of information about the connection to the remote resource."
+ },
+ "manualPrivateLinkServiceConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkServiceConnection"
+ },
+ "description": "A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource."
+ }
+ },
+ "description": "Properties of the private endpoint."
+ },
+ "PrivateLinkServiceConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrivateLinkServiceConnectionProperties",
+ "description": "Properties of the private link service connection."
+ },
+ "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."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "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": "PrivateLinkServiceConnection resource."
+ },
+ "PrivateLinkServiceConnectionProperties": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private link service connection resource."
+ },
+ "privateLinkServiceId": {
+ "type": "string",
+ "description": "The resource id of private link service."
+ },
+ "groupIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to."
+ },
+ "requestMessage": {
+ "type": "string",
+ "description": "A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "./privateLinkService.json#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of read-only information about the state of the connection to the remote resource."
+ }
+ },
+ "description": "Properties of the PrivateLinkServiceConnection."
+ },
+ "PrivateEndpointListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "description": "A list of private endpoint resources in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results.",
+ "readOnly": true
+ }
+ },
+ "description": "Response for the ListPrivateEndpoints API service call."
+ },
+ "AvailablePrivateEndpointTypesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AvailablePrivateEndpointType"
+ },
+ "description": "An array of available privateEndpoint type."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "An array of available PrivateEndpoint types."
+ },
+ "AvailablePrivateEndpointType": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the service and resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "A unique identifier of the AvailablePrivateEndpoint Type resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "Resource type."
+ },
+ "resourceName": {
+ "type": "string",
+ "description": "The name of the service and resource."
+ }
+ },
+ "description": "The information of an AvailablePrivateEndpointType."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/privateLinkService.json
new file mode 100644
index 000000000000..be3ba8a28bf3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/privateLinkService.json
@@ -0,0 +1,897 @@
+{
+ "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": "2019-08-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/privateLinkServices/{serviceName}": {
+ "delete": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_Delete",
+ "description": "Deletes the specified private link service.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private link service."
+ },
+ {
+ "$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."
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Delete private link service": {
+ "$ref": "./examples/PrivateLinkServiceDelete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_Get",
+ "description": "Gets the specified private link service by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private link service."
+ },
+ {
+ "$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 PrivateLinkService resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkService"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get private link service": {
+ "$ref": "./examples/PrivateLinkServiceGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateLinkService"
+ ],
+ "operationId": "PrivateLinkServices_CreateOrUpdate",
+ "description": "Creates or updates an private link service in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private link service."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkService"
+ },
+ "description": "Parameters supplied to the create or update private link service operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting privateLinkService resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkService"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting privateLinkService resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkService"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create private link service": {
+ "$ref": "./examples/PrivateLinkServiceCreate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices": {
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_List",
+ "description": "Gets all private link services 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 privateLinkService resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List private link service in resource group": {
+ "$ref": "./examples/PrivateLinkServiceList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateLinkServices": {
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_ListBySubscription",
+ "description": "Gets all private link service 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 PrivateLinkService resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all private list service": {
+ "$ref": "./examples/PrivateLinkServiceListAll.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}": {
+ "put": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_UpdatePrivateEndpointConnection",
+ "description": "Approve or reject private end point connection for a private link service in a subscription.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private link service."
+ },
+ {
+ "name": "peConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private end point connection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "Parameters supplied to approve or reject the private end point connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting PrivateEndpointConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "approve or reject private end point connection for a private link service": {
+ "$ref": "./examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_DeletePrivateEndpointConnection",
+ "description": "Delete private end point connection for a private link service in a subscription.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private link service."
+ },
+ {
+ "name": "peConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private end point connection."
+ },
+ {
+ "$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."
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "delete private end point connection for a private link service": {
+ "$ref": "./examples/PrivateLinkServiceDeletePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility": {
+ "post": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_CheckPrivateLinkServiceVisibility",
+ "description": "Checks whether the subscription is visible to private link service.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the domain name."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckPrivateLinkServiceVisibilityRequest"
+ },
+ "description": "The request body of CheckPrivateLinkService API call."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns whether the subscription is visible to private link service.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkServiceVisibility"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check private link service visibility": {
+ "$ref": "./examples/CheckPrivateLinkServiceVisibility.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility": {
+ "post": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_CheckPrivateLinkServiceVisibilityByResourceGroup",
+ "description": "Checks whether the subscription is visible to private link service in the specified resource group.",
+ "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."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckPrivateLinkServiceVisibilityRequest"
+ },
+ "description": "The request body of CheckPrivateLinkService API call."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns whether the subscription is visible to private link service.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkServiceVisibility"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check private link service visibility": {
+ "$ref": "./examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices": {
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_ListAutoApprovedPrivateLinkServices",
+ "description": "Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the domain name."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.",
+ "schema": {
+ "$ref": "#/definitions/AutoApprovedPrivateLinkServicesResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get list of private link service id that can be linked to a private end point with auto approved": {
+ "$ref": "./examples/AutoApprovedPrivateLinkServicesGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices": {
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_ListAutoApprovedPrivateLinkServicesByResourceGroup",
+ "description": "Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription 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/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.",
+ "schema": {
+ "$ref": "#/definitions/AutoApprovedPrivateLinkServicesResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get list of private link service id that can be linked to a private end point with auto approved": {
+ "$ref": "./examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateLinkService": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrivateLinkServiceProperties",
+ "description": "Properties of the private link service."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Private link service resource."
+ },
+ "PrivateLinkServiceProperties": {
+ "properties": {
+ "loadBalancerFrontendIpConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "./loadBalancer.json#/definitions/FrontendIPConfiguration"
+ },
+ "description": "An array of references to the load balancer IP configurations."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkServiceIpConfiguration"
+ },
+ "description": "An array of private link service IP configurations."
+ },
+ "networkInterfaces": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterface"
+ },
+ "description": "An array of references to the network interfaces created for this private link service."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private link service resource."
+ },
+ "privateEndpointConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "An array of list about connections to the private endpoint."
+ },
+ "visibility": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSet"
+ }
+ ],
+ "description": "The visibility list of the private link service."
+ },
+ "autoApproval": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceSet"
+ }
+ ],
+ "description": "The auto-approval list of the private link service."
+ },
+ "fqdns": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of Fqdn."
+ },
+ "alias": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The alias of the private link service."
+ }
+ },
+ "description": "Properties of the private link service."
+ },
+ "ResourceSet": {
+ "properties": {
+ "subscriptions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of subscriptions."
+ }
+ },
+ "description": "The base resource set for visibility and auto-approval."
+ },
+ "PrivateLinkServiceIpConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrivateLinkServiceIpConfigurationProperties",
+ "description": "Properties of the private link service ip configuration."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of private link service ip configuration."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "The private link service ip configuration."
+ },
+ "PrivateLinkServiceIpConfigurationProperties": {
+ "properties": {
+ "privateIPAddress": {
+ "type": "string",
+ "description": "The private IP address of the IP configuration."
+ },
+ "privateIPAllocationMethod": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The private IP address allocation method."
+ },
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "The reference to the subnet resource."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "Whether the ip configuration is primary or not."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private link service IP configuration resource."
+ },
+ "privateIPAddressVersion": {
+ "$ref": "./network.json#/definitions/IPVersion",
+ "description": "Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4."
+ }
+ },
+ "description": "Properties of private link service IP configuration."
+ },
+ "PrivateEndpointConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Properties of the private end point connection."
+ },
+ "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."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "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": "PrivateEndpointConnection resource."
+ },
+ "PrivateEndpointConnectionProperties": {
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint",
+ "description": "The resource of private end point."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private endpoint connection resource."
+ }
+ },
+ "description": "Properties of the PrivateEndpointConnectProperties."
+ },
+ "PrivateLinkServiceConnectionState": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service."
+ },
+ "description": {
+ "type": "string",
+ "description": "The reason for approval/rejection of the connection."
+ },
+ "actionRequired": {
+ "type": "string",
+ "description": "A message indicating if changes on the service provider require any updates on the consumer."
+ }
+ },
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "PrivateLinkServiceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkService"
+ },
+ "description": "A list of PrivateLinkService resources in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results.",
+ "readOnly": true
+ }
+ },
+ "description": "Response for the ListPrivateLinkService API service call."
+ },
+ "CheckPrivateLinkServiceVisibilityRequest": {
+ "properties": {
+ "privateLinkServiceAlias": {
+ "type": "string",
+ "description": "The alias of the private link service."
+ }
+ },
+ "description": "Request body of the CheckPrivateLinkServiceVisibility API service call."
+ },
+ "PrivateLinkServiceVisibility": {
+ "properties": {
+ "visible": {
+ "type": "boolean",
+ "description": "Private Link Service Visibility (True/False)."
+ }
+ },
+ "description": "Response for the CheckPrivateLinkServiceVisibility API service call."
+ },
+ "AutoApprovedPrivateLinkServicesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutoApprovedPrivateLinkService"
+ },
+ "description": "An array of auto approved private link service."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "An array of private link service id that can be linked to a private end point with auto approved."
+ },
+ "AutoApprovedPrivateLinkService": {
+ "properties": {
+ "privateLinkService": {
+ "type": "string",
+ "description": "The id of the private link service resource."
+ }
+ },
+ "description": "The information of an AutoApprovedPrivateLinkService."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/publicIpAddress.json
new file mode 100644
index 000000000000..3eee3be62f71
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/publicIpAddress.json
@@ -0,0 +1,502 @@
+{
+ "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": "2019-08-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The public IP address allocation method."
+ },
+ "publicIPAddressVersion": {
+ "$ref": "./network.json#/definitions/IPVersion",
+ "description": "The public IP address version."
+ },
+ "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 address resource."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the public IP address resource."
+ }
+ },
+ "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": "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": "The 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": "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"
+ ],
+ "x-ms-enum": {
+ "name": "DdosSettingsProtectionCoverage",
+ "modelAsString": true
+ },
+ "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": "The IP tag type. Example: FirstPartyUsage."
+ },
+ "tag": {
+ "type": "string",
+ "description": "The value of the IP tag associated with the public IP. Example: SQL."
+ }
+ },
+ "description": "Contains the IpTag associated with the object."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/publicIpPrefix.json
new file mode 100644
index 000000000000..843091c01a5f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/publicIpPrefix.json
@@ -0,0 +1,445 @@
+{
+ "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": "2019-08-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/IPVersion",
+ "description": "The public IP address version."
+ },
+ "ipTags": {
+ "type": "array",
+ "items": {
+ "$ref": "./publicIpAddress.json#/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."
+ },
+ "loadBalancerFrontendIpConfiguration": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference to load balancer frontend IP configuration associated with the public IP prefix."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the public IP prefix resource."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the public IP prefix resource."
+ }
+ },
+ "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."
+ },
+ "ReferencedPublicIpAddress": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The PublicIPAddress Reference."
+ }
+ },
+ "description": "Reference to a public IP address."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/routeFilter.json
new file mode 100644
index 000000000000..99e72e413549
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/routeFilter.json
@@ -0,0 +1,820 @@
+{
+ "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": "2019-08-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/Access",
+ "description": "The access type of the rule."
+ },
+ "routeFilterRuleType": {
+ "type": "string",
+ "description": "The rule type of the rule.",
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the route filter rule resource."
+ }
+ },
+ "description": "Route Filter Rule Resource."
+ },
+ "RouteFilterRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterRulePropertiesFormat",
+ "description": "Properties of the route filter 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."
+ },
+ "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",
+ "description": "Properties of the route filter rule."
+ },
+ "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."
+ },
+ "ipv6Peerings": {
+ "type": "array",
+ "items": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeering"
+ },
+ "description": "A collection of references to express route circuit ipv6 peerings."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the route filter resource."
+ }
+ },
+ "description": "Route Filter Resource."
+ },
+ "RouteFilter": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterPropertiesFormat",
+ "description": "Properties of the route filter."
+ },
+ "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": "Route Filter Resource."
+ },
+ "PatchRouteFilter": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterPropertiesFormat",
+ "description": "Properties of the route filter."
+ },
+ "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": "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": "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/2019-08-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/routeTable.json
new file mode 100644
index 000000000000..2763e31c395b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/routeTable.json
@@ -0,0 +1,693 @@
+{
+ "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": "2019-08-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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": {
+ "$ref": "#/definitions/RouteNextHopType",
+ "description": "The type of Azure hop the packet should be sent to."
+ },
+ "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",
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the route resource."
+ }
+ },
+ "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": "Whether to disable the routes learned by BGP on that route table. True means disable."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the route table resource."
+ }
+ },
+ "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": "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": "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": "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."
+ },
+ "RouteNextHopType": {
+ "type": "string",
+ "description": "The type of Azure hop the packet should be sent to.",
+ "enum": [
+ "VirtualNetworkGateway",
+ "VnetLocal",
+ "Internet",
+ "VirtualAppliance",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "RouteNextHopType",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/serviceCommunity.json
new file mode 100644
index 000000000000..4f03ed0eef9f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/serviceCommunity.json
@@ -0,0 +1,152 @@
+{
+ "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": "2019-08-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": "A list of bgp communities."
+ }
+ },
+ "description": "Properties of Service Community."
+ },
+ "BgpServiceCommunity": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BgpServiceCommunityPropertiesFormat",
+ "description": "Properties of the BGP service community."
+ }
+ },
+ "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/2019-08-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/serviceEndpointPolicy.json
new file mode 100644
index 000000000000..61586d861c43
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/serviceEndpointPolicy.json
@@ -0,0 +1,681 @@
+{
+ "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": "2019-08-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the service endpoint policy definition resource."
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the service endpoint policy resource."
+ }
+ },
+ "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/2019-08-01/serviceTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/serviceTags.json
new file mode 100644
index 000000000000..cfcf5c11a597
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/serviceTags.json
@@ -0,0 +1,160 @@
+{
+ "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": "2019-08-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}/serviceTags": {
+ "get": {
+ "operationId": "ServiceTags_List",
+ "description": "Gets a list of service tag information resources.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location that will be used as a reference for version (not as a filter based on location, you will get the list of service tags with prefix details across all regions but limited to the cloud that your subscription belongs to)."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns a list of service tag information resources.",
+ "schema": {
+ "$ref": "#/definitions/ServiceTagsListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get list of service tags": {
+ "$ref": "./examples/ServiceTagsList.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServiceTagsListResult": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the cloud."
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The ID of the cloud."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The azure resource type."
+ },
+ "changeNumber": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The iteration number."
+ },
+ "cloud": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the cloud."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceTagInformation"
+ },
+ "readOnly": true,
+ "description": "The list of service tag information resources."
+ }
+ },
+ "description": "Response for the ListServiceTags API service call."
+ },
+ "ServiceTagInformation": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServiceTagInformationPropertiesFormat",
+ "readOnly": true,
+ "description": "Properties of the service tag information."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of service tag."
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The ID of service tag."
+ }
+ },
+ "description": "The service tag information."
+ },
+ "ServiceTagInformationPropertiesFormat": {
+ "properties": {
+ "changeNumber": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The iteration number of service tag."
+ },
+ "region": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The region of service tag."
+ },
+ "systemService": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of system service."
+ },
+ "addressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "The list of IP address prefixes."
+ }
+ },
+ "description": "Properties of the service tag information."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/usage.json
new file mode 100644
index 000000000000..a0322da1143a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/usage.json
@@ -0,0 +1,154 @@
+{
+ "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": "2019-08-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/2019-08-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualNetwork.json
new file mode 100644
index 000000000000..56667e876a85
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualNetwork.json
@@ -0,0 +1,1818 @@
+{
+ "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": "2019-08-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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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 Bgp Communities": {
+ "$ref": "./examples/VirtualNetworkCreateWithBgpCommunities.json"
+ },
+ "Create virtual network with service endpoints": {
+ "$ref": "./examples/VirtualNetworkCreateServiceEndpoints.json"
+ },
+ "Create virtual network with service endpoints and service endpoint policy": {
+ "$ref": "./examples/VirtualNetworkCreateServiceEndpointPolicy.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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Prepare Network Policies": {
+ "$ref": "./examples/SubnetPrepareNetworkPolicies.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies": {
+ "post": {
+ "operationId": "Subnets_UnprepareNetworkPolicies",
+ "description": "Unprepares a subnet by removing 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": "unprepareNetworkPoliciesRequestParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UnprepareNetworkPoliciesRequest"
+ },
+ "description": "Parameters supplied to unprepare subnet to remove network intent policies."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Unpreparing subnet by removing network intent policies is successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Unprepare Network Policies": {
+ "$ref": "./examples/SubnetUnprepareNetworkPolicies.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks": {
+ "get": {
+ "operationId": "ResourceNavigationLinks_List",
+ "description": "Gets a list of resource navigation links for a 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": "Request successful. The operation returns a list of resource navigation links for the subnet.",
+ "schema": {
+ "$ref": "#/definitions/ResourceNavigationLinksListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Resource Navigation Links": {
+ "$ref": "./examples/VirtualNetworkGetResourceNavigationLinks.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks": {
+ "get": {
+ "operationId": "ServiceAssociationLinks_List",
+ "description": "Gets a list of service association links for a 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": "Request successful. The operation returns a list of service association links for the subnet.",
+ "schema": {
+ "$ref": "#/definitions/ServiceAssociationLinksListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Service Association Links": {
+ "$ref": "./examples/VirtualNetworkGetServiceAssociationLinks.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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the service association link resource."
+ },
+ "allowDelete": {
+ "type": "boolean",
+ "description": "If true, the resource can be deleted."
+ },
+ "locations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of locations."
+ }
+ },
+ "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."
+ },
+ "type": {
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the resource navigation link 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."
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource navigation link identifier."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the service delegation 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."
+ },
+ "natGateway": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Nat gateway associated with this subnet."
+ },
+ "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."
+ },
+ "privateEndpoints": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint"
+ },
+ "description": "An array of references to private endpoints."
+ },
+ "ipConfigurations": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/IPConfiguration"
+ },
+ "description": "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": "An array of references to the external resources using subnet."
+ },
+ "serviceAssociationLinks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceAssociationLink"
+ },
+ "description": "An array of references to services injecting into this subnet."
+ },
+ "delegations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Delegation"
+ },
+ "description": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the subnet resource."
+ },
+ "privateEndpointNetworkPolicies": {
+ "type": "string",
+ "description": "Enable or Disable apply network policies on private end point in the subnet."
+ },
+ "privateLinkServiceNetworkPolicies": {
+ "type": "string",
+ "description": "Enable or Disable apply network policies on private link service in the subnet."
+ }
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the service endpoint resource."
+ }
+ },
+ "description": "The service endpoint properties."
+ },
+ "VirtualNetworkPeeringPropertiesFormat": {
+ "properties": {
+ "allowVirtualNetworkAccess": {
+ "type": "boolean",
+ "description": "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space."
+ },
+ "allowForwardedTraffic": {
+ "type": "boolean",
+ "description": "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network."
+ },
+ "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.",
+ "enum": [
+ "Initiated",
+ "Connected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkPeeringState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network peering 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."
+ },
+ "ResourceNavigationLinksListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceNavigationLink"
+ },
+ "description": "The resource navigation links in a subnet."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ResourceNavigationLinks_List operation."
+ },
+ "ServiceAssociationLinksListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceAssociationLink"
+ },
+ "description": "The service association links in a subnet."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ServiceAssociationLinks_List operation."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network resource."
+ },
+ "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."
+ },
+ "bgpCommunities": {
+ "$ref": "#/definitions/VirtualNetworkBgpCommunities",
+ "default": null,
+ "description": "Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET."
+ }
+ },
+ "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": "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": "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."
+ },
+ "VirtualNetworkBgpCommunities": {
+ "properties": {
+ "virtualNetworkCommunity": {
+ "type": "string",
+ "description": "The BGP community associated with the virtual network"
+ },
+ "regionalCommunity": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The BGP community associated with the region of the virtual network"
+ }
+ },
+ "required": [
+ "virtualNetworkCommunity"
+ ],
+ "description": "Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET."
+ },
+ "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."
+ },
+ "networkIntentPolicyConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkIntentPolicyConfiguration"
+ },
+ "description": "A list of NetworkIntentPolicyConfiguration."
+ }
+ },
+ "description": "Details of PrepareNetworkPolicies for Subnet."
+ },
+ "UnprepareNetworkPoliciesRequest": {
+ "properties": {
+ "serviceName": {
+ "type": "string",
+ "description": "The name of the service for which subnet is being unprepared for."
+ }
+ },
+ "description": "Details of UnprepareNetworkPolicies for Subnet."
+ },
+ "NetworkIntentPolicyConfiguration": {
+ "properties": {
+ "networkIntentPolicyName": {
+ "type": "string",
+ "description": "The name of the Network Intent Policy for storing in target subscription."
+ },
+ "sourceNetworkIntentPolicy": {
+ "$ref": "#/definitions/NetworkIntentPolicy",
+ "description": "Source network intent policy."
+ }
+ },
+ "description": "Details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest."
+ },
+ "NetworkIntentPolicy": {
+ "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 Intent Policy resource."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualNetworkGateway.json
new file mode 100644
index 000000000000..691efb9acdd3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualNetworkGateway.json
@@ -0,0 +1,3358 @@
+{
+ "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": "2019-08-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GenerateVPNClientPackage": {
+ "$ref": "./examples/VirtualNetworkGatewayGenerateVpnClientPackage.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_StartPacketCapture",
+ "description": "Starts packet capture on 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": false,
+ "schema": {
+ "$ref": "#/definitions/VpnPacketCaptureStartParameters"
+ },
+ "description": "Virtual network gateway packet capture parameters supplied to start packet capture on 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 packet capture started on virtual network gateway.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Start packet capture on virtual network gateway without filter": {
+ "$ref": "./examples/VirtualNetworkGatewayStartPacketCapture.json"
+ },
+ "Start packet capture on virtual network gateway with filter": {
+ "$ref": "./examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_StopPacketCapture",
+ "description": "Stops packet capture on 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/VpnPacketCaptureStopParameters"
+ },
+ "description": "Virtual network gateway packet capture parameters supplied to stop packet capture on 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 packet capture stopped on virtual network gateway.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Stop packet capture on virtual network gateway": {
+ "$ref": "./examples/VirtualNetworkGatewayStopPacketCapture.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/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": "Request successful. The operation returns the resulting ConnectionSharedKey resource.",
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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": "Request successful. The operation sets the virtual network gateway connection shared key."
+ }
+ },
+ "x-ms-examples": {
+ "ResetVirtualNetworkGatewayConnectionSharedKey": {
+ "$ref": "./examples/VirtualNetworkGatewayConnectionResetSharedKey.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_StartPacketCapture",
+ "description": "Starts packet capture on 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": false,
+ "schema": {
+ "$ref": "#/definitions/VpnPacketCaptureStartParameters"
+ },
+ "description": "Virtual network gateway packet capture parameters supplied to start packet capture on gateway connection."
+ },
+ {
+ "$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 packet capture started on virtual network gateway connection.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Start packet capture on virtual network gateway connection without filter": {
+ "$ref": "./examples/VirtualNetworkGatewayConnectionStartPacketCapture.json"
+ },
+ "Start packet capture on virtual network gateway connection with filter": {
+ "$ref": "./examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_StopPacketCapture",
+ "description": "Stops packet capture on 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/VpnPacketCaptureStopParameters"
+ },
+ "description": "Virtual network gateway packet capture parameters supplied to stop packet capture on gateway connection."
+ },
+ {
+ "$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 packet capture stopped on virtual network gateway connection.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Stop packet capture on virtual network gateway connection": {
+ "$ref": "./examples/VirtualNetworkGatewayConnectionStopPacketCapture.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getVpnClientConnectionHealth": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GetVpnclientConnectionHealth",
+ "description": "Get VPN client connection health detail per P2S client connection 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": "List of VPN client connection health details.",
+ "schema": {
+ "$ref": "#/definitions/VpnClientConnectionHealthDetailListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GetVirtualNetworkGatewayVpnclientConnectionHealth": {
+ "$ref": "./examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "VirtualNetworkGatewayIPConfigurationPropertiesFormat": {
+ "properties": {
+ "privateIPAllocationMethod": {
+ "$ref": "./network.json#/definitions/IPAllocationMethod",
+ "description": "The private IP address allocation method."
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network gateway IP configuration resource."
+ }
+ },
+ "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.",
+ "enum": [
+ "Vpn",
+ "ExpressRoute"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayType",
+ "modelAsString": true
+ }
+ },
+ "vpnType": {
+ "type": "string",
+ "description": "The type of this virtual network gateway.",
+ "enum": [
+ "PolicyBased",
+ "RouteBased"
+ ],
+ "x-ms-enum": {
+ "name": "VpnType",
+ "modelAsString": true
+ }
+ },
+ "vpnGatewayGeneration": {
+ "type": "string",
+ "description": "The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN.",
+ "enum": [
+ "None",
+ "Generation1",
+ "Generation2"
+ ],
+ "x-ms-enum": {
+ "name": "VpnGatewayGeneration",
+ "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."
+ },
+ "customRoutes": {
+ "$ref": "./virtualNetwork.json#/definitions/AddressSpace",
+ "description": "The reference of the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and VpnClient."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the virtual network gateway resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network gateway resource."
+ },
+ "enableDnsForwarding": {
+ "type": "boolean",
+ "description": "Whether dns forwarding is enabled or not."
+ },
+ "inboundDnsForwardingEndpoint": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The IP address allocated by the gateway to which dns requests can be sent."
+ }
+ },
+ "description": "VirtualNetworkGateway properties."
+ },
+ "VpnClientRootCertificatePropertiesFormat": {
+ "properties": {
+ "publicCertData": {
+ "type": "string",
+ "description": "The certificate public data."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN client root certificate resource."
+ }
+ },
+ "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,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN client revoked certificate resource."
+ }
+ },
+ "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."
+ },
+ "aadTenant": {
+ "type": "string",
+ "description": "The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication."
+ },
+ "aadAudience": {
+ "type": "string",
+ "description": "The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication."
+ },
+ "aadIssuer": {
+ "type": "string",
+ "description": "The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication."
+ }
+ },
+ "description": "VpnClientConfiguration for P2S client."
+ },
+ "VirtualNetworkGatewaySku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Gateway SKU name.",
+ "enum": [
+ "Basic",
+ "HighPerformance",
+ "Standard",
+ "UltraPerformance",
+ "VpnGw1",
+ "VpnGw2",
+ "VpnGw3",
+ "VpnGw4",
+ "VpnGw5",
+ "VpnGw1AZ",
+ "VpnGw2AZ",
+ "VpnGw3AZ",
+ "VpnGw4AZ",
+ "VpnGw5AZ",
+ "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",
+ "VpnGw4",
+ "VpnGw5",
+ "VpnGw1AZ",
+ "VpnGw2AZ",
+ "VpnGw3AZ",
+ "VpnGw4AZ",
+ "VpnGw5AZ",
+ "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": "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.",
+ "enum": [
+ "Amd64",
+ "X86"
+ ],
+ "x-ms-enum": {
+ "name": "ProcessorArchitecture",
+ "modelAsString": true
+ }
+ },
+ "authenticationMethod": {
+ "$ref": "./network.json#/definitions/AuthenticationMethod",
+ "description": "VPN client authentication method."
+ },
+ "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": "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,
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionStatus",
+ "description": "Virtual Network Gateway connection status."
+ },
+ "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": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionType",
+ "description": "Gateway connection type."
+ },
+ "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,
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionStatus",
+ "description": "Virtual Network Gateway connection status."
+ },
+ "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."
+ },
+ "trafficSelectorPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrafficSelectorPolicy"
+ },
+ "description": "The Traffic Selector Policies to be considered by this connection."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the virtual network gateway connection resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network gateway connection resource."
+ },
+ "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": "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": "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": {
+ "$ref": "#/definitions/IpsecEncryption",
+ "description": "The IPSec encryption algorithm (IKE phase 1)."
+ },
+ "ipsecIntegrity": {
+ "$ref": "#/definitions/IpsecIntegrity",
+ "description": "The IPSec integrity algorithm (IKE phase 1)."
+ },
+ "ikeEncryption": {
+ "$ref": "#/definitions/IkeEncryption",
+ "description": "The IKE encryption algorithm (IKE phase 2)."
+ },
+ "ikeIntegrity": {
+ "$ref": "#/definitions/IkeIntegrity",
+ "description": "The IKE integrity algorithm (IKE phase 2)."
+ },
+ "dhGroup": {
+ "$ref": "#/definitions/DhGroup",
+ "description": "The DH Group used in IKE Phase 1 for initial SA."
+ },
+ "pfsGroup": {
+ "$ref": "#/definitions/PfsGroup",
+ "description": "The Pfs Group used in IKE Phase 2 for new child SA."
+ }
+ },
+ "required": [
+ "saLifeTimeSeconds",
+ "saDataSizeKilobytes",
+ "ipsecEncryption",
+ "ipsecIntegrity",
+ "ikeEncryption",
+ "ikeIntegrity",
+ "dhGroup",
+ "pfsGroup"
+ ],
+ "description": "An IPSec Policy configuration for a virtual network gateway connection."
+ },
+ "TrafficSelectorPolicy": {
+ "properties": {
+ "localAddressRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A collection of local address spaces in CIDR format"
+ },
+ "remoteAddressRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A collection of remote address spaces in CIDR format"
+ }
+ },
+ "required": [
+ "localAddressRanges",
+ "remoteAddressRanges"
+ ],
+ "description": "An traffic selector policy for a virtual network gateway connection."
+ },
+ "ConnectionProtocol": {
+ "type": "string",
+ "description": "Gateway connection protocol.",
+ "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": {
+ "$ref": "#/definitions/IpsecEncryption",
+ "description": "The IPSec encryption algorithm (IKE phase 1)."
+ },
+ "ipsecIntegrity": {
+ "$ref": "#/definitions/IpsecIntegrity",
+ "description": "The IPSec integrity algorithm (IKE phase 1)."
+ },
+ "ikeEncryption": {
+ "$ref": "#/definitions/IkeEncryption",
+ "description": "The IKE encryption algorithm (IKE phase 2)."
+ },
+ "ikeIntegrity": {
+ "$ref": "#/definitions/IkeIntegrity",
+ "description": "The IKE integrity algorithm (IKE phase 2)."
+ },
+ "dhGroup": {
+ "$ref": "#/definitions/DhGroup",
+ "description": "The DH Group used in IKE Phase 1 for initial SA."
+ },
+ "pfsGroup": {
+ "$ref": "#/definitions/PfsGroup",
+ "description": "The Pfs Group used in IKE Phase 2 for new child SA."
+ }
+ },
+ "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 local network gateway resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the local network gateway resource."
+ }
+ },
+ "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": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionType",
+ "description": "Gateway connection type."
+ },
+ "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,
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionStatus",
+ "description": "Virtual Network Gateway connection status."
+ },
+ "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."
+ },
+ "trafficSelectorPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrafficSelectorPolicy"
+ },
+ "description": "The Traffic Selector Policies to be considered by this connection."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the virtual network gateway connection resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network gateway connection resource."
+ },
+ "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": "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": "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."
+ },
+ "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
+ }
+ },
+ "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
+ }
+ },
+ "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
+ }
+ },
+ "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
+ }
+ },
+ "VirtualNetworkGatewayConnectionStatus": {
+ "type": "string",
+ "description": "Virtual Network Gateway connection status.",
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "VirtualNetworkGatewayConnectionType": {
+ "type": "string",
+ "description": "Gateway connection type.",
+ "enum": [
+ "IPsec",
+ "Vnet2Vnet",
+ "ExpressRoute",
+ "VPNClient"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionType",
+ "modelAsString": true
+ }
+ },
+ "VpnClientConnectionHealthDetailListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnClientConnectionHealthDetail"
+ },
+ "description": "List of vpn client connection health."
+ }
+ },
+ "description": "List of virtual network gateway vpn client connection health."
+ },
+ "VpnClientConnectionHealthDetail": {
+ "properties": {
+ "vpnConnectionId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The vpn client Id."
+ },
+ "vpnConnectionDuration": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The duration time of a connected vpn client."
+ },
+ "vpnConnectionTime": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The start time of a connected vpn client."
+ },
+ "publicIpAddress": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The public Ip of a connected vpn client."
+ },
+ "privateIpAddress": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The assigned private Ip of a connected vpn client."
+ },
+ "vpnUserName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The user name of a connected vpn client."
+ },
+ "maxBandwidth": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The max band width."
+ },
+ "egressPacketsTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The egress packets per second."
+ },
+ "egressBytesTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The egress bytes per second."
+ },
+ "ingressPacketsTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The ingress packets per second."
+ },
+ "ingressBytesTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The ingress bytes per second."
+ },
+ "maxPacketsPerSecond": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The max packets transferred per second."
+ }
+ },
+ "description": "VPN client connection health detail."
+ },
+ "VpnPacketCaptureStopParameters": {
+ "properties": {
+ "sasUrl": {
+ "type": "string",
+ "description": "SAS url for packet capture on virtual network gateway."
+ }
+ },
+ "description": "Stop packet capture parameters."
+ },
+ "VpnPacketCaptureStartParameters": {
+ "properties": {
+ "filterData": {
+ "type": "string",
+ "description": "Start Packet capture parameters."
+ }
+ },
+ "description": "Start packet capture parameters on virtual network gateway."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualNetworkTap.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualNetworkTap.json
new file mode 100644
index 000000000000..3aee1295ec27
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualNetworkTap.json
@@ -0,0 +1,390 @@
+{
+ "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": "2019-08-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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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": "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 resource GUID property of the virtual network tap resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual network tap resource."
+ },
+ "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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualRouter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualRouter.json
new file mode 100644
index 000000000000..b35525c34257
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualRouter.json
@@ -0,0 +1,819 @@
+{
+ "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": "2019-08-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/virtualRouters/{virtualRouterName}": {
+ "delete": {
+ "tags": [
+ "VirtualRouters"
+ ],
+ "operationId": "VirtualRouters_Delete",
+ "description": "Deletes the specified Virtual Router.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "$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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete VirtualRouter": {
+ "$ref": "./examples/VirtualRouterDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualRouters"
+ ],
+ "operationId": "VirtualRouters_Get",
+ "description": "Gets the specified Virtual Router.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "$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 a Virtual Router resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get VirtualRouter": {
+ "$ref": "./examples/VirtualRouterGet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualRouters"
+ ],
+ "operationId": "VirtualRouters_Update",
+ "description": "Updates a Virtual Router.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the Virtual Router."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router being updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to Update Virtual Router Tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the Virtual Router updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update VirtualRouter": {
+ "$ref": "./examples/VirtualRouterUpdateTags.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "VirtualRouters"
+ ],
+ "operationId": "VirtualRouters_CreateOrUpdate",
+ "description": "Creates or updates the specified Virtual Router.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualRouter"
+ },
+ "description": "Parameters supplied to the create or update Virtual Router."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request received successfully. The operation returns the resulting Virtual Router resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouter"
+ }
+ },
+ "200": {
+ "description": "Request successful. The operation returns the resulting Virtual Router resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create VirtualRouter": {
+ "$ref": "./examples/VirtualRouterPut.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters": {
+ "get": {
+ "tags": [
+ "VirtualRouters"
+ ],
+ "operationId": "VirtualRouters_ListByResourceGroup",
+ "description": "Lists all Virtual Routers 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 Virtual Router resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Virtual Router for a given resource group": {
+ "$ref": "./examples/VirtualRouterListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualRouters": {
+ "get": {
+ "tags": [
+ "VirtualRouters"
+ ],
+ "operationId": "VirtualRouters_List",
+ "description": "Gets all the Virtual Routers in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of Virtual Router resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Virtual Routers for a given subscription": {
+ "$ref": "./examples/VirtualRouterListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}": {
+ "delete": {
+ "tags": [
+ "VirtualRouterPeerings"
+ ],
+ "operationId": "VirtualRouterPeerings_Delete",
+ "description": "Deletes the specified peering from a Virtual Router.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "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": {
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete VirtualRouterPeering": {
+ "$ref": "./examples/VirtualRouterPeeringDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualRouterPeerings"
+ ],
+ "operationId": "VirtualRouterPeerings_Get",
+ "description": "Gets the specified Virtual Router Peering.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router Peering."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a Virtual Router Peering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Virtual Router Peering": {
+ "$ref": "./examples/VirtualRouterPeeringGet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualRouterPeerings"
+ ],
+ "operationId": "VirtualRouterPeerings_Update",
+ "description": "Updates a Virtual Router Peering.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the Virtual Router Peering."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router Peering being updated."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ },
+ "description": "Parameters supplied to update Virtual Router Peering operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the Virtual Router Peering updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update VirtualRouter Peering": {
+ "$ref": "./examples/VirtualRouterPeeringUpdate.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "VirtualRouterPeerings"
+ ],
+ "operationId": "VirtualRouterPeerings_CreateOrUpdate",
+ "description": "Creates or updates the specified Virtual Router Peering.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router Peering."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ },
+ "description": "Parameters supplied to the create or update Virtual Router Peering operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request received successfully. The operation returns the resulting Virtual Router Peering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ }
+ },
+ "200": {
+ "description": "Request successful. The operation returns the resulting Virtual Router Peering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create Virtual Router Peering": {
+ "$ref": "./examples/VirtualRouterPeeringPut.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings": {
+ "get": {
+ "tags": [
+ "VirtualRouterPeerings"
+ ],
+ "operationId": "VirtualRouterPeerings_List",
+ "description": "Lists all Virtual Router Peerings in a Virtual Router resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualRouterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Virtual Router."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of Virtual Router Peering resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualRouterPeeringListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all Virtual Router Peerings for a given Virtual Router": {
+ "$ref": "./examples/VirtualRouterPeeringList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "VirtualRouter": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualRouterPropertiesFormat",
+ "description": "Properties of the Virtual Router."
+ },
+ "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": "VirtualRouter Resource."
+ },
+ "VirtualRouterPropertiesFormat": {
+ "properties": {
+ "virtualRouterAsn": {
+ "type": "integer",
+ "readOnly": false,
+ "format": "int64",
+ "minimum": 1,
+ "maximum": 4294967295,
+ "description": "VirtualRouter ASN."
+ },
+ "virtualRouterIps": {
+ "type": "array",
+ "readOnly": false,
+ "description": "VirtualRouter IPs",
+ "items": {
+ "type": "string"
+ }
+ },
+ "hostedSubnet": {
+ "readOnly": false,
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The Subnet on which VirtualRouter is hosted."
+ },
+ "hostedGateway": {
+ "readOnly": false,
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The Gateway on which VirtualRouter is hosted."
+ },
+ "peerings": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of references to VirtualRouterPeerings",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState"
+ }
+ },
+ "description": "Virtual Router definition"
+ },
+ "VirtualRouterPeering": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualRouterPeeringProperties",
+ "description": "The properties of the Virtual Router Peering."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets name of the peering unique to VirtualRouter. 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."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Peering type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Virtual Router Peering resource"
+ },
+ "VirtualRouterPeeringProperties": {
+ "properties": {
+ "peerAsn": {
+ "type": "integer",
+ "readOnly": false,
+ "format": "int64",
+ "minimum": 1,
+ "maximum": 4294967295,
+ "description": "Peer ASN."
+ },
+ "peerIp": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Peer IP."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState"
+ }
+ },
+ "description": "Properties of the rule group."
+ },
+ "VirtualRouterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualRouter"
+ },
+ "description": "List of Virtual Routers."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListVirtualRouters API service call."
+ },
+ "VirtualRouterPeeringListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualRouterPeering"
+ },
+ "description": "List of VirtualRouterPeerings in a VirtualRouter."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListVirtualRouterPeerings API service call."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualWan.json
new file mode 100644
index 000000000000..8895bc29b34a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualWan.json
@@ -0,0 +1,4223 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "VirtualWANAsAServiceManagementClient",
+ "description": "REST API for Azure VirtualWAN As a Service.",
+ "version": "2019-08-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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks/{vpnSiteLinkName}": {
+ "get": {
+ "operationId": "VpnSiteLinks_Get",
+ "x-ms-examples": {
+ "VpnSiteGet": {
+ "$ref": "./examples/VpnSiteLinkGet.json"
+ }
+ },
+ "description": "Retrieves the details of a VPN site link.",
+ "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."
+ },
+ {
+ "name": "vpnSiteLinkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnSiteLink being retrieved."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VpnSiteLink retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VpnSiteLink"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks": {
+ "get": {
+ "operationId": "VpnSiteLinks_ListByVpnSite",
+ "x-ms-examples": {
+ "VpnSiteLinkListByVpnSite": {
+ "$ref": "./examples/VpnSiteLinkListByVpnSite.json"
+ }
+ },
+ "description": "Lists all the vpnSiteLinks in a resource group for 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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the vpnSites in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnSiteLinksResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}": {
+ "get": {
+ "operationId": "VpnServerConfigurations_Get",
+ "x-ms-examples": {
+ "VpnServerConfigurationGet": {
+ "$ref": "./examples/VpnServerConfigurationGet.json"
+ }
+ },
+ "description": "Retrieves the details of a VpnServerConfiguration.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnServerConfiguration."
+ },
+ {
+ "name": "vpnServerConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnServerConfiguration being retrieved."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VpnServerConfiguration retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VpnServerConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VpnServerConfigurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "VpnServerConfigurationCreate": {
+ "$ref": "./examples/VpnServerConfigurationPut.json"
+ }
+ },
+ "description": "Creates a VpnServerConfiguration resource if it doesn't exist else updates the existing VpnServerConfiguration.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnServerConfiguration."
+ },
+ {
+ "name": "vpnServerConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnServerConfiguration being created or updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "VpnServerConfigurationParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnServerConfiguration"
+ },
+ "description": "Parameters supplied to create or update VpnServerConfiguration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VpnServerConfiguration created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnServerConfiguration"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VpnServerConfiguration created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnServerConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "patch": {
+ "tags": [
+ "VpnServerConfigurations"
+ ],
+ "operationId": "VpnServerConfigurations_UpdateTags",
+ "x-ms-examples": {
+ "VpnServerConfigurationUpdate": {
+ "$ref": "./examples/VpnServerConfigurationUpdateTags.json"
+ }
+ },
+ "description": "Updates VpnServerConfiguration tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnServerConfiguration."
+ },
+ {
+ "name": "vpnServerConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnServerConfiguration being updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "VpnServerConfigurationParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update VpnServerConfiguration tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VpnServerConfiguration updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnServerConfiguration"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VpnServerConfiguration updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnServerConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "operationId": "VpnServerConfigurations_Delete",
+ "x-ms-examples": {
+ "VpnServerConfigurationDelete": {
+ "$ref": "./examples/VpnServerConfigurationDelete.json"
+ }
+ },
+ "description": "Deletes a VpnServerConfiguration.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnServerConfiguration."
+ },
+ {
+ "name": "vpnServerConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnServerConfiguration being deleted."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. VpnServerConfiguration deleted."
+ },
+ "202": {
+ "description": "Request received successfully. VpnServerConfiguration deletion is in progress."
+ },
+ "204": {
+ "description": "No VpnServerConfigurations exist by the name provided."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations": {
+ "get": {
+ "operationId": "VpnServerConfigurations_ListByResourceGroup",
+ "x-ms-examples": {
+ "VpnServerConfigurationListByResourceGroup": {
+ "$ref": "./examples/VpnServerConfigurationListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the vpnServerConfigurations 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 VpnServerConfiguration."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the vpnServerConfigurations in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnServerConfigurationsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnServerConfigurations": {
+ "get": {
+ "operationId": "VpnServerConfigurations_List",
+ "x-ms-examples": {
+ "VpnServerConfigurationList": {
+ "$ref": "./examples/VpnServerConfigurationList.json"
+ }
+ },
+ "description": "Lists all the VpnServerConfigurations 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 VpnServerConfigurations in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnServerConfigurationsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/reset": {
+ "post": {
+ "tags": [
+ "VpnGateways"
+ ],
+ "operationId": "VpnGateways_Reset",
+ "description": "Resets the primary of the vpn gateway in the specified resource group.",
+ "parameters": [
+ {
+ "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"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation reset the primary of the VpnGateway.",
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ResetVpnGateway": {
+ "$ref": "./examples/VpnGatewayReset.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}": {
+ "get": {
+ "operationId": "VpnSiteLinkConnections_Get",
+ "x-ms-examples": {
+ "VpnSiteLinkConnectionGet": {
+ "$ref": "./examples/VpnSiteLinkConnectionGet.json"
+ }
+ },
+ "description": "Retrieves the details of a vpn site link 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."
+ },
+ {
+ "name": "linkConnectionName",
+ "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/VpnSiteLinkConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections": {
+ "get": {
+ "operationId": "VpnLinkConnections_ListByVpnConnection",
+ "x-ms-examples": {
+ "VpnSiteLinkConnectionList": {
+ "$ref": "./examples/VpnSiteLinkConnectionList.json"
+ }
+ },
+ "description": "Retrieves all vpn site link connections for a particular virtual wan vpn gateway 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 all Vpn connections for a virtual wan vpn gateway.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnSiteLinkConnectionsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GenerateP2SVpnGatewayVPNProfile": {
+ "$ref": "./examples/P2SVpnGatewayGenerateVpnProfile.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealth": {
+ "post": {
+ "tags": [
+ "P2SVpnGateways"
+ ],
+ "operationId": "P2sVpnGateways_GetP2sVpnConnectionHealth",
+ "description": "Gets the connection health of P2S clients of the virtual wan 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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "P2S Vpn Gateway with P2S connection health details.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "P2SVpnGatewayGetConnectionHealth": {
+ "$ref": "./examples/P2SVpnGatewayGetConnectionHealth.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealthDetailed": {
+ "post": {
+ "tags": [
+ "P2SVpnGateways"
+ ],
+ "operationId": "P2sVpnGateways_GetP2sVpnConnectionHealthDetailed",
+ "description": "Gets the sas url to get the connection health detail of P2S clients of the virtual wan P2SVpnGateway in the specified resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "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": "request",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/P2SVpnConnectionHealthRequest"
+ },
+ "description": "Request parameters supplied to get p2s vpn connections detailed health."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "P2S connections detailed health report.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnConnectionHealth"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "P2SVpnGatewayGetConnectionHealthDetailed": {
+ "$ref": "./examples/P2SVpnGatewayGetConnectionHealthDetailed.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnServerConfigurations": {
+ "post": {
+ "operationId": "VpnServerConfigurationsAssociatedWithVirtualWan_List",
+ "x-ms-examples": {
+ "GetVirtualWanVpnServerConfigurations": {
+ "$ref": "./examples/GetVirtualWanVpnServerConfigurations.json"
+ }
+ },
+ "description": "Gives the list of VpnServerConfigurations associated with Virtual Wan 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 whose associated VpnServerConfigurations is needed."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of associated VpnServerConfigurations list.",
+ "schema": {
+ "$ref": "#/definitions/VpnServerConfigurationsResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously. Follow the location header for list of associated VpnServerConfigurations list."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/GenerateVpnProfile": {
+ "post": {
+ "operationId": "generatevirtualwanvpnserverconfigurationvpnprofile",
+ "x-ms-examples": {
+ "GenerateVirtualWanVpnServerConfigurationVpnProfile": {
+ "$ref": "./examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json"
+ }
+ },
+ "description": "Generates a unique VPN profile for P2S clients for VirtualWan and associated VpnServerConfiguration combination in the specified 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 whose associated VpnServerConfigurations is needed."
+ },
+ {
+ "name": "vpnClientParams",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualWanVpnProfileParameters"
+ },
+ "description": "Parameters supplied to the generate VirtualWan VPN profile generation operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN profile package URL.",
+ "schema": {
+ "$ref": "#/definitions/VpnProfileResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./ddosCustomPolicy.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "description": "List of VpnSites in the VirtualWAN."
+ },
+ "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"
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual WAN resource."
+ }
+ },
+ "description": "Parameters for VirtualWAN."
+ },
+ "VirtualWAN": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualWanProperties",
+ "description": "Properties of the virtual WAN."
+ },
+ "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": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN site resource."
+ },
+ "isSecuritySite": {
+ "type": "boolean",
+ "description": "IsSecuritySite flag."
+ },
+ "vpnSiteLinks": {
+ "type": "array",
+ "description": "List of all vpn site links.",
+ "items": {
+ "$ref": "#/definitions/VpnSiteLink"
+ }
+ }
+ },
+ "description": "Parameters for VpnSite."
+ },
+ "VpnSite": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnSiteProperties",
+ "description": "Properties of the VPN site."
+ },
+ "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": "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."
+ }
+ }
+ },
+ "VpnSiteLinkProperties": {
+ "properties": {
+ "linkProperties": {
+ "description": "The link provider properties.",
+ "$ref": "#/definitions/VpnLinkProviderProperties"
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "The ip-address for the vpn-site-link."
+ },
+ "bgpProperties": {
+ "$ref": "#/definitions/VpnLinkBgpSettings",
+ "description": "The set of bgp properties."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN site link resource."
+ }
+ },
+ "description": "Parameters for VpnSite."
+ },
+ "VpnSiteLink": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnSiteLinkProperties",
+ "description": "Properties of the VPN site link."
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "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."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "VpnSiteLink Resource."
+ },
+ "ListVpnSiteLinksResult": {
+ "description": "Result of the request to list VpnSiteLinks. It contains a list of VpnSiteLinks and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnSiteLink"
+ },
+ "description": "List of VpnSitesLinks."
+ },
+ "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."
+ }
+ },
+ "required": [
+ "outputBlobSasUrl"
+ ],
+ "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."
+ },
+ "azureFirewall": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The azureFirewall 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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual hub resource."
+ },
+ "securityProviderName": {
+ "type": "string",
+ "description": "The Security Provider name."
+ }
+ },
+ "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",
+ "description": "Properties of the virtual hub."
+ },
+ "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": "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN gateway resource."
+ },
+ "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",
+ "description": "Properties of the VPN gateway."
+ },
+ "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": "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."
+ },
+ "usePolicyBasedTrafficSelectors": {
+ "type": "boolean",
+ "description": "Enable policy-based traffic selectors."
+ },
+ "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."
+ },
+ "useLocalAzureIpAddress": {
+ "type": "boolean",
+ "description": "Use local azure ip to initiate connection."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN connection resource."
+ },
+ "vpnLinkConnections": {
+ "type": "array",
+ "description": "List of all vpn site link connections to the gateway.",
+ "items": {
+ "$ref": "#/definitions/VpnSiteLinkConnection"
+ }
+ }
+ },
+ "description": "Parameters for VpnConnection."
+ },
+ "VpnConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnConnectionProperties",
+ "description": "Properties of the VPN connection."
+ },
+ "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": "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."
+ }
+ }
+ },
+ "VpnSiteLinkConnectionProperties": {
+ "properties": {
+ "vpnSiteLink": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Id of the connected vpn site link."
+ },
+ "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."
+ },
+ "usePolicyBasedTrafficSelectors": {
+ "type": "boolean",
+ "description": "Enable policy-based traffic selectors."
+ },
+ "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."
+ },
+ "useLocalAzureIpAddress": {
+ "type": "boolean",
+ "description": "Use local azure ip to initiate connection."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the VPN site link connection resource."
+ }
+ },
+ "description": "Parameters for VpnConnection."
+ },
+ "VpnSiteLinkConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnSiteLinkConnectionProperties",
+ "description": "Properties of the VPN site link connection."
+ },
+ "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": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "VpnSiteLinkConnection Resource."
+ },
+ "ListVpnSiteLinkConnectionsResult": {
+ "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/VpnSiteLinkConnection"
+ },
+ "description": "List of VpnSiteLinkConnections."
+ },
+ "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": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the hub virtual network connection resource."
+ }
+ },
+ "description": "Parameters for HubVirtualNetworkConnection."
+ },
+ "HubVirtualNetworkConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HubVirtualNetworkConnectionProperties",
+ "description": "Properties of the hub virtual network connection."
+ },
+ "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": "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": "List of VirtualWAN security providers."
+ }
+ },
+ "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."
+ },
+ "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
+ }
+ },
+ "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
+ }
+ },
+ "VpnServerConfigVpnClientRootCertificate": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The certificate name."
+ },
+ "publicCertData": {
+ "type": "string",
+ "description": "The certificate public data."
+ }
+ },
+ "description": "Properties of VPN client root certificate of VpnServerConfiguration."
+ },
+ "VpnServerConfigRadiusServerRootCertificate": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The certificate name."
+ },
+ "publicCertData": {
+ "type": "string",
+ "description": "The certificate public data."
+ }
+ },
+ "description": "Properties of Radius Server root certificate of VpnServerConfiguration."
+ },
+ "VpnServerConfigVpnClientRevokedCertificate": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The certificate name."
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "The revoked VPN client certificate thumbprint."
+ }
+ },
+ "description": "Properties of the revoked VPN client certificate of VpnServerConfiguration."
+ },
+ "VpnServerConfigRadiusClientRootCertificate": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The certificate name."
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "The Radius client root certificate thumbprint."
+ }
+ },
+ "description": "Properties of the Radius client root certificate of VpnServerConfiguration."
+ },
+ "AadAuthenticationParameters": {
+ "properties": {
+ "aadTenant": {
+ "type": "string",
+ "description": "AAD Vpn authentication parameter AAD tenant."
+ },
+ "aadAudience": {
+ "type": "string",
+ "description": "AAD Vpn authentication parameter AAD audience."
+ },
+ "aadIssuer": {
+ "type": "string",
+ "description": "AAD Vpn authentication parameter AAD issuer."
+ }
+ },
+ "description": "AAD Vpn authentication type related parameters."
+ },
+ "VpnServerConfigurationProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the VpnServerConfiguration that is unique within a resource group."
+ },
+ "vpnProtocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "VPN protocol enabled for the VpnServerConfiguration.",
+ "enum": [
+ "IkeV2",
+ "OpenVPN"
+ ],
+ "x-ms-enum": {
+ "name": "VpnGatewayTunnelingProtocol",
+ "modelAsString": true
+ }
+ },
+ "description": "VPN protocols for the VpnServerConfiguration."
+ },
+ "vpnAuthenticationTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "VPN authentication types enabled for the VpnServerConfiguration.",
+ "enum": [
+ "Certificate",
+ "Radius",
+ "AAD"
+ ],
+ "x-ms-enum": {
+ "name": "VpnAuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "description": "VPN authentication types for the VpnServerConfiguration."
+ },
+ "vpnServerConfigVpnClientRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnServerConfigVpnClientRootCertificate"
+ },
+ "description": "VPN client root certificate of VpnServerConfiguration."
+ },
+ "vpnServerConfigVpnClientRevokedCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnServerConfigVpnClientRevokedCertificate"
+ },
+ "description": "VPN client revoked certificate of VpnServerConfiguration."
+ },
+ "vpnServerConfigRadiusServerRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnServerConfigRadiusServerRootCertificate"
+ },
+ "description": "Radius Server root certificate of VpnServerConfiguration."
+ },
+ "vpnServerConfigRadiusClientRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnServerConfigRadiusClientRootCertificate"
+ },
+ "description": "Radius client root certificate of VpnServerConfiguration."
+ },
+ "vpnClientIpsecPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "./virtualNetworkGateway.json#/definitions/IpsecPolicy"
+ },
+ "description": "VpnClientIpsecPolicies for VpnServerConfiguration."
+ },
+ "radiusServerAddress": {
+ "type": "string",
+ "description": "The radius server address property of the VpnServerConfiguration resource for point to site client connection."
+ },
+ "radiusServerSecret": {
+ "type": "string",
+ "description": "The radius secret property of the VpnServerConfiguration resource for point to site client connection."
+ },
+ "aadAuthenticationParameters": {
+ "$ref": "#/definitions/AadAuthenticationParameters",
+ "description": "The set of aad vpn authentication parameters."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ },
+ "p2SVpnGateways": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ },
+ "description": "List of references to P2SVpnGateways."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "description": "Parameters for VpnServerConfiguration."
+ },
+ "VpnServerConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnServerConfigurationProperties",
+ "description": "Properties of the P2SVpnServer 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",
+ "readOnly": true,
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "VpnServerConfiguration Resource."
+ },
+ "ListVpnServerConfigurationsResult": {
+ "description": "Result of the request to list all VpnServerConfigurations. It contains a list of VpnServerConfigurations and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnServerConfiguration"
+ },
+ "description": "List of VpnServerConfigurations."
+ },
+ "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."
+ },
+ "p2sConnectionConfigurations": {
+ "type": "array",
+ "description": "List of all p2s connection configurations of the gateway.",
+ "items": {
+ "$ref": "#/definitions/P2SConnectionConfiguration"
+ }
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the P2S VPN gateway resource."
+ },
+ "vpnGatewayScaleUnit": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The scale unit for this p2s vpn gateway."
+ },
+ "vpnServerConfiguration": {
+ "$ref": "#/definitions/VpnServerConfiguration",
+ "description": "The VpnServerConfiguration to which the p2sVpnGateway is attached to."
+ },
+ "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",
+ "description": "Properties of the P2SVpnGateway."
+ },
+ "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": "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": {
+ "$ref": "./network.json#/definitions/AuthenticationMethod",
+ "description": "VPN client authentication method."
+ }
+ },
+ "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."
+ },
+ "VpnLinkBgpSettings": {
+ "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."
+ }
+ },
+ "description": "BGP settings details for a link."
+ },
+ "VpnLinkProviderProperties": {
+ "properties": {
+ "linkProviderName": {
+ "type": "string",
+ "description": "Name of the link provider."
+ },
+ "linkSpeedInMbps": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Link speed."
+ }
+ },
+ "description": "List of properties of a link provider."
+ },
+ "VpnServerConfigurationsResponse": {
+ "properties": {
+ "vpnServerConfigurationResourceIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "VpnServerConfiguration partial resource uri."
+ },
+ "description": "List of VpnServerConfigurations associated with VirtualWan."
+ }
+ },
+ "description": "VpnServerConfigurations list associated with VirtualWan Response."
+ },
+ "VirtualWanVpnProfileParameters": {
+ "properties": {
+ "vpnServerConfigurationResourceId": {
+ "type": "string",
+ "description": "VpnServerConfiguration partial resource uri with which VirtualWan is associated to."
+ },
+ "authenticationMethod": {
+ "$ref": "./network.json#/definitions/AuthenticationMethod",
+ "description": "VPN client authentication method."
+ }
+ },
+ "description": "Virtual Wan Vpn profile parameters Vpn profile generation."
+ },
+ "P2SVpnConnectionHealthRequest": {
+ "properties": {
+ "vpnUserNamesFilter": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "P2S vpn user name."
+ },
+ "description": "The list of p2s vpn user names whose p2s vpn connection detailed health to retrieve for."
+ },
+ "outputBlobSasUrl": {
+ "type": "string",
+ "description": "The sas-url to download the P2S Vpn connection health detail."
+ }
+ },
+ "description": "List of P2S Vpn connection health request."
+ },
+ "P2SVpnConnectionHealth": {
+ "properties": {
+ "sasUrl": {
+ "type": "string",
+ "description": "Returned sas url of the blob to which the p2s vpn connection detailed health will be written. "
+ }
+ },
+ "description": "P2S Vpn connection detailed health written to sas url."
+ },
+ "P2SConnectionConfigurationProperties": {
+ "properties": {
+ "vpnClientAddressPool": {
+ "$ref": "./virtualNetwork.json#/definitions/AddressSpace",
+ "description": "The reference of the address space resource which represents Address space for P2S VpnClient."
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the P2SConnectionConfiguration resource."
+ }
+ },
+ "description": "Parameters for P2SConnectionConfiguration."
+ },
+ "P2SConnectionConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/P2SConnectionConfigurationProperties",
+ "description": "Properties of the P2S connection 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",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "P2SConnectionConfiguration Resource."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/vmssNetworkInterface.json
new file mode 100644
index 000000000000..240fef9acf6a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/vmssNetworkInterface.json
@@ -0,0 +1,344 @@
+{
+ "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-10-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.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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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/2019-08-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/vmssPublicIpAddress.json
new file mode 100644
index 000000000000..da260b0ce451
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/vmssPublicIpAddress.json
@@ -0,0 +1,223 @@
+{
+ "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-10-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.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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionVmssParameter"
+ },
+ {
+ "$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/2019-08-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/webapplicationfirewall.json
new file mode 100644
index 000000000000..d25017dbb9bd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/webapplicationfirewall.json
@@ -0,0 +1,695 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-08-01",
+ "title": "WebApplicationFirewallManagement",
+ "description": "APIs to manage web application firewall rules."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": {
+ "get": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Lists all of the protection policies within a resource group.",
+ "operationId": "WebApplicationFirewallPolicies_List",
+ "x-ms-examples": {
+ "Lists all WAF policies in a resource group": {
+ "$ref": "./examples/WafListPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "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": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicyListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": {
+ "get": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Gets all the WAF policies in a subscription.",
+ "operationId": "WebApplicationFirewallPolicies_ListAll",
+ "x-ms-examples": {
+ "Lists all WAF policies in a subscription": {
+ "$ref": "./examples/WafListAllPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicyListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Retrieve protection policy with specified name within a resource group.",
+ "operationId": "WebApplicationFirewallPolicies_Get",
+ "x-ms-examples": {
+ "Gets a WAF policy within a resource group": {
+ "$ref": "./examples/WafPolicyGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 128,
+ "description": "The name of the policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Creates or update policy with specified rule set name within a resource group.",
+ "operationId": "WebApplicationFirewallPolicies_CreateOrUpdate",
+ "x-ms-examples": {
+ "Creates or updates a WAF policy within a resource group": {
+ "$ref": "./examples/WafPolicyCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 128,
+ "description": "The name of the policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "description": "Policy to be created.",
+ "in": "body",
+ "name": "parameters",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ }
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new protection policy has been created.",
+ "schema": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Deletes Policy.",
+ "operationId": "WebApplicationFirewallPolicies_Delete",
+ "x-ms-examples": {
+ "Deletes a WAF policy within a resource group": {
+ "$ref": "./examples/WafPolicyDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 128,
+ "description": "The name of the policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the policy was not found."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "WebApplicationFirewallPolicy": {
+ "description": "Defines web application firewall policy.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WebApplicationFirewallPolicyPropertiesFormat",
+ "description": "Properties of the web application firewall policy."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "WebApplicationFirewallPolicyPropertiesFormat": {
+ "description": "Defines web application firewall policy properties.",
+ "required": [
+ "managedRules"
+ ],
+ "properties": {
+ "policySettings": {
+ "description": "Describes policySettings for policy.",
+ "$ref": "#/definitions/PolicySettings"
+ },
+ "customRules": {
+ "description": "Describes custom rules inside the policy.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WebApplicationFirewallCustomRule"
+ }
+ },
+ "applicationGateways": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./applicationGateway.json#/definitions/ApplicationGateway"
+ },
+ "description": "A collection of references to application gateways."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the web application firewall policy resource."
+ },
+ "resourceState": {
+ "title": "Resource status of the policy.",
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource status of the policy.",
+ "enum": [
+ "Creating",
+ "Enabling",
+ "Enabled",
+ "Disabling",
+ "Disabled",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallPolicyResourceState",
+ "modelAsString": true
+ }
+ },
+ "managedRules": {
+ "description": "Describes the managedRules structure",
+ "$ref": "#/definitions/ManagedRulesDefinition"
+ }
+ }
+ },
+ "WebApplicationFirewallPolicyListResult": {
+ "description": "Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/WebApplicationFirewallPolicy"
+ },
+ "description": "List of WebApplicationFirewallPolicies within a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any."
+ }
+ }
+ },
+ "ManagedRulesDefinition": {
+ "description": "Allow to exclude some variable satisfy the condition for the WAF check.",
+ "required": [
+ "managedRuleSets"
+ ],
+ "properties": {
+ "exclusions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OwaspCrsExclusionEntry"
+ },
+ "description": "Describes the Exclusions that are applied on the policy."
+ },
+ "managedRuleSets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleSet"
+ },
+ "description": "Describes the ruleSets that are associated with the policy."
+ }
+ }
+ },
+ "PolicySettings": {
+ "description": "Defines contents of a web application firewall global configuration.",
+ "properties": {
+ "state": {
+ "description": "Describes if the policy is in enabled state or disabled state.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallEnabledState",
+ "modelAsString": true
+ }
+ },
+ "mode": {
+ "description": "Describes if it is in detection mode or prevention mode at policy level.",
+ "type": "string",
+ "enum": [
+ "Prevention",
+ "Detection"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallMode",
+ "modelAsString": true
+ }
+ },
+ "requestBodyCheck": {
+ "type": "boolean",
+ "description": "Whether to allow WAF to check request Body."
+ },
+ "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",
+ "minimum": 0,
+ "exclusiveMinimum": false,
+ "description": "Maximum file upload size in Mb for WAF."
+ }
+ }
+ },
+ "WebApplicationFirewallCustomRule": {
+ "description": "Defines contents of a web application rule.",
+ "required": [
+ "priority",
+ "ruleType",
+ "matchConditions",
+ "action"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a policy. This name can be used to access the resource.",
+ "maxLength": 128
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "priority": {
+ "description": "Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.",
+ "type": "integer"
+ },
+ "ruleType": {
+ "description": "Describes type of rule.",
+ "type": "string",
+ "enum": [
+ "MatchRule",
+ "Invalid"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallRuleType",
+ "modelAsString": true
+ }
+ },
+ "matchConditions": {
+ "description": "List of match conditions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MatchCondition"
+ }
+ },
+ "action": {
+ "description": "Type of Actions.",
+ "type": "string",
+ "enum": [
+ "Allow",
+ "Block",
+ "Log"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallAction",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Transform": {
+ "description": "Describes what transforms applied before matching.",
+ "type": "string",
+ "enum": [
+ "Lowercase",
+ "Trim",
+ "UrlDecode",
+ "UrlEncode",
+ "RemoveNulls",
+ "HtmlEntityDecode"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallTransform",
+ "modelAsString": true
+ }
+ },
+ "MatchVariable": {
+ "description": "Define match variables.",
+ "required": [
+ "variableName"
+ ],
+ "properties": {
+ "variableName": {
+ "description": "Match Variable.",
+ "type": "string",
+ "enum": [
+ "RemoteAddr",
+ "RequestMethod",
+ "QueryString",
+ "PostArgs",
+ "RequestUri",
+ "RequestHeaders",
+ "RequestBody",
+ "RequestCookies"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallMatchVariable",
+ "modelAsString": true
+ }
+ },
+ "selector": {
+ "description": "Describes field of the matchVariable collection.",
+ "type": "string"
+ }
+ }
+ },
+ "MatchCondition": {
+ "description": "Define match conditions.",
+ "required": [
+ "matchVariables",
+ "operator",
+ "matchValues"
+ ],
+ "properties": {
+ "matchVariables": {
+ "description": "List of match variables.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MatchVariable"
+ }
+ },
+ "operator": {
+ "description": "Describes operator to be matched.",
+ "type": "string",
+ "enum": [
+ "IPMatch",
+ "Equal",
+ "Contains",
+ "LessThan",
+ "GreaterThan",
+ "LessThanOrEqual",
+ "GreaterThanOrEqual",
+ "BeginsWith",
+ "EndsWith",
+ "Regex"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallOperator",
+ "modelAsString": true
+ }
+ },
+ "negationConditon": {
+ "description": "Describes if this is negate condition or not.",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "Match value.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Transform"
+ }
+ }
+ }
+ },
+ "ManagedRuleSet": {
+ "type": "object",
+ "description": "Defines a managed rule set.",
+ "required": [
+ "ruleSetType",
+ "ruleSetVersion"
+ ],
+ "properties": {
+ "ruleSetType": {
+ "description": "Defines the rule set type to use.",
+ "type": "string"
+ },
+ "ruleSetVersion": {
+ "description": "Defines the version of the rule set to use.",
+ "type": "string"
+ },
+ "ruleGroupOverrides": {
+ "description": "Defines the rule group overrides to apply to the rule set.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleGroupOverride"
+ }
+ }
+ }
+ },
+ "ManagedRuleGroupOverride": {
+ "description": "Defines a managed rule group override setting.",
+ "required": [
+ "ruleGroupName"
+ ],
+ "properties": {
+ "ruleGroupName": {
+ "description": "Describes the managed rule group to override.",
+ "type": "string"
+ },
+ "rules": {
+ "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleOverride"
+ }
+ }
+ }
+ },
+ "ManagedRuleOverride": {
+ "description": "Defines a managed rule group override setting.",
+ "required": [
+ "ruleId"
+ ],
+ "properties": {
+ "ruleId": {
+ "description": "Identifier for the managed rule.",
+ "type": "string"
+ },
+ "state": {
+ "description": "Describes the state of the managed rule. Defaults to Disabled if not specified.",
+ "type": "string",
+ "enum": [
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedRuleEnabledState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "OwaspCrsExclusionEntry": {
+ "required": [
+ "matchVariable",
+ "selectorMatchOperator",
+ "selector"
+ ],
+ "description": "Allow to exclude some variable satisfy the condition for the WAF check.",
+ "properties": {
+ "matchVariable": {
+ "type": "string",
+ "enum": [
+ "RequestHeaderNames",
+ "RequestCookieNames",
+ "RequestArgNames"
+ ],
+ "description": "The variable to be excluded.",
+ "x-ms-enum": {
+ "name": "OwaspCrsExclusionEntryMatchVariable",
+ "modelAsString": true
+ }
+ },
+ "selectorMatchOperator": {
+ "type": "string",
+ "enum": [
+ "Equals",
+ "Contains",
+ "StartsWith",
+ "EndsWith",
+ "EqualsAny"
+ ],
+ "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to.",
+ "x-ms-enum": {
+ "name": "OwaspCrsExclusionEntrySelectorMatchOperator",
+ "modelAsString": true
+ }
+ },
+ "selector": {
+ "type": "string",
+ "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/readme.go.md b/specification/network/resource-manager/readme.go.md
index 26f5f51627a7..756be5069dbe 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-2019-08
+ - tag: package-2019-07
- tag: package-2019-06
- tag: package-2019-04
- tag: package-2019-02
@@ -39,6 +41,24 @@ batch:
- tag: package-2015-05-preview
```
+### Tag: package-2019-08 and go
+
+These settings apply only when `--tag=package-2019-08 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-08' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-08-01/$(namespace)
+```
+
+### Tag: package-2019-07 and go
+
+These settings apply only when `--tag=package-2019-07 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-07' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-07-01/$(namespace)
+```
+
### Tag: package-2019-06 and go
These settings apply only when `--tag=package-2019-06 --go` is specified on the command line.
diff --git a/specification/network/resource-manager/readme.java.md b/specification/network/resource-manager/readme.java.md
index 0c7b468e5551..ee90dba87896 100644
--- a/specification/network/resource-manager/readme.java.md
+++ b/specification/network/resource-manager/readme.java.md
@@ -16,6 +16,8 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-network
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2019-08
+ - tag: package-2019-07
- tag: package-2019-06
- tag: package-2019-04
- tag: package-2019-02
@@ -27,6 +29,32 @@ batch:
- tag: package-2017-10
```
+### Tag: package-2019-08 and java
+
+These settings apply only when `--tag=package-2019-08 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-08' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.network.v2019_08_01
+ output-folder: $(azure-libraries-for-java-folder)/network/resource-manager/v2019_08_01
+ regenerate-manager: true
+ generate-interface: true
+```
+
+### Tag: package-2019-07 and java
+
+These settings apply only when `--tag=package-2019-07 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.network.v2019_07_01
+ output-folder: $(azure-libraries-for-java-folder)/network/resource-manager/v2019_07_01
+ regenerate-manager: true
+ generate-interface: true
+```
+
### Tag: package-2019-06 and java
These settings apply only when `--tag=package-2019-06 --java` is specified on the command line.
diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md
index a5f7816f0127..e8ef6776f8c3 100644
--- a/specification/network/resource-manager/readme.md
+++ b/specification/network/resource-manager/readme.md
@@ -28,15 +28,115 @@ These are the global settings for the Network API.
title: NetworkManagementClient
description: Network Client
openapi-type: arm
-tag: package-2019-06
+tag: package-2019-08
```
+### Tag: package-2019-08
+
+These settings apply only when `--tag=package-2019-08` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-08'
+input-file:
+ - Microsoft.Network/stable/2019-08-01/applicationGateway.json
+ - Microsoft.Network/stable/2019-08-01/applicationSecurityGroup.json
+ - Microsoft.Network/stable/2019-08-01/availableDelegations.json
+ - Microsoft.Network/stable/2019-08-01/availableServiceAliases.json
+ - Microsoft.Network/stable/2019-08-01/azureFirewall.json
+ - Microsoft.Network/stable/2019-08-01/azureFirewallFqdnTag.json
+ - Microsoft.Network/stable/2019-08-01/bastionHost.json
+ - Microsoft.Network/stable/2019-08-01/checkDnsAvailability.json
+ - Microsoft.Network/stable/2019-08-01/ddosCustomPolicy.json
+ - Microsoft.Network/stable/2019-08-01/ddosProtectionPlan.json
+ - Microsoft.Network/stable/2019-08-01/endpointService.json
+ - Microsoft.Network/stable/2019-08-01/expressRouteCircuit.json
+ - Microsoft.Network/stable/2019-08-01/expressRouteCrossConnection.json
+ - Microsoft.Network/stable/2019-08-01/expressRouteGateway.json
+ - Microsoft.Network/stable/2019-08-01/expressRoutePort.json
+ - Microsoft.Network/stable/2019-08-01/firewallPolicy.json
+ - Microsoft.Network/stable/2019-08-01/loadBalancer.json
+ - Microsoft.Network/stable/2019-08-01/natGateway.json
+ - Microsoft.Network/stable/2019-08-01/network.json
+ - Microsoft.Network/stable/2019-08-01/networkInterface.json
+ - Microsoft.Network/stable/2019-08-01/networkProfile.json
+ - Microsoft.Network/stable/2019-08-01/networkSecurityGroup.json
+ - Microsoft.Network/stable/2019-08-01/networkWatcher.json
+ - Microsoft.Network/stable/2019-06-01/networkWatcherConnectionMonitorV1.json
+ - Microsoft.Network/stable/2019-08-01/operation.json
+ - Microsoft.Network/stable/2019-08-01/privateEndpoint.json
+ - Microsoft.Network/stable/2019-08-01/privateLinkService.json
+ - Microsoft.Network/stable/2019-08-01/publicIpAddress.json
+ - Microsoft.Network/stable/2019-08-01/publicIpPrefix.json
+ - Microsoft.Network/stable/2019-08-01/routeFilter.json
+ - Microsoft.Network/stable/2019-08-01/routeTable.json
+ - Microsoft.Network/stable/2019-08-01/serviceCommunity.json
+ - Microsoft.Network/stable/2019-08-01/serviceEndpointPolicy.json
+ - Microsoft.Network/stable/2019-08-01/serviceTags.json
+ - Microsoft.Network/stable/2019-08-01/usage.json
+ - Microsoft.Network/stable/2019-08-01/virtualNetwork.json
+ - Microsoft.Network/stable/2019-08-01/virtualNetworkGateway.json
+ - Microsoft.Network/stable/2019-08-01/virtualNetworkTap.json
+ - Microsoft.Network/stable/2019-08-01/virtualRouter.json
+ - Microsoft.Network/stable/2019-08-01/virtualWan.json
+ - Microsoft.Network/stable/2019-08-01/vmssNetworkInterface.json
+ - Microsoft.Network/stable/2019-08-01/vmssPublicIpAddress.json
+ - Microsoft.Network/stable/2019-08-01/webapplicationfirewall.json
+```
+### Tag: package-2019-07
+
+These settings apply only when `--tag=package-2019-07` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-07'
+input-file:
+ - Microsoft.Network/stable/2019-07-01/applicationGateway.json
+ - Microsoft.Network/stable/2019-07-01/applicationSecurityGroup.json
+ - Microsoft.Network/stable/2019-07-01/availableDelegations.json
+ - Microsoft.Network/stable/2019-07-01/azureFirewall.json
+ - Microsoft.Network/stable/2019-07-01/azureFirewallFqdnTag.json
+ - Microsoft.Network/stable/2019-07-01/bastionHost.json
+ - Microsoft.Network/stable/2019-07-01/checkDnsAvailability.json
+ - Microsoft.Network/stable/2019-07-01/ddosCustomPolicy.json
+ - Microsoft.Network/stable/2019-07-01/ddosProtectionPlan.json
+ - Microsoft.Network/stable/2019-07-01/endpointService.json
+ - Microsoft.Network/stable/2019-07-01/expressRouteCircuit.json
+ - Microsoft.Network/stable/2019-07-01/expressRouteCrossConnection.json
+ - Microsoft.Network/stable/2019-07-01/expressRouteGateway.json
+ - Microsoft.Network/stable/2019-07-01/expressRoutePort.json
+ - Microsoft.Network/stable/2019-07-01/firewallPolicy.json
+ - Microsoft.Network/stable/2019-07-01/loadBalancer.json
+ - Microsoft.Network/stable/2019-07-01/natGateway.json
+ - Microsoft.Network/stable/2019-07-01/network.json
+ - Microsoft.Network/stable/2019-07-01/networkInterface.json
+ - Microsoft.Network/stable/2019-07-01/networkProfile.json
+ - Microsoft.Network/stable/2019-07-01/networkSecurityGroup.json
+ - Microsoft.Network/stable/2019-07-01/networkWatcher.json
+ - Microsoft.Network/stable/2019-06-01/networkWatcherConnectionMonitorV1.json
+ - Microsoft.Network/stable/2019-07-01/operation.json
+ - Microsoft.Network/stable/2019-07-01/privateEndpoint.json
+ - Microsoft.Network/stable/2019-07-01/privateLinkService.json
+ - Microsoft.Network/stable/2019-07-01/publicIpAddress.json
+ - Microsoft.Network/stable/2019-07-01/publicIpPrefix.json
+ - Microsoft.Network/stable/2019-07-01/routeFilter.json
+ - Microsoft.Network/stable/2019-07-01/routeTable.json
+ - Microsoft.Network/stable/2019-07-01/serviceCommunity.json
+ - Microsoft.Network/stable/2019-07-01/serviceEndpointPolicy.json
+ - Microsoft.Network/stable/2019-07-01/serviceTags.json
+ - Microsoft.Network/stable/2019-07-01/usage.json
+ - Microsoft.Network/stable/2019-07-01/virtualNetwork.json
+ - Microsoft.Network/stable/2019-07-01/virtualNetworkGateway.json
+ - Microsoft.Network/stable/2019-07-01/virtualNetworkTap.json
+ - Microsoft.Network/stable/2019-07-01/virtualRouter.json
+ - Microsoft.Network/stable/2019-07-01/virtualWan.json
+ - Microsoft.Network/stable/2019-07-01/vmssNetworkInterface.json
+ - Microsoft.Network/stable/2019-07-01/vmssPublicIpAddress.json
+ - Microsoft.Network/stable/2019-07-01/webapplicationfirewall.json
+```
+
### Tag: package-2019-06
These settings apply only when `--tag=package-2019-06` is specified on the command line.
-```yaml $(tag) == 'package-2019-06'
+``` yaml $(tag) == 'package-2019-06'
input-file:
- Microsoft.Network/stable/2019-06-01/applicationGateway.json
- Microsoft.Network/stable/2019-06-01/applicationSecurityGroup.json
@@ -60,6 +160,7 @@ input-file:
- Microsoft.Network/stable/2019-06-01/networkProfile.json
- Microsoft.Network/stable/2019-06-01/networkSecurityGroup.json
- Microsoft.Network/stable/2019-06-01/networkWatcher.json
+ - Microsoft.Network/stable/2019-06-01/networkWatcherConnectionMonitorV1.json
- Microsoft.Network/stable/2019-06-01/operation.json
- Microsoft.Network/stable/2019-06-01/privateEndpoint.json
- Microsoft.Network/stable/2019-06-01/privateLinkService.json
@@ -79,6 +180,7 @@ input-file:
- Microsoft.Network/stable/2019-06-01/vmssPublicIpAddress.json
- Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json
```
+
### Tag: package-2019-04
These settings apply only when `--tag=package-2019-04` is specified on the command line.
@@ -1023,6 +1125,9 @@ directive:
- suppress: RequiredPropertiesMissingInResourceModel
from: virtualNetworkTap.json
reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: virtualRouter.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
@@ -1175,7 +1280,7 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## Multi-API/Profile support for AutoRest v3 generators
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -1187,6 +1292,90 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/applicationGateway.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/applicationSecurityGroup.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/availableDelegations.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/availableServiceAliases.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/azureFirewall.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/azureFirewallFqdnTag.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/bastionHost.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/checkDnsAvailability.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/ddosCustomPolicy.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/ddosProtectionPlan.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/endpointService.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/expressRouteCircuit.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/expressRouteCrossConnection.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/expressRouteGateway.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/expressRoutePort.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/firewallPolicy.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/loadBalancer.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/natGateway.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/network.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/networkInterface.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/networkProfile.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/networkSecurityGroup.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/networkWatcher.json
+ - $(this-folder)/Microsoft.Network/stable/2019-06-01/networkWatcherConnectionMonitorV1.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/operation.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/privateEndpoint.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/privateLinkService.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/publicIpAddress.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/publicIpPrefix.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/routeFilter.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/routeTable.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/serviceCommunity.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/serviceEndpointPolicy.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/serviceTags.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/usage.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/virtualNetwork.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/virtualNetworkGateway.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/virtualNetworkTap.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/virtualRouter.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/virtualWan.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/vmssNetworkInterface.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/vmssPublicIpAddress.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/webapplicationfirewall.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/applicationGateway.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/applicationSecurityGroup.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/availableDelegations.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/azureFirewall.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/azureFirewallFqdnTag.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/bastionHost.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/checkDnsAvailability.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/ddosCustomPolicy.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/ddosProtectionPlan.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/endpointService.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/expressRouteCircuit.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/expressRouteCrossConnection.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/expressRouteGateway.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/expressRoutePort.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/firewallPolicy.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/loadBalancer.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/natGateway.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/network.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/networkInterface.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/networkProfile.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/networkSecurityGroup.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/networkWatcher.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/operation.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/privateEndpoint.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/privateLinkService.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/publicIpAddress.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/publicIpPrefix.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/routeFilter.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/routeTable.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/serviceCommunity.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/serviceEndpointPolicy.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/serviceTags.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/usage.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/virtualNetwork.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/virtualNetworkGateway.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/virtualNetworkTap.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/virtualRouter.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/virtualWan.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/vmssNetworkInterface.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/vmssPublicIpAddress.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/webapplicationfirewall.json
- $(this-folder)/Microsoft.Network/stable/2019-06-01/applicationGateway.json
- $(this-folder)/Microsoft.Network/stable/2019-06-01/applicationSecurityGroup.json
- $(this-folder)/Microsoft.Network/stable/2019-06-01/availableDelegations.json
@@ -1715,11 +1904,10 @@ input-file:
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/network/resource-manager/readme.python.md b/specification/network/resource-manager/readme.python.md
index 17e05a480c22..c453d27ff2e2 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-2019-08
+ - tag: package-2019-07
- tag: package-2019-06
- tag: package-2019-04
- tag: package-2019-02
@@ -41,6 +43,28 @@ batch:
- tag: package-2015-06split
```
+### Tag: package-2019-08 and python
+
+These settings apply only when `--tag=package-2019-08 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-08' && $(python)
+python:
+ namespace: azure.mgmt.network.v2019_08_01
+ output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2019_08_01
+```
+
+### Tag: package-2019-07 and python
+
+These settings apply only when `--tag=package-2019-07 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-07' && $(python)
+python:
+ namespace: azure.mgmt.network.v2019_07_01
+ output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2019_07_01
+```
+
### Tag: package-2019-06 and python
These settings apply only when `--tag=package-2019-06 --python` is specified on the command line.
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/OperationalInsights.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/OperationalInsights.json
index 963a79523ec0..8e81711548dc 100644
--- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/OperationalInsights.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/OperationalInsights.json
@@ -1347,15 +1347,18 @@
},
"source": {
"type": "string",
- "description": "The source of the workspace. Source defines where the workspace was created. 'Azure' implies it was created in Azure. 'External' implies it was created via the Operational Insights Portal. This value is set on the service side and read-only on the client side."
+ "description": "This is a read-only legacy property. It is always set to 'Azure' by the service. Kept here for backward compatibility.",
+ "readOnly": true
},
"customerId": {
"type": "string",
- "description": "The ID associated with the workspace. Setting this value at creation time allows the workspace being created to be linked to an existing workspace."
+ "description": "This is a read-only property. Represents the ID associated with the workspace.",
+ "readOnly": true
},
"portalUrl": {
"type": "string",
- "description": "The URL of the Operational Insights portal for this workspace. This value is set on the service side and read-only on the client side."
+ "description": "This is a legacy property and is not used anymore. Kept here for backward compatibility.",
+ "readOnly": true
},
"sku": {
"$ref": "#/definitions/Sku",
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesUpdate.json
index 39e42f4a358b..05db22c20500 100644
--- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesUpdate.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesUpdate.json
@@ -4,7 +4,10 @@
"workspaceName": "oiautorest6685",
"parameters": {
"properties": {
- "customerId": "6c576b6a-75d3-4ff9-bc23-28d524e52f5b"
+ "sku": {
+ "name": "PerNode"
+ },
+ "retentionInDays": 30
},
"location": "australiasoutheast"
},
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/Clusters.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/Clusters.json
new file mode 100644
index 000000000000..19d29fd98e50
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/Clusters.json
@@ -0,0 +1,562 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Log Analytics",
+ "description": "Azure Log Analytics API reference",
+ "version": "2019-08-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.OperationalInsights/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "x-ms-examples": {
+ "ClustersGet": {
+ "$ref": "./examples/ClustersListByResourceGroup.json"
+ }
+ },
+ "operationId": "Clusters_ListByResourceGroup",
+ "description": "Gets Log Analytics clusters in a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition.",
+ "schema": {
+ "$ref": "#/definitions/ClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "x-ms-examples": {
+ "ClustersSubscriptionList": {
+ "$ref": "./examples/ClustersSubscriptionList.json"
+ }
+ },
+ "operationId": "Clusters_List",
+ "description": "Gets the Log Analytics clusters in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition.",
+ "schema": {
+ "$ref": "#/definitions/ClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/clusters/{clusterName}": {
+ "put": {
+ "tags": [
+ "Clusters"
+ ],
+ "x-ms-examples": {
+ "ClustersCreate": {
+ "$ref": "./examples/ClustersCreate.json"
+ }
+ },
+ "operationId": "Clusters_CreateOrUpdate",
+ "description": "Create or update a Log Analytics cluster.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the Log Analytics cluster."
+ },
+ {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ "minLength": 4,
+ "maxLength": 63,
+ "description": "The name of the Log Analytics cluster."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The parameters required to create or update a Log Analytics cluster."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Created response definition.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Clusters"
+ ],
+ "x-ms-examples": {
+ "ClustersDelete": {
+ "$ref": "./examples/ClustersDelete.json"
+ }
+ },
+ "operationId": "Clusters_Delete",
+ "description": "Deletes a cluster instance.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the Log Analytics cluster."
+ },
+ {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the Log Analytics Cluster."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition."
+ },
+ "204": {
+ "description": "NoContent response definition."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "x-ms-examples": {
+ "ClustersGet": {
+ "$ref": "./examples/ClustersGet.json"
+ }
+ },
+ "operationId": "Clusters_Get",
+ "description": "Gets a Log Analytics cluster instance.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the Log Analytics cluster."
+ },
+ {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the Log Analytics Cluster."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Clusters"
+ ],
+ "x-ms-examples": {
+ "ClustersPatch": {
+ "$ref": "./examples/ClustersUpdate.json"
+ }
+ },
+ "operationId": "Clusters_Update",
+ "description": "Updates a Log Analytics cluster.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the cluster."
+ },
+ {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ "minLength": 4,
+ "maxLength": 63,
+ "description": "The name of the cluster."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterPatch"
+ },
+ "description": "The parameters required to patch a Log Analytics cluster."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing cluster was successfully updated. Check provisioningStatus to see detailed status.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ClusterProperties": {
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of recommendations.",
+ "type": "string"
+ },
+ "clusterId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The ID associated with the cluster."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the cluster.",
+ "enum": [
+ "Creating",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Deleting",
+ "ProvisioningAccount"
+ ],
+ "x-ms-enum": {
+ "name": "EntityStatus",
+ "modelAsString": true
+ }
+ },
+ "encryptionKeyUri": {
+ "type": "string",
+ "description": "The Key Vault key or certificate path associated with the Log Analytics cluster."
+ }
+ },
+ "description": "Cluster properties."
+ },
+ "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"
+ }
+ }
+ },
+ "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
+ },
+ "target": {
+ "description": "The target of the particular error.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ClusterPatchProperties": {
+ "properties": {
+ "encryptionKeyUri": {
+ "type": "string",
+ "description": "The Key Vault key or certificate path associated with the Log Analytics cluster."
+ }
+ },
+ "description": "Log Analytics cluster patch properties."
+ },
+ "ClusterPatch": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ClusterPatchProperties",
+ "description": "Log Analytics cluster properties."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "The top level Log Analytics cluster resource container.",
+ "x-ms-azure-resource": true
+ },
+ "Cluster": {
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ClusterProperties",
+ "description": "Log Analytics cluster properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "The top level Log Analytics cluster resource container.",
+ "x-ms-azure-resource": true
+ },
+ "ClusterListResult": {
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of recommendations.",
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "A list of Log Analytics clusters."
+ }
+ },
+ "description": "The list clusters operation response."
+ },
+ "Identity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "description": "Identity for the resource."
+ },
+ "Resource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "The resource definition.",
+ "x-ms-azure-resource": 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."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The name of the resource group to get. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ }
+ }
+}
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersCreate.json
new file mode 100644
index 000000000000..7b1b0ca8bda4
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersCreate.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "resourceGroupName": "oiautorest6685",
+ "clusterName": "oiautorest6685",
+ "parameters": {
+ "properties": {
+ "encryptionKeyUri": "https://aztest2170.vault.azure.net/certificates/aztest2170cert/654ft6c4e63845cbb50fd6fg51540429"
+ },
+ "location": "australiasoutheast",
+ "tags": {
+ "tag1": "val1"
+ }
+ },
+ "api-version": "2019-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/clusters/aztest2170",
+ "identity": {
+ "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "type": "SystemAssigned"
+ },
+ "name": "AzTest2170",
+ "type": "Microsoft.OperationalInsights/clusters",
+ "location": "australiasoutheast",
+ "tags": {
+ "tag1": "val1"
+ },
+ "properties": {
+ "clusterId": "bc089d7b-485c-4aff-a71e-c00f362d8d2f",
+ "provisioningState": "Creating",
+ "encryptionKeyUri": "https://aztest2170.vault.azure.net/certificates/aztest2170cert/654ft6c4e63845cbb50fd6fg51540429"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/clusters/aztest2170",
+ "identity": {
+ "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "type": "SystemAssigned"
+ },
+ "name": "AzTest2170",
+ "type": "Microsoft.OperationalInsights/clusters",
+ "location": "australiasoutheast",
+ "tags": {
+ "tag1": "val1"
+ },
+ "properties": {
+ "clusterId": "bc089d7b-485c-4aff-a71e-c00f362d8d2f",
+ "provisioningState": "Creating",
+ "encryptionKeyUri": "https://aztest2170.vault.azure.net/certificates/aztest2170cert/654ft6c4e63845cbb50fd6fg51540429"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersDelete.json
new file mode 100644
index 000000000000..ef5a1aa640e8
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "resourceGroupName": "oiautorest6685",
+ "clusterName": "oiautorest6685",
+ "api-version": "2019-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersGet.json
new file mode 100644
index 000000000000..bbbd3287a60c
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersGet.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceGroupName": "oiautorest6685",
+ "clusterName": "oiautorest6685",
+ "api-version": "2019-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "properties": {
+ "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62",
+ "provisioningState": "Succeeded",
+ "encryptionKeyUri": "https://aztest2170.vault.azure.net/certificates/aztest2170cert/654ft6c4e63845cbb50fd6fg51540429"
+ },
+ "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/clusters/testresourcelock",
+ "identity": {
+ "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "type": "SystemAssigned"
+ },
+ "name": "TestResourceLock",
+ "type": "Microsoft.OperationalInsights/clusters",
+ "location": "eastus"
+ },
+ {
+ "properties": {
+ "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62",
+ "provisioningState": "Succeeded",
+ "encryptionKeyUri": "https://aztest2170.vault.azure.net/certificates/aztest2170cert/654ft6c4e63845cbb50fd6fg51540429"
+ },
+ "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/mms-eus/providers/microsoft.operationalinsights/clusters/southukws",
+ "identity": {
+ "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "type": "SystemAssigned"
+ },
+ "name": "SouthUKWS",
+ "type": "Microsoft.OperationalInsights/clusters",
+ "location": "East US"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersListByResourceGroup.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersListByResourceGroup.json
new file mode 100644
index 000000000000..a1ff7a25d694
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersListByResourceGroup.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "resourceGroupName": "oiautorest6685",
+ "api-version": "2019-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "properties": {
+ "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62",
+ "provisioningState": "Succeeded",
+ "encryptionKeyUri": "https://aztest2170.vault.azure.net/certificates/aztest2170cert/654ft6c4e63845cbb50fd6fg51540429"
+ },
+ "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/clusters/testresourcelock",
+ "identity": {
+ "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "type": "SystemAssigned"
+ },
+ "name": "TestResourceLock",
+ "type": "Microsoft.OperationalInsights/clusters",
+ "location": "eastus"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersSubscriptionList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersSubscriptionList.json
new file mode 100644
index 000000000000..1e7b4fe07231
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersSubscriptionList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "properties": {
+ "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62",
+ "provisioningState": "Succeeded",
+ "encryptionKeyUri": "https://aztest2170.vault.azure.net/certificates/aztest2170cert/654ft6c4e63845cbb50fd6fg51540429"
+ },
+ "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/clusters/testresourcelock",
+ "identity": {
+ "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "type": "SystemAssigned"
+ },
+ "name": "TestResourceLock",
+ "type": "Microsoft.OperationalInsights/clusters",
+ "location": "eastus"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersUpdate.json
new file mode 100644
index 000000000000..35a4720af359
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/ClustersUpdate.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "resourceGroupName": "oiautorest6685",
+ "clusterName": "oiautorest6685",
+ "parameters": {
+ "properties": {
+ "encryptionKeyUri": "https://aztest2170.vault.azure.net/certificates/aztest2170cert/654ft6c4e63845cbb50fd6fg51540429"
+ },
+ "tags": {
+ "tag1": "val1"
+ }
+ },
+ "api-version": "2019-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "encryptionKeyUri": "https://aztest2170.vault.azure.net/certificates/aztest2170cert/654ft6c4e63845cbb50fd6fg51540429"
+ },
+ "location": "australiasoutheast",
+ "tags": {
+ "tag1": "val1"
+ }
+ }
+ }
+ }
+}
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 fad3f6262e79..eb7579920be1 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
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "Azure Log Analytics",
- "description": "Azure Log Analytics API reference for LinkTargets, StorageInsightConfigs and SavedSearches.",
+ "description": "Azure Log Analytics API reference.",
"version": "2015-03-20"
},
"host": "management.azure.com",
@@ -413,49 +413,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchId}/results": {
- "get": {
- "tags": [
- "SavedSearches"
- ],
- "x-ms-examples": {
- "SaveSearchesListResults": {
- "$ref": "./examples/SavedSearchesGetResults.json"
- }
- },
- "operationId": "SavedSearches_GetResults",
- "description": "Gets the results from a saved search for a given workspace.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "name": "savedSearchId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The id of the saved search."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK response definition.",
- "schema": {
- "$ref": "#/definitions/SearchResultsResponse"
- }
- }
- }
- }
- },
"/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/schema": {
"post": {
"tags": [
@@ -492,104 +449,12 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search": {
- "post": {
- "tags": [
- "Workspaces"
- ],
- "x-ms-examples": {
- "WorkspacesGetSearchResults": {
- "$ref": "./examples/WorkspacesGetSearchResults.json"
- }
- },
- "operationId": "Workspaces_GetSearchResults",
- "description": "Submit a search for a given workspace. The response will contain an id to track the search. User can use the id to poll the search status and get the full search result later if the search takes long time to finish. ",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/SearchParameters"
- },
- "description": "The parameters required to execute a search query."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK response definition.",
- "schema": {
- "$ref": "#/definitions/SearchResultsResponse"
- }
- },
- "202": {
- "description": "Accepted response definition"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search/{id}": {
- "post": {
- "tags": [
- "Workspaces"
- ],
- "x-ms-examples": {
- "WorkspacesUpdateSearchResults": {
- "$ref": "./examples/WorkspacesUpdateSearchResults.json"
- }
- },
- "operationId": "Workspaces_UpdateSearchResults",
- "description": "Gets updated search results for a given search query.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "name": "id",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The id of the search that will have results updated. You can get the id from the response of the GetResults call."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK response definition.",
- "schema": {
- "$ref": "#/definitions/SearchResultsResponse"
- }
- }
- }
- }
- },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/purge": {
"post": {
"tags": [
"Workspaces"
],
- "description": "Purges data in an Log Analytics workspace by a set of user-defined filters.",
+ "description": "Purges data in an Log Analytics workspace by a set of user-defined filters.\n\nIn order to manage system resources, purge requests are throttled at 50 requests per hour. You should batch the execution of purge requests by sending a single command whose predicate includes all user identities that require purging. Use the in operator to specify multiple identities. You should run the query prior to using for a purge request to verify that the results are expected.",
"operationId": "Workspaces_Purge",
"parameters": [
{
@@ -1095,7 +960,7 @@
"__metadata": {
"x-ms-client-name": "Metadata",
"$ref": "#/definitions/SearchMetadata",
- "description": "The metadata from search results."
+ "description": "Unused legacy property, kept here for backward compatibility."
},
"value": {
"type": "array",
@@ -1107,45 +972,6 @@
},
"description": "The saved search list operation response."
},
- "SearchError": {
- "properties": {
- "type": {
- "type": "string",
- "description": "The error type."
- },
- "message": {
- "type": "string",
- "description": "The error message."
- }
- },
- "description": "Details for a search error."
- },
- "SearchResultsResponse": {
- "properties": {
- "id": {
- "type": "string",
- "readOnly": true,
- "description": "The id of the search, which includes the full url."
- },
- "metaData": {
- "x-ms-client-name": "Metadata",
- "$ref": "#/definitions/SearchMetadata",
- "description": "The metadata from search results."
- },
- "value": {
- "type": "array",
- "items": {
- "type": "object"
- },
- "description": "The array of result values."
- },
- "error": {
- "$ref": "#/definitions/SearchError",
- "description": "The error."
- }
- },
- "description": "The get search result operation response."
- },
"SearchSchemaValue": {
"properties": {
"name": {
@@ -1204,50 +1030,6 @@
},
"description": "The get schema operation response."
},
- "SearchHighlight": {
- "properties": {
- "pre": {
- "type": "string",
- "description": "The string that is put before a matched result."
- },
- "post": {
- "type": "string",
- "description": "The string that is put after a matched result."
- }
- },
- "description": "Highlight details."
- },
- "SearchParameters": {
- "properties": {
- "top": {
- "type": "integer",
- "format": "int64",
- "description": "The number to get from the top."
- },
- "highlight": {
- "$ref": "#/definitions/SearchHighlight",
- "description": "The highlight that looks for all occurrences of a string."
- },
- "query": {
- "type": "string",
- "description": "The query to search."
- },
- "start": {
- "type": "string",
- "format": "date-time",
- "description": "The start date filter, so the only query results returned are after this date."
- },
- "end": {
- "type": "string",
- "format": "date-time",
- "description": "The end date filter, so the only query results returned are before this date."
- }
- },
- "required": [
- "query"
- ],
- "description": "Parameters specifying the search query and range."
- },
"StorageAccount": {
"properties": {
"id": {
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/SavedSearchesGetResults.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/SavedSearchesGetResults.json
deleted file mode 100644
index 6b1e089a3160..000000000000
--- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/SavedSearchesGetResults.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "mms-eus",
- "workspaceName": "atlantisdemo",
- "savedSearchName": "test",
- "api-version": "2015-03-02",
- "subscriptionId": "00000000-0000-0000-0000-00000000000",
- "savedSearchId": "00000000-0000-0000-0000-00000000000"
- },
- "responses": {
- "200": {
- "body": {
- "id": "subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/atlantisdemo/search/06424b55-cd27-4d23-9c51-645d3370062c|2017-10-0223-15-30Z",
- "metaData": {
- "resultType": "raw",
- "total": 0,
- "requestId": "06424b55-cd27-4d23-9c51-645d3370062c|2017-10-0223-15-30Z",
- "status": "Pending",
- "coreSummaries": [
- {
- "numberOfDocuments": 0
- }
- ],
- "startTime": "2017-10-02T23:15:30.3363976Z",
- "lastUpdated": "2017-10-02T23:15:30.3676472Z",
- "eTag": "636425829303676472",
- "sort": [
- {
- "name": "TimeGenerated",
- "order": "desc"
- }
- ]
- },
- "value": []
- }
- }
- }
-}
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesGetSearchResults.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesGetSearchResults.json
deleted file mode 100644
index 41810053ee85..000000000000
--- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesGetSearchResults.json
+++ /dev/null
@@ -1,4918 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "mms-eus",
- "workspaceName": "atlantisdemo",
- "api-version": "2015-03-02",
- "parameters": {
- "top": 25,
- "query": "*"
- },
- "subscriptionId": "00000000-0000-0000-0000-00000000000"
- },
- "responses": {
- "200": {
- "body": {
- "metaData": {
- "schema": {
- "name": "CloudOps",
- "version": 2
- },
- "resultType": "schema",
- "requestTime": 28
- },
- "value": [
- {
- "name": "TenantId",
- "displayName": "TenantId",
- "type": "Guid",
- "indexed": true,
- "stored": false,
- "facet": false,
- "hidden": true,
- "display": false,
- "ownerType": [
- "Alert",
- "AzureActivity",
- "AzureAudit",
- "AzureMetrics",
- "ComputerGroup",
- "ETWEvent",
- "Event",
- "ExtraHopDBLogin",
- "ExtraHopDBTransaction",
- "ExtraHopDNSResponse",
- "ExtraHopFTPResponse",
- "ExtraHopHTTPTransaction",
- "ExtraHopSMTPMessage",
- "ExtraHopSYNScanDetect",
- "ExtraHopTCPOpen",
- "Heartbeat",
- "Operation",
- "Perf",
- "ReservedAzureCommonFields",
- "ReservedCommonFields",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent",
- "Syslog",
- "Usage",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "MG",
- "displayName": "MG",
- "type": "Guid",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": true,
- "display": false,
- "ownerType": [
- "Alert",
- "Event",
- "Heartbeat",
- "Operation",
- "Perf",
- "Syslog",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SourceSystem",
- "displayName": "SourceSystem",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert",
- "AzureActivity",
- "AzureAudit",
- "AzureMetrics",
- "ComputerGroup",
- "ETWEvent",
- "Event",
- "ExtraHopDBLogin",
- "ExtraHopDBTransaction",
- "ExtraHopDNSResponse",
- "ExtraHopFTPResponse",
- "ExtraHopHTTPTransaction",
- "ExtraHopSMTPMessage",
- "ExtraHopSYNScanDetect",
- "ExtraHopTCPOpen",
- "Heartbeat",
- "Operation",
- "Perf",
- "ReservedAzureCommonFields",
- "ReservedCommonFields",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent",
- "Syslog",
- "Usage",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "Description",
- "displayName": "Description",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "TimeGenerated",
- "displayName": "TimeGenerated",
- "type": "DateTime",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert",
- "AzureActivity",
- "AzureAudit",
- "AzureMetrics",
- "ComputerGroup",
- "ETWEvent",
- "Event",
- "ExtraHopDBLogin",
- "ExtraHopDBTransaction",
- "ExtraHopDNSResponse",
- "ExtraHopFTPResponse",
- "ExtraHopHTTPTransaction",
- "ExtraHopSMTPMessage",
- "ExtraHopSYNScanDetect",
- "ExtraHopTCPOpen",
- "Heartbeat",
- "Operation",
- "Perf",
- "ReservedAzureCommonFields",
- "ReservedCommonFields",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent",
- "Syslog",
- "Usage",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Computer",
- "displayName": "Computer",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert",
- "ComputerGroup",
- "ETWEvent",
- "Event",
- "Heartbeat",
- "Operation",
- "Perf",
- "ReservedCommonFields",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent",
- "Syslog",
- "Usage",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "HelpLink",
- "displayName": "HelpLink",
- "type": "Uri",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Operation"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertName",
- "displayName": "AlertName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertDescription",
- "displayName": "AlertDescription",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertState",
- "displayName": "AlertState",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "PriorityNumber",
- "displayName": "PriorityNumber",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "HostName",
- "displayName": "HostName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert",
- "Syslog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "StateType",
- "displayName": "StateType",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertSeverity",
- "displayName": "AlertSeverity",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SourceDisplayName",
- "displayName": "SourceDisplayName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "QueryExecutionStartTime",
- "displayName": "QueryExecutionStartTime",
- "type": "DateTime",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "QueryExecutionEndTime",
- "displayName": "QueryExecutionEndTime",
- "type": "DateTime",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Query",
- "displayName": "Query",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RemediationJobId",
- "displayName": "RemediationJobId",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RemediationRunbookName",
- "displayName": "RemediationRunbookName",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertRuleId",
- "displayName": "AlertRuleId",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertRuleInstanceId",
- "displayName": "AlertRuleInstanceId",
- "type": "Guid",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ThresholdOperator",
- "displayName": "ThresholdOperator",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ThresholdValue",
- "displayName": "ThresholdValue",
- "type": "Int",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "LinkToSearchResults",
- "displayName": "LinkToSearchResults",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ServiceDeskConnectionName",
- "displayName": "ServiceDeskConnectionName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ServiceDeskId",
- "displayName": "ServiceDeskId",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ServiceDeskWorkItemLink",
- "displayName": "ServiceDeskWorkItemLink",
- "type": "Uri",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ServiceDeskWorkItemType",
- "displayName": "ServiceDeskWorkItemType",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ResourceId",
- "displayName": "ResourceId",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert",
- "AzureActivity",
- "AzureMetrics",
- "Heartbeat",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "ResourceType",
- "displayName": "ResourceType",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert",
- "Heartbeat",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "ResourceValue",
- "displayName": "ResourceValue",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RootObjectName",
- "displayName": "RootObjectName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ObjectDisplayName",
- "displayName": "ObjectDisplayName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertPriority",
- "displayName": "AlertPriority",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SourceFullName",
- "displayName": "SourceFullName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertId",
- "displayName": "AlertId",
- "type": "Guid",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RepeatCount",
- "displayName": "RepeatCount",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ResolvedBy",
- "displayName": "ResolvedBy",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "LastModifiedBy",
- "displayName": "LastModifiedBy",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "TimeRaised",
- "displayName": "TimeRaised",
- "type": "DateTime",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "TimeResolved",
- "displayName": "TimeResolved",
- "type": "DateTime",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "TimeLastModified",
- "displayName": "TimeLastModified",
- "type": "DateTime",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertContext",
- "displayName": "AlertContext",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "TicketId",
- "displayName": "TicketId",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Custom1",
- "displayName": "Custom1",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Custom2",
- "displayName": "Custom2",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Custom3",
- "displayName": "Custom3",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Custom4",
- "displayName": "Custom4",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Custom5",
- "displayName": "Custom5",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Custom6",
- "displayName": "Custom6",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Custom7",
- "displayName": "Custom7",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Custom8",
- "displayName": "Custom8",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Custom9",
- "displayName": "Custom9",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Custom10",
- "displayName": "Custom10",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ManagementGroupName",
- "displayName": "ManagementGroupName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert",
- "Event",
- "Heartbeat",
- "Operation",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertUniqueId",
- "displayName": "AlertUniqueId",
- "type": "Guid",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": true,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertTypeDescription",
- "displayName": "AlertTypeDescription",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertTypeNumber",
- "displayName": "AlertTypeNumber",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertError",
- "displayName": "AlertError",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "StatusDescription",
- "displayName": "StatusDescription",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertStatus",
- "displayName": "AlertStatus",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "TriggerId",
- "displayName": "TriggerId",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Url",
- "displayName": "Url",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ValueDescription",
- "displayName": "ValueDescription",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AlertValue",
- "displayName": "AlertValue",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Comments",
- "displayName": "Comments",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "TemplateId",
- "displayName": "TemplateId",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "FlagsDescription",
- "displayName": "FlagsDescription",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Flags",
- "displayName": "Flags",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ValueFlagsDescription",
- "displayName": "ValueFlagsDescription",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ValueFlags",
- "displayName": "ValueFlags",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Expression",
- "displayName": "Expression",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Alert"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ApplicationName",
- "displayName": "ApplicationName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "OperationName",
- "displayName": "OperationName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureActivity",
- "AzureMetrics",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "Role",
- "displayName": "Role",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ETWEvent",
- "Event",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RoleInstance",
- "displayName": "RoleInstance",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "csUserAgent",
- "displayName": "csUserAgent",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ApplicationTypeVersion",
- "displayName": "ApplicationTypeVersion",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ServiceFabricOperationalEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "sPort",
- "displayName": "sPort",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ResponseCode",
- "displayName": "ResponseCode",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopHTTPTransaction"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "OperationVersion",
- "displayName": "OperationVersion",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureMetrics",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "Category",
- "displayName": "Category",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureActivity",
- "AzureMetrics",
- "Heartbeat",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "ResultType",
- "displayName": "ResultType",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "ResultSignature",
- "displayName": "ResultSignature",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureMetrics",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "ResultDescription",
- "displayName": "ResultDescription",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureMetrics",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "DurationMs",
- "displayName": "DurationMs",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "CallerIpAddress",
- "displayName": "CallerIpAddress",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureActivity",
- "AzureMetrics"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "CorrelationId",
- "displayName": "CorrelationId",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureActivity",
- "AzureMetrics",
- "Operation",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "Resource",
- "displayName": "Resource",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureActivity",
- "AzureMetrics",
- "Heartbeat",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "ResourceGroup",
- "displayName": "ResourceGroup",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureActivity",
- "AzureMetrics",
- "Heartbeat",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "ResourceProvider",
- "displayName": "ResourceProvider",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureActivity",
- "AzureMetrics",
- "Heartbeat",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "SubscriptionId",
- "displayName": "SubscriptionId",
- "type": "Guid",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureActivity",
- "AzureMetrics",
- "Heartbeat",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "RunbookName_s",
- "displayName": "RunbookName_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "JobId_g",
- "displayName": "JobId_g",
- "type": "Guid",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Caller_s",
- "displayName": "Caller_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "StreamType_s",
- "displayName": "StreamType_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RemoteIPCountry",
- "displayName": "RemoteIPCountry",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics",
- "Heartbeat",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RemoteIPLatitude",
- "displayName": "RemoteIPLatitude",
- "type": "Float",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureMetrics",
- "Heartbeat",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RemoteIPLongitude",
- "displayName": "RemoteIPLongitude",
- "type": "Float",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureMetrics",
- "Heartbeat",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "MaliciousIP",
- "displayName": "MaliciousIP",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "IndicatorThreatType",
- "displayName": "IndicatorThreatType",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureMetrics",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "TLPLevel",
- "displayName": "TLPLevel",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureMetrics",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Confidence",
- "displayName": "Confidence",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureMetrics",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Severity",
- "displayName": "Severity",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics",
- "ReservedCommonFields",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "FirstReportedDateTime",
- "displayName": "FirstReportedDateTime",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureMetrics",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "LastReportedDateTime",
- "displayName": "LastReportedDateTime",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureMetrics",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "IsActive",
- "displayName": "IsActive",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureMetrics",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ReportReferenceLink",
- "displayName": "ReportReferenceLink",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": true,
- "display": false,
- "ownerType": [
- "AzureMetrics",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AdditionalInformation",
- "displayName": "AdditionalInformation",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": true,
- "display": false,
- "ownerType": [
- "AzureMetrics",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Level",
- "displayName": "Level",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureActivity",
- "ETWEvent",
- "ReservedCommonFields",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "ActivityStatus",
- "displayName": "ActivityStatus",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureActivity"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ActivitySubstatus",
- "displayName": "ActivitySubstatus",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureActivity"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Caller",
- "displayName": "Caller",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureActivity"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "HTTPRequest",
- "displayName": "HTTPRequest",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureActivity"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Properties",
- "displayName": "Properties",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureActivity"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "EventSubmissionTimestamp",
- "displayName": "EventSubmissionTimestamp",
- "type": "DateTime",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureActivity"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Authorization",
- "displayName": "Authorization",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureActivity"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "OperationId",
- "displayName": "OperationId",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "AzureActivity"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "EventDataId",
- "displayName": "EventDataId",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": true,
- "display": false,
- "ownerType": [
- "AzureActivity",
- "AzureAudit"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "MetricName",
- "displayName": "MetricName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Total",
- "displayName": "Total",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Count",
- "displayName": "Count",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Maximum",
- "displayName": "Maximum",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Minimum",
- "displayName": "Minimum",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AverageValue",
- "displayName": "Average",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "TimeGrain",
- "displayName": "TimeGrain",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "UnitName",
- "displayName": "UnitName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "AzureMetrics"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SourceIP",
- "displayName": "SourceIP",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "ProcessName",
- "displayName": "ProcessName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Syslog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ProcessID",
- "displayName": "ProcessID",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Syslog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "FilePath",
- "displayName": "FilePath",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ExtraHopFTPResponse"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Message",
- "displayName": "Message",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ETWEvent",
- "Event",
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "StartTime",
- "displayName": "StartTime",
- "type": "DateTime",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "EndTime",
- "displayName": "EndTime",
- "type": "DateTime",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Version",
- "displayName": "Version",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Heartbeat"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Group",
- "displayName": "Group",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ComputerGroup"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "GroupId",
- "displayName": "GroupId",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ComputerGroup"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "GroupSourceName",
- "displayName": "GroupSourceName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ComputerGroup"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "GroupSource",
- "displayName": "GroupSource",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ComputerGroup"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "GroupFullName",
- "displayName": "GroupFullName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ComputerGroup"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SourceComputerId",
- "displayName": "SourceComputerId",
- "type": "Guid",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Heartbeat",
- "Operation"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "EventId",
- "displayName": "EventId",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ETWEvent",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "QueryType",
- "displayName": "QueryType",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDNSResponse"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "PartitionKey",
- "displayName": "PartitionKey",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": true,
- "display": false,
- "ownerType": [
- "ETWEvent",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ProviderGuid",
- "displayName": "ProviderGuid",
- "type": "Guid",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ETWEvent",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "EventSourceName",
- "displayName": "EventSourceName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ETWEvent",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Pid",
- "displayName": "Pid",
- "type": "Int",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ETWEvent",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Tid",
- "displayName": "Tid",
- "type": "Int",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ETWEvent",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "OpcodeName",
- "displayName": "OpcodeName",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ETWEvent",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "KeywordName",
- "displayName": "KeywordName",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ETWEvent",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "TaskName",
- "displayName": "TaskName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ETWEvent",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ChannelName",
- "displayName": "ChannelName",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ETWEvent",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RowKey",
- "displayName": "RowKey",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": true,
- "display": false,
- "ownerType": [
- "ETWEvent",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AzureDeploymentID",
- "displayName": "AzureDeploymentID",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ETWEvent",
- "Event",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent",
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "EventMessage",
- "displayName": "EventMessage",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ETWEvent",
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Source",
- "displayName": "Source",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Event"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "EventLog",
- "displayName": "EventLog",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Event"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "EventCategory",
- "displayName": "EventCategory",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Event"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "EventLevel",
- "displayName": "EventLevel",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Event"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "EventLevelName",
- "displayName": "EventLevelName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Event"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "UserName",
- "displayName": "UserName",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Event"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ParameterXml",
- "displayName": "ParameterXml",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Event"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "EventData",
- "displayName": "EventData",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Event"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "EventID",
- "displayName": "EventID",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Event"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RenderedDescription",
- "displayName": "RenderedDescription",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Event"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SourceLocation",
- "displayName": "SourceLocation",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDBLogin",
- "ExtraHopDBTransaction",
- "ExtraHopDNSResponse",
- "ExtraHopFTPResponse",
- "ExtraHopHTTPTransaction",
- "ExtraHopSMTPMessage",
- "ExtraHopSYNScanDetect",
- "ExtraHopTCPOpen"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "DestinationAddress",
- "displayName": "DestinationAddress",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDBLogin",
- "ExtraHopDBTransaction",
- "ExtraHopDNSResponse",
- "ExtraHopFTPResponse",
- "ExtraHopHTTPTransaction",
- "ExtraHopSMTPMessage",
- "ExtraHopTCPOpen"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "User",
- "displayName": "User",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDBLogin",
- "ExtraHopDBTransaction",
- "ExtraHopFTPResponse"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Method",
- "displayName": "Method",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDBTransaction",
- "ExtraHopFTPResponse",
- "ExtraHopHTTPTransaction"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "DestinationPortNumber",
- "displayName": "DestinationPortNumber",
- "type": "Int",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDBTransaction",
- "ExtraHopHTTPTransaction",
- "ExtraHopTCPOpen"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SourcePortNumber",
- "displayName": "SourcePortNumber",
- "type": "Int",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDBTransaction",
- "ExtraHopHTTPTransaction",
- "ExtraHopTCPOpen"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Duration_ms",
- "displayName": "Duration_ms",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDBTransaction",
- "ExtraHopHTTPTransaction"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ResponseTTLB_ms",
- "displayName": "ResponseTTLB_ms",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDBTransaction",
- "ExtraHopHTTPTransaction"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "HOPName",
- "displayName": "HOPName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDBTransaction",
- "ExtraHopHTTPTransaction"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "QueryString",
- "displayName": "QueryString",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDBTransaction",
- "ExtraHopDNSResponse"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "DBErrorCode",
- "displayName": "DBErrorCode",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDBTransaction"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "DataCenter",
- "displayName": "DataCenter",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDBTransaction",
- "ExtraHopHTTPTransaction"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "QueryResult",
- "displayName": "QueryResult",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopDNSResponse"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "StatusCode",
- "displayName": "StatusCode",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopFTPResponse"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "URIString",
- "displayName": "URIString",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopHTTPTransaction"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Recipient",
- "displayName": "Recipient",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopSMTPMessage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SenderName",
- "displayName": "SenderName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopSMTPMessage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AttachmentFileSize",
- "displayName": "AttachmentFileSize",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopSMTPMessage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SYNSENT_NEWCONNESTAB",
- "displayName": "SYNSENT_NEWCONNESTAB",
- "type": "Float",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopSYNScanDetect"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "PeerListSize",
- "displayName": "PeerListSize",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ExtraHopSYNScanDetect"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ComputerIP",
- "displayName": "ComputerIP",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Heartbeat"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "OSType",
- "displayName": "OSType",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Heartbeat"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "OSName",
- "displayName": "OSName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Heartbeat"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "OSMajorVersion",
- "displayName": "OSMajorVersion",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Heartbeat"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "OSMinorVersion",
- "displayName": "OSMinorVersion",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Heartbeat"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SCAgentChannel",
- "displayName": "SCAgentChannel",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Heartbeat"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "IsGatewayInstalled",
- "displayName": "IsGatewayInstalled",
- "type": "Bool",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Heartbeat"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ComputerEnvironment",
- "displayName": "ComputerEnvironment",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Heartbeat"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Solutions",
- "displayName": "Solutions",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Heartbeat"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ClientInfo_s",
- "displayName": "ClientInfo_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RequestUri_s",
- "displayName": "RequestUri_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Id_s",
- "displayName": "Id_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "HttpStatusCode_d",
- "displayName": "HttpStatusCode_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "InstanceId_s",
- "displayName": "InstanceId_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ClientIP_s",
- "displayName": "ClientIP_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ClientPort_d",
- "displayName": "ClientPort_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "HttpMethod_s",
- "displayName": "HttpMethod_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RequestQuery_s",
- "displayName": "RequestQuery_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "UserAgent_s",
- "displayName": "UserAgent_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "HttpStatus_d",
- "displayName": "HttpStatus_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "HttpVersion_s",
- "displayName": "HttpVersion_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ReceivedBytes_d",
- "displayName": "ReceivedBytes_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SentBytes_d",
- "displayName": "SentBytes_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "TimeTaken_d",
- "displayName": "TimeTaken_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SslEnabled_s",
- "displayName": "SslEnabled_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "HealthyHostCount_d",
- "displayName": "HealthyHostCount_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "UnHealthyHostCount_d",
- "displayName": "UnHealthyHostCount_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RequestCount_d",
- "displayName": "RequestCount_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Latency_d",
- "displayName": "Latency_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "FailedRequestCount_d",
- "displayName": "FailedRequestCount_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Throughput_d",
- "displayName": "Throughput_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "VnetResourceGuid_s",
- "displayName": "VnetResourceGuid_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SubnetPrefix_s",
- "displayName": "SubnetPrefix_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "MacAddress_s",
- "displayName": "MacAddress_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "RuleName_s",
- "displayName": "RuleName_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Direction_s",
- "displayName": "Direction_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Priority_d",
- "displayName": "Priority_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Type_s",
- "displayName": "Type_s",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "MatchedConnections_d",
- "displayName": "MatchedConnections_d",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedAzureCommonFields"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "OperationStatus",
- "displayName": "OperationStatus",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Operation"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Detail",
- "displayName": "Detail",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Operation"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "OperationCategory",
- "displayName": "OperationCategory",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Operation"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Solution",
- "displayName": "Solution",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Operation",
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "OperationKey",
- "displayName": "OperationKey",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Operation"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ErrorId",
- "displayName": "ErrorId",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Operation"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ObjectName",
- "displayName": "ObjectName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Perf"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "CounterName",
- "displayName": "CounterName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Perf"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "InstanceName",
- "displayName": "InstanceName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Perf"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Average",
- "displayName": "CounterValue",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Perf"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "CounterPath",
- "displayName": "CounterPath",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Perf"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Min",
- "displayName": "Min",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Perf"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Max",
- "displayName": "Max",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Perf"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SampleCount",
- "displayName": "SampleCount",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Perf"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "BucketStartTime",
- "displayName": "BucketStartTime",
- "type": "DateTime",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Perf"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "BucketEndTime",
- "displayName": "BucketEndTime",
- "type": "DateTime",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Perf"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "StandardDeviation",
- "displayName": "StandardDeviation",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Perf"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "IPAddress",
- "displayName": "IPAddress",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "CallerIPAddress",
- "displayName": "CallerIPAddress",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ReservedCommonFields"
- ],
- "extraction": null,
- "common": true
- },
- {
- "name": "ServiceName",
- "displayName": "ServiceName",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "StorageAccount",
- "displayName": "StorageAccount",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ApplicationTypeName",
- "displayName": "ApplicationTypeName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "UpgradeDomains",
- "displayName": "UpgradeDomains",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricOperationalEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ServiceTypeName",
- "displayName": "ServiceTypeName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "PartitionId",
- "displayName": "PartitionId",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricOperationalEvent",
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ActorType",
- "displayName": "ActorType",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ActorId",
- "displayName": "ActorId",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ActorIdKind",
- "displayName": "ActorIdKind",
- "type": "Int",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "IsStateful",
- "displayName": "IsStateful",
- "type": "Bool",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ReplicaOrInstanceId",
- "displayName": "ReplicaOrInstanceId",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "NodeName",
- "displayName": "NodeName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "NodeId",
- "displayName": "NodeId",
- "type": "Guid",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "CountOfWaitingMethodCalls",
- "displayName": "CountOfWaitingMethodCalls",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "MethodName",
- "displayName": "MethodName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "MethodSignature",
- "displayName": "MethodSignature",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "MethodExecutionTimeTicks",
- "displayName": "MethodExecutionTimeTicks",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Exception",
- "displayName": "Exception",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SaveStateExecutionTimeTicks",
- "displayName": "SaveStateExecutionTimeTicks",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ReplicaId",
- "displayName": "ReplicaId",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableActorEvent",
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SlowCancellationTimeMillis",
- "displayName": "SlowCancellationTimeMillis",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "WasCanceled",
- "displayName": "WasCanceled",
- "type": "Bool",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ActualCancellationTimeMillis",
- "displayName": "ActualCancellationTimeMillis",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "InstanceId",
- "displayName": "InstanceId",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "ServiceFabricReliableServiceEvent"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "EventTime",
- "displayName": "EventTime",
- "type": "DateTime",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Syslog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Facility",
- "displayName": "Facility",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Syslog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SeverityLevel",
- "displayName": "SeverityLevel",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Syslog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "SyslogMessage",
- "displayName": "SyslogMessage",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Syslog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "HostIP",
- "displayName": "HostIP",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "Syslog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "ResourceUri",
- "displayName": "ResourceUri",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "LinkedResourceUri",
- "displayName": "LinkedResourceUri",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "DataType",
- "displayName": "DataType",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "BatchesWithinSla",
- "displayName": "BatchesWithinSla",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "BatchesOutsideSla",
- "displayName": "BatchesOutsideSla",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "BatchesCapped",
- "displayName": "BatchesCapped",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "TotalBatches",
- "displayName": "TotalBatches",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "AvgLatencyInSeconds",
- "displayName": "AvgLatencyInSeconds",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Quantity",
- "displayName": "Quantity",
- "type": "Double",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "QuantityUnit",
- "displayName": "QuantityUnit",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "IsBillable",
- "displayName": "IsBillable",
- "type": "Bool",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "MeterId",
- "displayName": "MeterId",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "LinkedMeterId",
- "displayName": "LinkedMeterId",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "Usage"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "FileUri",
- "displayName": "FileUri",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": true,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "FileOffset",
- "displayName": "FileOffset",
- "type": "Int",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": true,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Date",
- "displayName": "Date",
- "type": "String",
- "indexed": false,
- "stored": false,
- "facet": false,
- "hidden": true,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Time",
- "displayName": "Time",
- "type": "String",
- "indexed": false,
- "stored": false,
- "facet": false,
- "hidden": true,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "sSiteName",
- "displayName": "sSiteName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "sComputerName",
- "displayName": "sComputerName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": true,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "sIP",
- "displayName": "sIP",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "csMethod",
- "displayName": "csMethod",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "csUriStem",
- "displayName": "csUriStem",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "csUriQuery",
- "displayName": "csUriQuery",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "csUserName",
- "displayName": "csUserName",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "cIP",
- "displayName": "cIP",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "csVersion",
- "displayName": "csVersion",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "csCookie",
- "displayName": "csCookie",
- "type": "String",
- "indexed": false,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "csReferer",
- "displayName": "csReferer",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "csHost",
- "displayName": "csHost",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "scStatus",
- "displayName": "scStatus",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": true,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "scSubStatus",
- "displayName": "scSubStatus",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "scWin32Status",
- "displayName": "scWin32Status",
- "type": "String",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "scBytes",
- "displayName": "scBytes",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "csBytes",
- "displayName": "csBytes",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": false,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "TimeTaken",
- "displayName": "TimeTaken",
- "type": "BigInt",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": false,
- "display": true,
- "ownerType": [
- "W3CIISLog"
- ],
- "extraction": null,
- "common": false
- },
- {
- "name": "Type",
- "displayName": "Type",
- "type": "string",
- "indexed": true,
- "stored": true,
- "facet": true,
- "hidden": true,
- "display": true,
- "ownerType": null,
- "extraction": null,
- "common": false
- },
- {
- "name": "id",
- "displayName": null,
- "type": "uuid",
- "indexed": true,
- "stored": true,
- "facet": false,
- "hidden": true,
- "display": false,
- "ownerType": null,
- "extraction": null,
- "common": false
- }
- ]
- }
- },
- "202": {}
- }
-}
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesSavedSearchesCreateOrUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesSavedSearchesCreateOrUpdate.json
index 315348b51803..7e6a3a34c389 100644
--- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesSavedSearchesCreateOrUpdate.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesSavedSearchesCreateOrUpdate.json
@@ -5,10 +5,10 @@
"savedSearchName": "SavedSearchName",
"parameters": {
"properties": {
- "category": "category",
+ "category": "Saved Search Test Category",
"displayName": "Create or Update Saved Search Test",
- "query": "*",
- "version": 1,
+ "query": "Heartbeat | summarize Count() by Computer",
+ "version": 2,
"tags": [
{
"name": "Group",
@@ -27,10 +27,10 @@
"id": "subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/AtlantisDemo/savedSearches/test-new-saved-search-id-2015",
"eTag": "W/\"datetime'2017-10-02T23%3A15%3A41.0709875Z'\"",
"properties": {
- "category": " Saved Search Test Category",
+ "category": "Saved Search Test Category",
"displayName": "Create or Update Saved Search Test",
- "query": "* | measure Count() by Computer",
- "version": 1
+ "query": "Heartbeat | summarize Count() by Computer",
+ "version": 2
}
}
}
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesUpdateSearchResults.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesUpdateSearchResults.json
deleted file mode 100644
index 80522c9b7b02..000000000000
--- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesUpdateSearchResults.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "TestRG",
- "workspaceName": "TestWS",
- "id": "SavedSearchName",
- "api-version": "2015-03-02",
- "subscriptionId": "00000000-0000-0000-0000-00000000000"
- },
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/operationalinsights/resource-manager/readme.md b/specification/operationalinsights/resource-manager/readme.md
index 7096103edde5..23495b016d9f 100644
--- a/specification/operationalinsights/resource-manager/readme.md
+++ b/specification/operationalinsights/resource-manager/readme.md
@@ -50,6 +50,15 @@ input-file:
- Microsoft.OperationalInsights/stable/2015-03-20/OperationalInsights.json
```
+### Tag: package-2019-08-preview
+
+These settings apply only when `--tag=package-2019-08-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-08-preview'
+input-file:
+- Microsoft.OperationalInsights/preview/2019-08-01-preview/Clusters.json
+```
+
---
# Code Generation
@@ -149,6 +158,7 @@ require: $(this-folder)/../../../profiles/readme.md
input-file:
- $(this-folder)/Microsoft.OperationalInsights/preview/2015-11-01-preview/OperationalInsights.json
- $(this-folder)/Microsoft.OperationalInsights/stable/2015-03-20/OperationalInsights.json
+ - $(this-folder)/Microsoft.OperationalInsights/preview/2019-08-01-preview/Clusters.json
```
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreateDirectPeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreateDirectPeering.json
deleted file mode 100644
index 371a5dcb684b..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreateDirectPeering.json
+++ /dev/null
@@ -1,164 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-03-01-preview",
- "peering": {
- "sku": {
- "name": "Basic_Direct_Free"
- },
- "kind": "Direct",
- "properties": {
- "direct": {
- "connections": [
- {
- "bandwidthInMbps": 10000,
- "peeringDBFacilityId": 99999,
- "bgpSession": {
- "sessionPrefixV4": "192.168.0.0/31",
- "sessionPrefixV6": "fd00::0/127",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- },
- {
- "bandwidthInMbps": 10000,
- "peeringDBFacilityId": 99999,
- "bgpSession": {
- "sessionPrefixV4": "192.168.1.0/31",
- "sessionPrefixV6": "fd00::2/127",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- }
- ],
- "useForPeeringService": false,
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0"
- },
- "location": "eastus"
- }
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Direct_Free",
- "tier": "Basic",
- "family": "Direct",
- "size": "Free"
- },
- "kind": "Direct",
- "properties": {
- "direct": {
- "connections": [
- {
- "bandwidthInMbps": 10000,
- "provisionedBandwidthInMbps": 10000,
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "sessionPrefixV4": "192.168.0.0/31",
- "sessionPrefixV6": "fd00::0/127",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- },
- {
- "bandwidthInMbps": 10000,
- "provisionedBandwidthInMbps": 10000,
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "sessionPrefixV4": "192.168.1.0/31",
- "sessionPrefixV6": "fd00::2/127",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- }
- ],
- "useForPeeringService": false,
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- },
- "201": {
- "body": {
- "sku": {
- "name": "Basic_Direct_Free",
- "tier": "Basic",
- "family": "Direct",
- "size": "Free"
- },
- "kind": "Direct",
- "properties": {
- "direct": {
- "connections": [
- {
- "bandwidthInMbps": 10000,
- "provisionedBandwidthInMbps": 0,
- "peeringDBFacilityId": 99999,
- "connectionState": "PendingApproval",
- "bgpSession": {
- "sessionPrefixV4": "192.168.0.0/31",
- "sessionPrefixV6": "fd00::0/127",
- "sessionStateV4": "PendingAdd",
- "sessionStateV6": "PendingAdd",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- },
- {
- "bandwidthInMbps": 10000,
- "provisionedBandwidthInMbps": 0,
- "peeringDBFacilityId": 99999,
- "connectionState": "PendingApproval",
- "bgpSession": {
- "sessionPrefixV4": "192.168.1.0/31",
- "sessionPrefixV6": "fd00::2/127",
- "sessionStateV4": "PendingAdd",
- "sessionStateV6": "PendingAdd",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- }
- ],
- "useForPeeringService": false,
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreateExchangePeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreateExchangePeering.json
deleted file mode 100644
index dc2b0acd9528..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreateExchangePeering.json
+++ /dev/null
@@ -1,159 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-03-01-preview",
- "peering": {
- "sku": {
- "name": "Basic_Exchange_Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "bgpSession": {
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- },
- {
- "peeringDBFacilityId": 99999,
- "bgpSession": {
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0"
- },
- "location": "eastus"
- }
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- },
- "201": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "PendingApproval",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "PendingAdd",
- "sessionStateV6": "PendingAdd",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "PendingApproval",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "PendingAdd",
- "sessionStateV6": "PendingAdd",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreatePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreatePeerAsn.json
deleted file mode 100644
index 767486289a9a..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreatePeerAsn.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "peerAsnName": "peerAsnName",
- "api-version": "2019-03-01-preview",
- "peerInfo": {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso",
- "validationState": "Pending"
- },
- "name": "peerAsnName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
- "type": "Microsoft.Peering/peerAsns"
- }
- },
- "201": {
- "body": {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso",
- "validationState": "Pending"
- },
- "name": "peerAsnName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
- "type": "Microsoft.Peering/peerAsns"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/DeletePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/DeletePeerAsn.json
deleted file mode 100644
index dd06233ce2a7..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/DeletePeerAsn.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "peerAsnName": "peerAsnName",
- "api-version": "2019-03-01-preview"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/DeletePeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/DeletePeering.json
deleted file mode 100644
index 9fd3c0569de1..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/DeletePeering.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-03-01-preview"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/GetPeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/GetPeerAsn.json
deleted file mode 100644
index 33d592822c25..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/GetPeerAsn.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "peerAsnName": "peerAsnName",
- "api-version": "2019-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso",
- "validationState": "Approved"
- },
- "name": "peerAsnName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
- "type": "Microsoft.Peering/peerAsns"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/GetPeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/GetPeering.json
deleted file mode 100644
index 2e6f416c475d..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/GetPeering.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListDirectPeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListDirectPeeringLocations.json
deleted file mode 100644
index 17ca84922df0..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListDirectPeeringLocations.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "kind": "Direct",
- "api-version": "2019-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "kind": "Direct",
- "properties": {
- "direct": {
- "peeringFacilities": [
- {
- "address": "address1",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
- },
- {
- "address": "address3",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
- }
- ],
- "bandwidthOffers": [
- {
- "offerName": "10Gbps",
- "valueInMbps": 10000
- },
- {
- "offerName": "100Gbps",
- "valueInMbps": 100000
- }
- ]
- },
- "peeringLocation": "peeringLocation1",
- "country": "country1"
- },
- "name": "peeringLocation1",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1",
- "type": "Microsoft.Peering/peeringLocations"
- },
- {
- "kind": "Direct",
- "properties": {
- "direct": {
- "peeringFacilities": [
- {
- "address": "address2",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
- }
- ],
- "bandwidthOffers": [
- {
- "offerName": "10Gbps",
- "valueInMbps": 10000
- },
- {
- "offerName": "100Gbps",
- "valueInMbps": 100000
- }
- ]
- },
- "peeringLocation": "peeringLocation2",
- "country": "country2"
- },
- "name": "peeringLocation2",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2",
- "type": "Microsoft.Peering/peeringLocations"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListExchangePeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListExchangePeeringLocations.json
deleted file mode 100644
index 0880ebd0edac..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListExchangePeeringLocations.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "kind": "Exchange",
- "api-version": "2019-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "peeringFacilities": [
- {
- "exchangeName": "name1",
- "bandwidthInMbps": 10000,
- "microsoftIPv4Address": "192.168.131.1",
- "microsoftIPv6Address": "fd00::1:1",
- "facilityIPv4Prefix": "192.168.128.0/17",
- "facilityIPv6Prefix": "fd00::1000:0/98",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
- },
- {
- "exchangeName": "name3",
- "bandwidthInMbps": 10000,
- "microsoftIPv4Address": "192.168.2.2",
- "microsoftIPv6Address": "fd00::2",
- "facilityIPv4Prefix": "192.168.0.0/17",
- "facilityIPv6Prefix": "fd00::0/98",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
- }
- ]
- },
- "peeringLocation": "peeringLocation1",
- "country": "country1"
- },
- "name": "peeringLocation1",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1",
- "type": "Microsoft.Peering/peeringLocations"
- },
- {
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "peeringFacilities": [
- {
- "exchangeName": "name2",
- "bandwidthInMbps": 10000,
- "microsoftIPv4Address": "192.168.2.1",
- "microsoftIPv6Address": "fd00::2",
- "facilityIPv4Prefix": "192.168.0.0/16",
- "facilityIPv6Prefix": "fd00::0/98",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
- }
- ]
- },
- "peeringLocation": "peeringLocation2",
- "country": "country2"
- },
- "name": "peeringLocation2",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2",
- "type": "Microsoft.Peering/peeringLocations"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListLegacyPeerings.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListLegacyPeerings.json
deleted file mode 100644
index 6105c9e47fe7..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListLegacyPeerings.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "kind": "Exchange",
- "peeringLocation": "peeringLocation0",
- "api-version": "2019-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "name": "peeringName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeerAsnsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeerAsnsBySubscription.json
deleted file mode 100644
index e67d504761bc..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeerAsnsBySubscription.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "api-version": "2019-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso",
- "validationState": "Approved"
- },
- "name": "peerAsnName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
- "type": "Microsoft.Peering/peerAsns"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringOperations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringOperations.json
deleted file mode 100644
index 11270547fa7a..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringOperations.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "Microsoft.Peering/register/action",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "Peering Resource Provider",
- "operation": "Registers the Peering Resource Provider",
- "description": "Registers the subscription for the Peering Resource Provider and enables the creation of peerings"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peeringLocations/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peeringLocations",
- "operation": "Read PeeringLocation",
- "description": "Read any peeringLocations"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peeringPartners/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerings",
- "operation": "Read PeeringPartner",
- "description": "Read any peeringPartners"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerings/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerings",
- "operation": "Read Peering",
- "description": "Read any peerings"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerings/write",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerings",
- "operation": "Write Peering",
- "description": "Write any peerings"
- },
- "isDataAction": false
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringsByResourceGroup.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringsByResourceGroup.json
deleted file mode 100644
index 9ec65f9f2f21..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringsByResourceGroup.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "api-version": "2019-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringsBySubscription.json
deleted file mode 100644
index 1b560b696756..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringsBySubscription.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "api-version": "2019-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/UpdatePeeringTags.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/UpdatePeeringTags.json
deleted file mode 100644
index 25552581a17f..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/UpdatePeeringTags.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-03-01-preview",
- "tags": {
- "tags": {
- "tag0": "value0",
- "tag1": "value1"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "tags": {
- "tag0": "value0",
- "tag1": "value1"
- },
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/peering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/peering.json
deleted file mode 100644
index 563bfb82c4e9..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/peering.json
+++ /dev/null
@@ -1,1439 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2019-03-01-preview",
- "title": "PeeringManagementClient",
- "description": "APIs to manage Peering resources through the Azure Resource Manager."
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/legacyPeerings": {
- "get": {
- "tags": [
- "LegacyPeerings"
- ],
- "description": "Lists all of the legacy peerings under the given subscription matching the specified kind and location.",
- "operationId": "LegacyPeerings_List",
- "parameters": [
- {
- "name": "peeringLocation",
- "in": "query",
- "description": "The location of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "name": "kind",
- "in": "query",
- "description": "The kind of the peering.",
- "required": true,
- "type": "string",
- "enum": [
- "Direct",
- "Exchange"
- ]
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List legacy peerings": {
- "$ref": "./examples/ListLegacyPeerings.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/providers/Microsoft.Peering/operations": {
- "get": {
- "tags": [
- "Operations"
- ],
- "description": "Lists all of the available API operations for peering resources.",
- "operationId": "Operations_List",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OperationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peering operations": {
- "$ref": "./examples/ListPeeringOperations.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}": {
- "get": {
- "tags": [
- "PeerAsns"
- ],
- "description": "Gets the peer ASN with the specified name under the given subscription.",
- "operationId": "PeerAsns_Get",
- "parameters": [
- {
- "name": "peerAsnName",
- "in": "path",
- "description": "The peer ASN name.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get a peer ASN": {
- "$ref": "./examples/GetPeerAsn.json"
- }
- }
- },
- "put": {
- "tags": [
- "PeerAsns"
- ],
- "description": "Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription.",
- "operationId": "PeerAsns_CreateOrUpdate",
- "parameters": [
- {
- "name": "peerAsnName",
- "in": "path",
- "description": "The peer ASN name.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peerAsn",
- "in": "body",
- "description": "The peer ASN.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- "201": {
- "description": "Created",
- "schema": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create a peer ASN": {
- "$ref": "./examples/CreatePeerAsn.json"
- }
- }
- },
- "delete": {
- "tags": [
- "PeerAsns"
- ],
- "description": "Deletes an existing peer ASN with the specified name under the given subscription.",
- "operationId": "PeerAsns_Delete",
- "parameters": [
- {
- "name": "peerAsnName",
- "in": "path",
- "description": "The peer ASN name.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "204": {
- "description": "No Content"
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete a peer ASN": {
- "$ref": "./examples/DeletePeerAsn.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns": {
- "get": {
- "tags": [
- "PeerAsns"
- ],
- "description": "Lists all of the peer ASNs under the given subscription.",
- "operationId": "PeerAsns_ListBySubscription",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeerAsnListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peer ASNs in a subscription": {
- "$ref": "./examples/ListPeerAsnsBySubscription.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringLocations": {
- "get": {
- "tags": [
- "PeeringLocations"
- ],
- "description": "Lists all of the available peering locations for the specified kind of peering.",
- "operationId": "PeeringLocations_List",
- "parameters": [
- {
- "name": "kind",
- "in": "query",
- "description": "The kind of the peering.",
- "required": true,
- "type": "string",
- "enum": [
- "Direct",
- "Exchange"
- ]
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringLocationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List direct peering locations": {
- "$ref": "./examples/ListDirectPeeringLocations.json"
- },
- "List exchange peering locations": {
- "$ref": "./examples/ListExchangePeeringLocations.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}": {
- "get": {
- "tags": [
- "Peerings"
- ],
- "description": "Gets an existing peering with the specified name under the given subscription and resource group.",
- "operationId": "Peerings_Get",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringName",
- "in": "path",
- "description": "The name of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get a peering": {
- "$ref": "./examples/GetPeering.json"
- }
- }
- },
- "put": {
- "tags": [
- "Peerings"
- ],
- "description": "Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group.",
- "operationId": "Peerings_CreateOrUpdate",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringName",
- "in": "path",
- "description": "The name of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peering",
- "in": "body",
- "description": "The properties needed to create or update a peering.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- "201": {
- "description": "Created",
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create a direct peering": {
- "$ref": "./examples/CreateDirectPeering.json"
- },
- "Create an exchange peering": {
- "$ref": "./examples/CreateExchangePeering.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Peerings"
- ],
- "description": "Deletes an existing peering with the specified name under the given subscription and resource group.",
- "operationId": "Peerings_Delete",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringName",
- "in": "path",
- "description": "The name of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "204": {
- "description": "NoContent"
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete a peering": {
- "$ref": "./examples/DeletePeering.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Peerings"
- ],
- "description": "Updates tags for a peering with the specified name under the given subscription and resource group.",
- "operationId": "Peerings_Update",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringName",
- "in": "path",
- "description": "The name of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "name": "tags",
- "in": "body",
- "description": "The resource tags.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ResourceTags"
- }
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Update peering tags": {
- "$ref": "./examples/UpdatePeeringTags.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings": {
- "get": {
- "tags": [
- "Peerings"
- ],
- "description": "Lists all of the peerings under the given subscription and resource group.",
- "operationId": "Peerings_ListByResourceGroup",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peerings in a resource group": {
- "$ref": "./examples/ListPeeringsByResourceGroup.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerings": {
- "get": {
- "tags": [
- "Peerings"
- ],
- "description": "Lists all of the peerings under the given subscription.",
- "operationId": "Peerings_ListBySubscription",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peerings in a subscription": {
- "$ref": "./examples/ListPeeringsBySubscription.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "definitions": {
- "PeeringListResult": {
- "description": "The paginated list of peerings.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peerings.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Peering"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peerings.",
- "type": "string"
- }
- }
- },
- "Peering": {
- "description": "Peering is a logical representation of a set of connections to the Microsoft Cloud Edge at a location.",
- "required": [
- "sku",
- "kind",
- "location"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "sku": {
- "$ref": "#/definitions/PeeringSku",
- "description": "The SKU that defines the tier and kind of the peering."
- },
- "kind": {
- "description": "The kind of the peering.",
- "enum": [
- "Direct",
- "Exchange"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
- },
- "properties": {
- "$ref": "#/definitions/PeeringProperties",
- "description": "The properties that define a peering.",
- "x-ms-client-flatten": true
- },
- "location": {
- "description": "The location of the resource.",
- "type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ]
- },
- "tags": {
- "description": "The resource tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- }
- },
- "PeeringSku": {
- "description": "The SKU that defines the tier and kind of the peering.",
- "type": "object",
- "properties": {
- "name": {
- "description": "The name of the peering SKU.",
- "enum": [
- "Basic_Exchange_Free",
- "Basic_Direct_Free",
- "Premium_Direct_Free",
- "Premium_Exchange_Metered"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "name",
- "modelAsString": true
- }
- },
- "tier": {
- "description": "The tier of the peering SKU.",
- "enum": [
- "Basic",
- "Premium"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "tier",
- "modelAsString": true
- }
- },
- "family": {
- "description": "The family of the peering SKU.",
- "enum": [
- "Direct",
- "Exchange"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "family",
- "modelAsString": true
- }
- },
- "size": {
- "description": "The size of the peering SKU.",
- "enum": [
- "Free",
- "Metered",
- "Unlimited"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "size",
- "modelAsString": true
- }
- }
- }
- },
- "PeeringProperties": {
- "description": "The properties that define connectivity to the Microsoft Cloud Edge.",
- "type": "object",
- "properties": {
- "direct": {
- "$ref": "#/definitions/PeeringPropertiesDirect",
- "description": "The properties that define a direct peering."
- },
- "exchange": {
- "$ref": "#/definitions/PeeringPropertiesExchange",
- "description": "The properties that define an exchange peering."
- },
- "peeringLocation": {
- "description": "The location of the peering.",
- "type": "string"
- },
- "provisioningState": {
- "description": "The provisioning state of the resource.",
- "enum": [
- "Succeeded",
- "Updating",
- "Deleting",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
- }
- }
- }
- },
- "PeeringPropertiesDirect": {
- "description": "The properties that define a direct peering.",
- "type": "object",
- "properties": {
- "connections": {
- "description": "The set of connections that constitute a direct peering.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/DirectConnection"
- }
- },
- "useForPeeringService": {
- "description": "The flag that indicates whether or not the peering is used for peering service.",
- "type": "boolean"
- },
- "peerAsn": {
- "$ref": "#/definitions/SubResource",
- "description": "The reference of the peer ASN."
- }
- }
- },
- "ErrorResponse": {
- "description": "The error response that indicates why an operation has failed.",
- "type": "object",
- "properties": {
- "code": {
- "description": "The error code.",
- "type": "string",
- "readOnly": true
- },
- "message": {
- "description": "The error message.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "PeeringPropertiesExchange": {
- "description": "The properties that define an exchange peering.",
- "type": "object",
- "properties": {
- "connections": {
- "description": "The set of connections that constitute an exchange peering.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ExchangeConnection"
- }
- },
- "peerAsn": {
- "$ref": "#/definitions/SubResource",
- "description": "The reference of the peer ASN."
- }
- }
- },
- "DirectConnection": {
- "description": "The properties that define a direct connection.",
- "type": "object",
- "properties": {
- "bandwidthInMbps": {
- "format": "int32",
- "description": "The bandwidth of the connection.",
- "type": "integer"
- },
- "provisionedBandwidthInMbps": {
- "format": "int32",
- "description": "The bandwidth that is actually provisioned.",
- "type": "integer"
- },
- "peeringDBFacilityId": {
- "format": "int32",
- "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.",
- "type": "integer"
- },
- "connectionState": {
- "description": "The state of the connection.",
- "enum": [
- "None",
- "PendingApproval",
- "Approved",
- "ProvisioningStarted",
- "ProvisioningFailed",
- "ProvisioningCompleted",
- "Validating",
- "Active"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "connectionState",
- "modelAsString": true
- }
- },
- "bgpSession": {
- "$ref": "#/definitions/BgpSession",
- "description": "The BGP session associated with the connection."
- }
- }
- },
- "SubResource": {
- "description": "The sub resource.",
- "type": "object",
- "properties": {
- "id": {
- "description": "The identifier of the referenced resource.",
- "type": "string"
- }
- }
- },
- "ExchangeConnection": {
- "description": "The properties that define an exchange connection.",
- "type": "object",
- "properties": {
- "peeringDBFacilityId": {
- "format": "int32",
- "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.",
- "type": "integer"
- },
- "connectionState": {
- "description": "The state of the connection.",
- "enum": [
- "None",
- "PendingApproval",
- "Approved",
- "ProvisioningStarted",
- "ProvisioningFailed",
- "ProvisioningCompleted",
- "Validating",
- "Active"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "connectionState",
- "modelAsString": true
- }
- },
- "bgpSession": {
- "$ref": "#/definitions/BgpSession",
- "description": "The BGP session associated with the connection."
- }
- }
- },
- "BgpSession": {
- "description": "The properties that define a BGP session.",
- "type": "object",
- "properties": {
- "sessionPrefixV4": {
- "description": "The IPv4 prefix that contains both ends' IPv4 addresses.",
- "type": "string"
- },
- "sessionPrefixV6": {
- "description": "The IPv6 prefix that contains both ends' IPv6 addresses.",
- "type": "string"
- },
- "microsoftSessionIPv4Address": {
- "description": "The IPv4 session address on Microsoft's end.",
- "type": "string",
- "readOnly": true
- },
- "microsoftSessionIPv6Address": {
- "description": "The IPv6 session address on Microsoft's end.",
- "type": "string",
- "readOnly": true
- },
- "peerSessionIPv4Address": {
- "description": "The IPv4 session address on peer's end.",
- "type": "string"
- },
- "peerSessionIPv6Address": {
- "description": "The IPv6 session address on peer's end.",
- "type": "string"
- },
- "sessionStateV4": {
- "description": "The state of the IPv4 session.",
- "enum": [
- "None",
- "Idle",
- "Connect",
- "Active",
- "OpenSent",
- "OpenConfirm",
- "Established",
- "PendingAdd",
- "PendingUpdate",
- "PendingRemove"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "sessionStateV4",
- "modelAsString": true
- }
- },
- "sessionStateV6": {
- "description": "The state of the IPv6 session.",
- "enum": [
- "None",
- "Idle",
- "Connect",
- "Active",
- "OpenSent",
- "OpenConfirm",
- "Established",
- "PendingAdd",
- "PendingUpdate",
- "PendingRemove"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "sessionStateV6",
- "modelAsString": true
- }
- },
- "maxPrefixesAdvertisedV4": {
- "format": "int32",
- "description": "The maximum number of prefixes advertised over the IPv4 session.",
- "type": "integer"
- },
- "maxPrefixesAdvertisedV6": {
- "format": "int32",
- "description": "The maximum number of prefixes advertised over the IPv6 session.",
- "type": "integer"
- },
- "md5AuthenticationKey": {
- "description": "The MD5 authentication key of the session.",
- "type": "string"
- }
- }
- },
- "Resource": {
- "description": "The ARM resource class.",
- "type": "object",
- "properties": {
- "name": {
- "description": "The name of the resource.",
- "type": "string",
- "readOnly": true
- },
- "id": {
- "description": "The ID of the resource.",
- "type": "string",
- "readOnly": true
- },
- "type": {
- "description": "The type of the resource.",
- "type": "string",
- "readOnly": true
- }
- },
- "x-ms-azure-resource": true
- },
- "OperationListResult": {
- "description": "The paginated list of peering API operations.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peering API operations.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Operation"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peering API operations.",
- "type": "string"
- }
- }
- },
- "Operation": {
- "description": "The peering API operation.",
- "type": "object",
- "properties": {
- "name": {
- "description": "The name of the operation.",
- "type": "string",
- "readOnly": true
- },
- "display": {
- "$ref": "#/definitions/OperationDisplayInfo",
- "description": "The information related to the operation.",
- "readOnly": true
- },
- "isDataAction": {
- "description": "The flag that indicates whether the operation applies to data plane.",
- "type": "boolean",
- "readOnly": true
- }
- }
- },
- "OperationDisplayInfo": {
- "description": "The information related to the operation.",
- "type": "object",
- "properties": {
- "provider": {
- "description": "The name of the resource provider.",
- "type": "string",
- "readOnly": true
- },
- "resource": {
- "description": "The type of the resource.",
- "type": "string",
- "readOnly": true
- },
- "operation": {
- "description": "The name of the operation.",
- "type": "string",
- "readOnly": true
- },
- "description": {
- "description": "The description of the operation.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "PeerAsn": {
- "description": "The essential information related to the peer's ASN.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/PeerAsnProperties",
- "description": "The properties that define a peer's ASN.",
- "x-ms-client-flatten": true
- }
- }
- },
- "PeerAsnProperties": {
- "description": "The properties that define a peer's ASN.",
- "type": "object",
- "properties": {
- "peerAsn": {
- "format": "int32",
- "description": "The Autonomous System Number (ASN) of the peer.",
- "type": "integer"
- },
- "peerContactInfo": {
- "$ref": "#/definitions/ContactInfo",
- "description": "The contact information of the peer."
- },
- "peerName": {
- "description": "The name of the peer.",
- "type": "string"
- },
- "validationState": {
- "description": "The validation state of the ASN associated with the peer.",
- "enum": [
- "None",
- "Pending",
- "Approved",
- "Failed"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "validationState",
- "modelAsString": true
- }
- }
- }
- },
- "ContactInfo": {
- "description": "The contact information of the peer.",
- "type": "object",
- "properties": {
- "emails": {
- "description": "The list of email addresses.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "phone": {
- "description": "The list of contact numbers.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "PeerAsnListResult": {
- "description": "The paginated list of peer ASNs.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peer ASNs.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peer ASNs.",
- "type": "string"
- }
- }
- },
- "PeeringLocationListResult": {
- "description": "The paginated list of peering locations.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peering locations.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PeeringLocation"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peering locations.",
- "type": "string"
- }
- }
- },
- "PeeringLocation": {
- "description": "Peering location is where connectivity could be established to the Microsoft Cloud Edge.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "kind": {
- "description": "The kind of peering that the peering location supports.",
- "enum": [
- "Direct",
- "Exchange"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
- },
- "properties": {
- "$ref": "#/definitions/PeeringLocationProperties",
- "description": "The properties that define a peering location.",
- "x-ms-client-flatten": true
- }
- }
- },
- "PeeringLocationProperties": {
- "description": "The properties that define a peering location.",
- "type": "object",
- "properties": {
- "direct": {
- "$ref": "#/definitions/PeeringLocationPropertiesDirect",
- "description": "The properties that define a direct peering location."
- },
- "exchange": {
- "$ref": "#/definitions/PeeringLocationPropertiesExchange",
- "description": "The properties that define an exchange peering location."
- },
- "peeringLocation": {
- "description": "The name of the peering location.",
- "type": "string"
- },
- "country": {
- "description": "The country in which the peering location exists.",
- "type": "string"
- },
- "azureRegion": {
- "description": "The Azure region associated with the peering location.",
- "type": "string"
- }
- }
- },
- "PeeringLocationPropertiesDirect": {
- "description": "The properties that define a direct peering location.",
- "type": "object",
- "properties": {
- "peeringFacilities": {
- "description": "The list of direct peering facilities at the peering location.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/DirectPeeringFacility"
- }
- },
- "bandwidthOffers": {
- "description": "The list of bandwidth offers available at the peering location.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PeeringBandwidthOffer"
- }
- }
- }
- },
- "PeeringLocationPropertiesExchange": {
- "description": "The properties that define an exchange peering location.",
- "type": "object",
- "properties": {
- "peeringFacilities": {
- "description": "The list of exchange peering facilities at the peering location.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ExchangePeeringFacility"
- }
- }
- }
- },
- "DirectPeeringFacility": {
- "description": "The properties that define a direct peering facility.",
- "type": "object",
- "properties": {
- "address": {
- "description": "The address of the direct peering facility.",
- "type": "string"
- },
- "peeringDBFacilityId": {
- "format": "int32",
- "description": "The PeeringDB.com ID of the facility.",
- "type": "integer"
- },
- "peeringDBFacilityLink": {
- "description": "The PeeringDB.com URL of the facility.",
- "type": "string"
- }
- }
- },
- "PeeringBandwidthOffer": {
- "description": "The properties that define a peering bandwidth offer.",
- "type": "object",
- "properties": {
- "offerName": {
- "description": "The name of the bandwidth offer.",
- "type": "string"
- },
- "valueInMbps": {
- "format": "int32",
- "description": "The value of the bandwidth offer in Mbps.",
- "type": "integer"
- }
- }
- },
- "ExchangePeeringFacility": {
- "description": "The properties that define an exchange peering facility.",
- "type": "object",
- "properties": {
- "exchangeName": {
- "description": "The name of the exchange peering facility.",
- "type": "string"
- },
- "bandwidthInMbps": {
- "format": "int32",
- "description": "The bandwidth of the connection between Microsoft and the exchange peering facility.",
- "type": "integer"
- },
- "microsoftIPv4Address": {
- "description": "The IPv4 address of Microsoft at the exchange peering facility.",
- "type": "string"
- },
- "microsoftIPv6Address": {
- "description": "The IPv6 address of Microsoft at the exchange peering facility.",
- "type": "string"
- },
- "facilityIPv4Prefix": {
- "description": "The IPv4 prefixes associated with the exchange peering facility.",
- "type": "string"
- },
- "facilityIPv6Prefix": {
- "description": "The IPv6 prefixes associated with the exchange peering facility.",
- "type": "string"
- },
- "peeringDBFacilityId": {
- "format": "int32",
- "description": "The PeeringDB.com ID of the facility.",
- "type": "integer"
- },
- "peeringDBFacilityLink": {
- "description": "The PeeringDB.com URL of the facility.",
- "type": "string"
- }
- }
- },
- "ResourceTags": {
- "description": "The resource tags.",
- "type": "object",
- "properties": {
- "tags": {
- "description": "Gets or sets the tags, a dictionary of descriptors arm object",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- }
- }
- },
- "parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "description": "The Azure subscription ID.",
- "required": true,
- "type": "string"
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "description": "The client API version.",
- "required": true,
- "type": "string"
- }
- },
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "description": "Azure Active Directory OAuth2 Flow.",
- "flow": "implicit",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ]
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/CreateDirectPeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/CreateDirectPeering.json
deleted file mode 100644
index 541126cc8329..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/CreateDirectPeering.json
+++ /dev/null
@@ -1,170 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-06-01-preview",
- "peering": {
- "sku": {
- "name": "Basic_Direct_Free"
- },
- "kind": "Direct",
- "properties": {
- "direct": {
- "connections": [
- {
- "bandwidthInMbps": 10000,
- "peeringDBFacilityId": 99999,
- "bgpSession": {
- "sessionPrefixV4": "192.168.0.0/31",
- "sessionPrefixV6": "fd00::0/127",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "bandwidthInMbps": 10000,
- "peeringDBFacilityId": 99999,
- "bgpSession": {
- "sessionPrefixV4": "192.168.1.0/31",
- "sessionPrefixV6": "fd00::2/127",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "useForPeeringService": false,
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0"
- },
- "location": "eastus"
- }
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Direct_Free",
- "tier": "Basic",
- "family": "Direct",
- "size": "Free"
- },
- "kind": "Direct",
- "properties": {
- "direct": {
- "connections": [
- {
- "bandwidthInMbps": 10000,
- "provisionedBandwidthInMbps": 10000,
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "sessionPrefixV4": "192.168.0.0/31",
- "sessionPrefixV6": "fd00::0/127",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "bandwidthInMbps": 10000,
- "provisionedBandwidthInMbps": 10000,
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "sessionPrefixV4": "192.168.1.0/31",
- "sessionPrefixV6": "fd00::2/127",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "useForPeeringService": false,
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- },
- "201": {
- "body": {
- "sku": {
- "name": "Basic_Direct_Free",
- "tier": "Basic",
- "family": "Direct",
- "size": "Free"
- },
- "kind": "Direct",
- "properties": {
- "direct": {
- "connections": [
- {
- "bandwidthInMbps": 10000,
- "provisionedBandwidthInMbps": 0,
- "peeringDBFacilityId": 99999,
- "connectionState": "PendingApproval",
- "bgpSession": {
- "sessionPrefixV4": "192.168.0.0/31",
- "sessionPrefixV6": "fd00::0/127",
- "sessionStateV4": "PendingAdd",
- "sessionStateV6": "PendingAdd",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "bandwidthInMbps": 10000,
- "provisionedBandwidthInMbps": 0,
- "peeringDBFacilityId": 99999,
- "connectionState": "PendingApproval",
- "bgpSession": {
- "sessionPrefixV4": "192.168.1.0/31",
- "sessionPrefixV6": "fd00::2/127",
- "sessionStateV4": "PendingAdd",
- "sessionStateV6": "PendingAdd",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "useForPeeringService": false,
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/CreateExchangePeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/CreateExchangePeering.json
deleted file mode 100644
index 8f82135b9c1b..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/CreateExchangePeering.json
+++ /dev/null
@@ -1,165 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-06-01-preview",
- "peering": {
- "sku": {
- "name": "Basic_Exchange_Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "bgpSession": {
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "bgpSession": {
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0"
- },
- "location": "eastus"
- }
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- },
- "201": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "PendingApproval",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "PendingAdd",
- "sessionStateV6": "PendingAdd",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "PendingApproval",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "PendingAdd",
- "sessionStateV6": "PendingAdd",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/CreatePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/CreatePeerAsn.json
deleted file mode 100644
index 48aa730479ab..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/CreatePeerAsn.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "peerAsnName": "peerAsnName",
- "api-version": "2019-06-01-preview",
- "peerAsn": {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso",
- "validationState": "Pending"
- },
- "name": "peerAsnName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
- "type": "Microsoft.Peering/peerAsns"
- }
- },
- "201": {
- "body": {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso",
- "validationState": "Pending"
- },
- "name": "peerAsnName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
- "type": "Microsoft.Peering/peerAsns"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/DeletePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/DeletePeerAsn.json
deleted file mode 100644
index 6d732a96ec8f..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/DeletePeerAsn.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "peerAsnName": "peerAsnName",
- "api-version": "2019-06-01-preview"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/DeletePeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/DeletePeering.json
deleted file mode 100644
index 21e923d3cfdc..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/DeletePeering.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-06-01-preview"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/GetPeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/GetPeerAsn.json
deleted file mode 100644
index fe560f4766cc..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/GetPeerAsn.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "peerAsnName": "peerAsnName",
- "api-version": "2019-06-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso",
- "validationState": "Approved"
- },
- "name": "peerAsnName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
- "type": "Microsoft.Peering/peerAsns"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/GetPeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/GetPeering.json
deleted file mode 100644
index ee0f3722e4e2..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/GetPeering.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-06-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListDirectPeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListDirectPeeringLocations.json
deleted file mode 100644
index df8ab7b72089..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListDirectPeeringLocations.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "kind": "Direct",
- "api-version": "2019-06-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "kind": "Direct",
- "properties": {
- "direct": {
- "peeringFacilities": [
- {
- "address": "address1",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
- },
- {
- "address": "address3",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
- }
- ],
- "bandwidthOffers": [
- {
- "offerName": "10Gbps",
- "valueInMbps": 10000
- },
- {
- "offerName": "100Gbps",
- "valueInMbps": 100000
- }
- ]
- },
- "peeringLocation": "peeringLocation1",
- "country": "country1"
- },
- "name": "peeringLocation1",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1",
- "type": "Microsoft.Peering/peeringLocations"
- },
- {
- "kind": "Direct",
- "properties": {
- "direct": {
- "peeringFacilities": [
- {
- "address": "address2",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
- }
- ],
- "bandwidthOffers": [
- {
- "offerName": "10Gbps",
- "valueInMbps": 10000
- },
- {
- "offerName": "100Gbps",
- "valueInMbps": 100000
- }
- ]
- },
- "peeringLocation": "peeringLocation2",
- "country": "country2"
- },
- "name": "peeringLocation2",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2",
- "type": "Microsoft.Peering/peeringLocations"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListExchangePeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListExchangePeeringLocations.json
deleted file mode 100644
index e3c1063a2aba..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListExchangePeeringLocations.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "kind": "Exchange",
- "api-version": "2019-06-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "peeringFacilities": [
- {
- "exchangeName": "name1",
- "bandwidthInMbps": 10000,
- "microsoftIPv4Address": "192.168.131.1",
- "microsoftIPv6Address": "fd00::1:1",
- "facilityIPv4Prefix": "192.168.128.0/17",
- "facilityIPv6Prefix": "fd00::1000:0/98",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
- },
- {
- "exchangeName": "name3",
- "bandwidthInMbps": 10000,
- "microsoftIPv4Address": "192.168.2.2",
- "microsoftIPv6Address": "fd00::2",
- "facilityIPv4Prefix": "192.168.0.0/17",
- "facilityIPv6Prefix": "fd00::0/98",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
- }
- ]
- },
- "peeringLocation": "peeringLocation1",
- "country": "country1"
- },
- "name": "peeringLocation1",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1",
- "type": "Microsoft.Peering/peeringLocations"
- },
- {
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "peeringFacilities": [
- {
- "exchangeName": "name2",
- "bandwidthInMbps": 10000,
- "microsoftIPv4Address": "192.168.2.1",
- "microsoftIPv6Address": "fd00::2",
- "facilityIPv4Prefix": "192.168.0.0/16",
- "facilityIPv6Prefix": "fd00::0/98",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
- }
- ]
- },
- "peeringLocation": "peeringLocation2",
- "country": "country2"
- },
- "name": "peeringLocation2",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2",
- "type": "Microsoft.Peering/peeringLocations"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListLegacyPeerings.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListLegacyPeerings.json
deleted file mode 100644
index 087dd18ffa3d..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListLegacyPeerings.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "kind": "Exchange",
- "peeringLocation": "peeringLocation0",
- "api-version": "2019-06-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "centralus",
- "name": "peeringName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListPeerAsnsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListPeerAsnsBySubscription.json
deleted file mode 100644
index ae147c84929a..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListPeerAsnsBySubscription.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "api-version": "2019-06-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso",
- "validationState": "Approved"
- },
- "name": "peerAsnName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
- "type": "Microsoft.Peering/peerAsns"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListPeeringOperations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListPeeringOperations.json
deleted file mode 100644
index b2f86d347168..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListPeeringOperations.json
+++ /dev/null
@@ -1,103 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-06-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "Microsoft.Peering/register/action",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "Peering Resource Provider",
- "operation": "Registers the Peering Resource Provider",
- "description": "Registers the subscription for the Peering Resource Provider and enables the creation of peerings"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerAsns/write",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerAsns",
- "operation": "Write PeerAsn",
- "description": "Write any peerAsns"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerAsns/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerAsns",
- "operation": "Read PeerAsn",
- "description": "Read any peerAsns"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerAsns/delete",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerAsns",
- "operation": "Delete PeerAsn",
- "description": "Delete any peerAsns"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peeringLocations/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peeringLocations",
- "operation": "Read PeeringLocation",
- "description": "Read any peeringLocations"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/legacyPeerings/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "legacyPeerings",
- "operation": "Read LegacyPeering",
- "description": "Read any legacyPeerings"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerings/write",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerings",
- "operation": "Write Peering",
- "description": "Write any peerings"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerings/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerings",
- "operation": "Read Peering",
- "description": "Read any peerings"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerings/delete",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerings",
- "operation": "Delete Peering",
- "description": "Delete any peerings"
- },
- "isDataAction": false
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListPeeringsByResourceGroup.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListPeeringsByResourceGroup.json
deleted file mode 100644
index cf76086b7ef5..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListPeeringsByResourceGroup.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "api-version": "2019-06-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListPeeringsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListPeeringsBySubscription.json
deleted file mode 100644
index a638b6905190..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/ListPeeringsBySubscription.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "api-version": "2019-06-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/UpdatePeeringTags.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/UpdatePeeringTags.json
deleted file mode 100644
index 4d72186e3131..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/examples/UpdatePeeringTags.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-06-01-preview",
- "tags": {
- "tags": {
- "tag0": "value0",
- "tag1": "value1"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "tags": {
- "tag0": "value0",
- "tag1": "value1"
- },
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/peering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/peering.json
deleted file mode 100644
index e2ca582168e9..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-06-01-preview/peering.json
+++ /dev/null
@@ -1,1449 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2019-06-01-preview",
- "title": "PeeringManagementClient",
- "description": "APIs to manage Peering resources through the Azure Resource Manager."
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/legacyPeerings": {
- "get": {
- "tags": [
- "LegacyPeerings"
- ],
- "description": "Lists all of the legacy peerings under the given subscription matching the specified kind and location.",
- "operationId": "LegacyPeerings_List",
- "parameters": [
- {
- "name": "peeringLocation",
- "in": "query",
- "description": "The location of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "name": "kind",
- "in": "query",
- "description": "The kind of the peering.",
- "required": true,
- "type": "string",
- "enum": [
- "Direct",
- "Exchange"
- ]
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List legacy peerings": {
- "$ref": "./examples/ListLegacyPeerings.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/providers/Microsoft.Peering/operations": {
- "get": {
- "tags": [
- "Operations"
- ],
- "description": "Lists all of the available API operations for peering resources.",
- "operationId": "Operations_List",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OperationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peering operations": {
- "$ref": "./examples/ListPeeringOperations.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}": {
- "get": {
- "tags": [
- "PeerAsns"
- ],
- "description": "Gets the peer ASN with the specified name under the given subscription.",
- "operationId": "PeerAsns_Get",
- "parameters": [
- {
- "name": "peerAsnName",
- "in": "path",
- "description": "The peer ASN name.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get a peer ASN": {
- "$ref": "./examples/GetPeerAsn.json"
- }
- }
- },
- "put": {
- "tags": [
- "PeerAsns"
- ],
- "description": "Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription.",
- "operationId": "PeerAsns_CreateOrUpdate",
- "parameters": [
- {
- "name": "peerAsnName",
- "in": "path",
- "description": "The peer ASN name.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peerAsn",
- "in": "body",
- "description": "The peer ASN.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- "201": {
- "description": "Created",
- "schema": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create a peer ASN": {
- "$ref": "./examples/CreatePeerAsn.json"
- }
- }
- },
- "delete": {
- "tags": [
- "PeerAsns"
- ],
- "description": "Deletes an existing peer ASN with the specified name under the given subscription.",
- "operationId": "PeerAsns_Delete",
- "parameters": [
- {
- "name": "peerAsnName",
- "in": "path",
- "description": "The peer ASN name.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "204": {
- "description": "No Content"
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete a peer ASN": {
- "$ref": "./examples/DeletePeerAsn.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns": {
- "get": {
- "tags": [
- "PeerAsns"
- ],
- "description": "Lists all of the peer ASNs under the given subscription.",
- "operationId": "PeerAsns_ListBySubscription",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeerAsnListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peer ASNs in a subscription": {
- "$ref": "./examples/ListPeerAsnsBySubscription.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringLocations": {
- "get": {
- "tags": [
- "PeeringLocations"
- ],
- "description": "Lists all of the available peering locations for the specified kind of peering.",
- "operationId": "PeeringLocations_List",
- "parameters": [
- {
- "name": "kind",
- "in": "query",
- "description": "The kind of the peering.",
- "required": true,
- "type": "string",
- "enum": [
- "Direct",
- "Exchange"
- ]
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringLocationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List direct peering locations": {
- "$ref": "./examples/ListDirectPeeringLocations.json"
- },
- "List exchange peering locations": {
- "$ref": "./examples/ListExchangePeeringLocations.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}": {
- "get": {
- "tags": [
- "Peerings"
- ],
- "description": "Gets an existing peering with the specified name under the given subscription and resource group.",
- "operationId": "Peerings_Get",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringName",
- "in": "path",
- "description": "The name of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get a peering": {
- "$ref": "./examples/GetPeering.json"
- }
- }
- },
- "put": {
- "tags": [
- "Peerings"
- ],
- "description": "Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group.",
- "operationId": "Peerings_CreateOrUpdate",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringName",
- "in": "path",
- "description": "The name of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peering",
- "in": "body",
- "description": "The properties needed to create or update a peering.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- "201": {
- "description": "Created",
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create a direct peering": {
- "$ref": "./examples/CreateDirectPeering.json"
- },
- "Create an exchange peering": {
- "$ref": "./examples/CreateExchangePeering.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Peerings"
- ],
- "description": "Deletes an existing peering with the specified name under the given subscription and resource group.",
- "operationId": "Peerings_Delete",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringName",
- "in": "path",
- "description": "The name of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "204": {
- "description": "NoContent"
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete a peering": {
- "$ref": "./examples/DeletePeering.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Peerings"
- ],
- "description": "Updates tags for a peering with the specified name under the given subscription and resource group.",
- "operationId": "Peerings_Update",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringName",
- "in": "path",
- "description": "The name of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "name": "tags",
- "in": "body",
- "description": "The resource tags.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ResourceTags"
- }
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Update peering tags": {
- "$ref": "./examples/UpdatePeeringTags.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings": {
- "get": {
- "tags": [
- "Peerings"
- ],
- "description": "Lists all of the peerings under the given subscription and resource group.",
- "operationId": "Peerings_ListByResourceGroup",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peerings in a resource group": {
- "$ref": "./examples/ListPeeringsByResourceGroup.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerings": {
- "get": {
- "tags": [
- "Peerings"
- ],
- "description": "Lists all of the peerings under the given subscription.",
- "operationId": "Peerings_ListBySubscription",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peerings in a subscription": {
- "$ref": "./examples/ListPeeringsBySubscription.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "definitions": {
- "PeeringListResult": {
- "description": "The paginated list of peerings.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peerings.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Peering"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peerings.",
- "type": "string"
- }
- }
- },
- "Peering": {
- "description": "Peering is a logical representation of a set of connections to the Microsoft Cloud Edge at a location.",
- "required": [
- "sku",
- "kind",
- "location"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "sku": {
- "$ref": "#/definitions/PeeringSku",
- "description": "The SKU that defines the tier and kind of the peering."
- },
- "kind": {
- "description": "The kind of the peering.",
- "enum": [
- "Direct",
- "Exchange"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
- },
- "properties": {
- "$ref": "#/definitions/PeeringProperties",
- "description": "The properties that define a peering.",
- "x-ms-client-flatten": true
- },
- "location": {
- "description": "The location of the resource.",
- "type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ]
- },
- "tags": {
- "description": "The resource tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- }
- },
- "PeeringSku": {
- "description": "The SKU that defines the tier and kind of the peering.",
- "type": "object",
- "properties": {
- "name": {
- "description": "The name of the peering SKU.",
- "enum": [
- "Basic_Exchange_Free",
- "Basic_Direct_Free",
- "Premium_Direct_Free",
- "Premium_Exchange_Metered"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "name",
- "modelAsString": true
- }
- },
- "tier": {
- "description": "The tier of the peering SKU.",
- "enum": [
- "Basic",
- "Premium"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "tier",
- "modelAsString": true
- }
- },
- "family": {
- "description": "The family of the peering SKU.",
- "enum": [
- "Direct",
- "Exchange"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "family",
- "modelAsString": true
- }
- },
- "size": {
- "description": "The size of the peering SKU.",
- "enum": [
- "Free",
- "Metered",
- "Unlimited"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "size",
- "modelAsString": true
- }
- }
- }
- },
- "PeeringProperties": {
- "description": "The properties that define connectivity to the Microsoft Cloud Edge.",
- "type": "object",
- "properties": {
- "direct": {
- "$ref": "#/definitions/PeeringPropertiesDirect",
- "description": "The properties that define a direct peering."
- },
- "exchange": {
- "$ref": "#/definitions/PeeringPropertiesExchange",
- "description": "The properties that define an exchange peering."
- },
- "peeringLocation": {
- "description": "The location of the peering.",
- "type": "string"
- },
- "provisioningState": {
- "description": "The provisioning state of the resource.",
- "enum": [
- "Succeeded",
- "Updating",
- "Deleting",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
- }
- }
- }
- },
- "PeeringPropertiesDirect": {
- "description": "The properties that define a direct peering.",
- "type": "object",
- "properties": {
- "connections": {
- "description": "The set of connections that constitute a direct peering.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/DirectConnection"
- }
- },
- "useForPeeringService": {
- "description": "The flag that indicates whether or not the peering is used for peering service.",
- "type": "boolean"
- },
- "peerAsn": {
- "$ref": "#/definitions/SubResource",
- "description": "The reference of the peer ASN."
- }
- }
- },
- "PeeringPropertiesExchange": {
- "description": "The properties that define an exchange peering.",
- "type": "object",
- "properties": {
- "connections": {
- "description": "The set of connections that constitute an exchange peering.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ExchangeConnection"
- }
- },
- "peerAsn": {
- "$ref": "#/definitions/SubResource",
- "description": "The reference of the peer ASN."
- }
- }
- },
- "DirectConnection": {
- "description": "The properties that define a direct connection.",
- "type": "object",
- "properties": {
- "bandwidthInMbps": {
- "format": "int32",
- "description": "The bandwidth of the connection.",
- "type": "integer"
- },
- "provisionedBandwidthInMbps": {
- "format": "int32",
- "description": "The bandwidth that is actually provisioned.",
- "type": "integer"
- },
- "peeringDBFacilityId": {
- "format": "int32",
- "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.",
- "type": "integer"
- },
- "connectionState": {
- "description": "The state of the connection.",
- "enum": [
- "None",
- "PendingApproval",
- "Approved",
- "ProvisioningStarted",
- "ProvisioningFailed",
- "ProvisioningCompleted",
- "Validating",
- "Active"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "connectionState",
- "modelAsString": true
- }
- },
- "bgpSession": {
- "$ref": "#/definitions/BgpSession",
- "description": "The BGP session associated with the connection."
- },
- "connectionIdentifier": {
- "description": "The unique identifier (GUID) for the connection.",
- "type": "string"
- }
- }
- },
- "ErrorResponse": {
- "description": "The error response that indicates why an operation has failed.",
- "type": "object",
- "properties": {
- "code": {
- "description": "The error code.",
- "type": "string",
- "readOnly": true
- },
- "message": {
- "description": "The error message.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "Resource": {
- "description": "The ARM resource class.",
- "type": "object",
- "properties": {
- "name": {
- "description": "The name of the resource.",
- "type": "string",
- "readOnly": true
- },
- "id": {
- "description": "The ID of the resource.",
- "type": "string",
- "readOnly": true
- },
- "type": {
- "description": "The type of the resource.",
- "type": "string",
- "readOnly": true
- }
- },
- "x-ms-azure-resource": true
- },
- "SubResource": {
- "description": "The sub resource.",
- "type": "object",
- "properties": {
- "id": {
- "description": "The identifier of the referenced resource.",
- "type": "string"
- }
- }
- },
- "ExchangeConnection": {
- "description": "The properties that define an exchange connection.",
- "type": "object",
- "properties": {
- "peeringDBFacilityId": {
- "format": "int32",
- "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.",
- "type": "integer"
- },
- "connectionState": {
- "description": "The state of the connection.",
- "enum": [
- "None",
- "PendingApproval",
- "Approved",
- "ProvisioningStarted",
- "ProvisioningFailed",
- "ProvisioningCompleted",
- "Validating",
- "Active"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "connectionState",
- "modelAsString": true
- }
- },
- "bgpSession": {
- "$ref": "#/definitions/BgpSession",
- "description": "The BGP session associated with the connection."
- },
- "connectionIdentifier": {
- "description": "The unique identifier (GUID) for the connection.",
- "type": "string"
- }
- }
- },
- "BgpSession": {
- "description": "The properties that define a BGP session.",
- "type": "object",
- "properties": {
- "sessionPrefixV4": {
- "description": "The IPv4 prefix that contains both ends' IPv4 addresses.",
- "type": "string"
- },
- "sessionPrefixV6": {
- "description": "The IPv6 prefix that contains both ends' IPv6 addresses.",
- "type": "string"
- },
- "microsoftSessionIPv4Address": {
- "description": "The IPv4 session address on Microsoft's end.",
- "type": "string",
- "readOnly": true
- },
- "microsoftSessionIPv6Address": {
- "description": "The IPv6 session address on Microsoft's end.",
- "type": "string",
- "readOnly": true
- },
- "peerSessionIPv4Address": {
- "description": "The IPv4 session address on peer's end.",
- "type": "string"
- },
- "peerSessionIPv6Address": {
- "description": "The IPv6 session address on peer's end.",
- "type": "string"
- },
- "sessionStateV4": {
- "description": "The state of the IPv4 session.",
- "enum": [
- "None",
- "Idle",
- "Connect",
- "Active",
- "OpenSent",
- "OpenConfirm",
- "OpenReceived",
- "Established",
- "PendingAdd",
- "PendingUpdate",
- "PendingRemove"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "sessionStateV4",
- "modelAsString": true
- }
- },
- "sessionStateV6": {
- "description": "The state of the IPv6 session.",
- "enum": [
- "None",
- "Idle",
- "Connect",
- "Active",
- "OpenSent",
- "OpenConfirm",
- "OpenReceived",
- "Established",
- "PendingAdd",
- "PendingUpdate",
- "PendingRemove"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "sessionStateV6",
- "modelAsString": true
- }
- },
- "maxPrefixesAdvertisedV4": {
- "format": "int32",
- "description": "The maximum number of prefixes advertised over the IPv4 session.",
- "type": "integer"
- },
- "maxPrefixesAdvertisedV6": {
- "format": "int32",
- "description": "The maximum number of prefixes advertised over the IPv6 session.",
- "type": "integer"
- },
- "md5AuthenticationKey": {
- "description": "The MD5 authentication key of the session.",
- "type": "string"
- }
- }
- },
- "OperationListResult": {
- "description": "The paginated list of peering API operations.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peering API operations.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Operation"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peering API operations.",
- "type": "string"
- }
- }
- },
- "Operation": {
- "description": "The peering API operation.",
- "type": "object",
- "properties": {
- "name": {
- "description": "The name of the operation.",
- "type": "string",
- "readOnly": true
- },
- "display": {
- "$ref": "#/definitions/OperationDisplayInfo",
- "description": "The information related to the operation.",
- "readOnly": true
- },
- "isDataAction": {
- "description": "The flag that indicates whether the operation applies to data plane.",
- "type": "boolean",
- "readOnly": true
- }
- }
- },
- "OperationDisplayInfo": {
- "description": "The information related to the operation.",
- "type": "object",
- "properties": {
- "provider": {
- "description": "The name of the resource provider.",
- "type": "string",
- "readOnly": true
- },
- "resource": {
- "description": "The type of the resource.",
- "type": "string",
- "readOnly": true
- },
- "operation": {
- "description": "The name of the operation.",
- "type": "string",
- "readOnly": true
- },
- "description": {
- "description": "The description of the operation.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "PeerAsn": {
- "description": "The essential information related to the peer's ASN.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/PeerAsnProperties",
- "description": "The properties that define a peer's ASN.",
- "x-ms-client-flatten": true
- }
- }
- },
- "PeerAsnProperties": {
- "description": "The properties that define a peer's ASN.",
- "type": "object",
- "properties": {
- "peerAsn": {
- "format": "int32",
- "description": "The Autonomous System Number (ASN) of the peer.",
- "type": "integer"
- },
- "peerContactInfo": {
- "$ref": "#/definitions/ContactInfo",
- "description": "The contact information of the peer."
- },
- "peerName": {
- "description": "The name of the peer.",
- "type": "string"
- },
- "validationState": {
- "description": "The validation state of the ASN associated with the peer.",
- "enum": [
- "None",
- "Pending",
- "Approved",
- "Failed"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "validationState",
- "modelAsString": true
- }
- }
- }
- },
- "ContactInfo": {
- "description": "The contact information of the peer.",
- "type": "object",
- "properties": {
- "emails": {
- "description": "The list of email addresses.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "phone": {
- "description": "The list of contact numbers.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "PeerAsnListResult": {
- "description": "The paginated list of peer ASNs.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peer ASNs.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peer ASNs.",
- "type": "string"
- }
- }
- },
- "PeeringLocationListResult": {
- "description": "The paginated list of peering locations.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peering locations.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PeeringLocation"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peering locations.",
- "type": "string"
- }
- }
- },
- "PeeringLocation": {
- "description": "Peering location is where connectivity could be established to the Microsoft Cloud Edge.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "kind": {
- "description": "The kind of peering that the peering location supports.",
- "enum": [
- "Direct",
- "Exchange"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
- },
- "properties": {
- "$ref": "#/definitions/PeeringLocationProperties",
- "description": "The properties that define a peering location.",
- "x-ms-client-flatten": true
- }
- }
- },
- "PeeringLocationProperties": {
- "description": "The properties that define a peering location.",
- "type": "object",
- "properties": {
- "direct": {
- "$ref": "#/definitions/PeeringLocationPropertiesDirect",
- "description": "The properties that define a direct peering location."
- },
- "exchange": {
- "$ref": "#/definitions/PeeringLocationPropertiesExchange",
- "description": "The properties that define an exchange peering location."
- },
- "peeringLocation": {
- "description": "The name of the peering location.",
- "type": "string"
- },
- "country": {
- "description": "The country in which the peering location exists.",
- "type": "string"
- },
- "azureRegion": {
- "description": "The Azure region associated with the peering location.",
- "type": "string"
- }
- }
- },
- "PeeringLocationPropertiesDirect": {
- "description": "The properties that define a direct peering location.",
- "type": "object",
- "properties": {
- "peeringFacilities": {
- "description": "The list of direct peering facilities at the peering location.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/DirectPeeringFacility"
- }
- },
- "bandwidthOffers": {
- "description": "The list of bandwidth offers available at the peering location.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PeeringBandwidthOffer"
- }
- }
- }
- },
- "PeeringLocationPropertiesExchange": {
- "description": "The properties that define an exchange peering location.",
- "type": "object",
- "properties": {
- "peeringFacilities": {
- "description": "The list of exchange peering facilities at the peering location.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ExchangePeeringFacility"
- }
- }
- }
- },
- "DirectPeeringFacility": {
- "description": "The properties that define a direct peering facility.",
- "type": "object",
- "properties": {
- "address": {
- "description": "The address of the direct peering facility.",
- "type": "string"
- },
- "peeringDBFacilityId": {
- "format": "int32",
- "description": "The PeeringDB.com ID of the facility.",
- "type": "integer"
- },
- "peeringDBFacilityLink": {
- "description": "The PeeringDB.com URL of the facility.",
- "type": "string"
- }
- }
- },
- "PeeringBandwidthOffer": {
- "description": "The properties that define a peering bandwidth offer.",
- "type": "object",
- "properties": {
- "offerName": {
- "description": "The name of the bandwidth offer.",
- "type": "string"
- },
- "valueInMbps": {
- "format": "int32",
- "description": "The value of the bandwidth offer in Mbps.",
- "type": "integer"
- }
- }
- },
- "ExchangePeeringFacility": {
- "description": "The properties that define an exchange peering facility.",
- "type": "object",
- "properties": {
- "exchangeName": {
- "description": "The name of the exchange peering facility.",
- "type": "string"
- },
- "bandwidthInMbps": {
- "format": "int32",
- "description": "The bandwidth of the connection between Microsoft and the exchange peering facility.",
- "type": "integer"
- },
- "microsoftIPv4Address": {
- "description": "The IPv4 address of Microsoft at the exchange peering facility.",
- "type": "string"
- },
- "microsoftIPv6Address": {
- "description": "The IPv6 address of Microsoft at the exchange peering facility.",
- "type": "string"
- },
- "facilityIPv4Prefix": {
- "description": "The IPv4 prefixes associated with the exchange peering facility.",
- "type": "string"
- },
- "facilityIPv6Prefix": {
- "description": "The IPv6 prefixes associated with the exchange peering facility.",
- "type": "string"
- },
- "peeringDBFacilityId": {
- "format": "int32",
- "description": "The PeeringDB.com ID of the facility.",
- "type": "integer"
- },
- "peeringDBFacilityLink": {
- "description": "The PeeringDB.com URL of the facility.",
- "type": "string"
- }
- }
- },
- "ResourceTags": {
- "description": "The resource tags.",
- "type": "object",
- "properties": {
- "tags": {
- "description": "Gets or sets the tags, a dictionary of descriptors arm object",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- }
- }
- },
- "parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "description": "The Azure subscription ID.",
- "required": true,
- "type": "string"
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "description": "The client API version.",
- "required": true,
- "type": "string"
- }
- },
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "description": "Azure Active Directory OAuth2 Flow.",
- "flow": "implicit",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ]
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreateDirectPeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreateDirectPeering.json
deleted file mode 100644
index 727ed2202294..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreateDirectPeering.json
+++ /dev/null
@@ -1,170 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-07-01-preview",
- "peering": {
- "sku": {
- "name": "Basic_Direct_Free"
- },
- "kind": "Direct",
- "properties": {
- "direct": {
- "connections": [
- {
- "bandwidthInMbps": 10000,
- "peeringDBFacilityId": 99999,
- "bgpSession": {
- "sessionPrefixV4": "192.168.0.0/31",
- "sessionPrefixV6": "fd00::0/127",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "bandwidthInMbps": 10000,
- "peeringDBFacilityId": 99999,
- "bgpSession": {
- "sessionPrefixV4": "192.168.1.0/31",
- "sessionPrefixV6": "fd00::2/127",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "useForPeeringService": false,
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0"
- },
- "location": "eastus"
- }
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Direct_Free",
- "tier": "Basic",
- "family": "Direct",
- "size": "Free"
- },
- "kind": "Direct",
- "properties": {
- "direct": {
- "connections": [
- {
- "bandwidthInMbps": 10000,
- "provisionedBandwidthInMbps": 10000,
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "sessionPrefixV4": "192.168.0.0/31",
- "sessionPrefixV6": "fd00::0/127",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "bandwidthInMbps": 10000,
- "provisionedBandwidthInMbps": 10000,
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "sessionPrefixV4": "192.168.1.0/31",
- "sessionPrefixV6": "fd00::2/127",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "useForPeeringService": false,
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- },
- "201": {
- "body": {
- "sku": {
- "name": "Basic_Direct_Free",
- "tier": "Basic",
- "family": "Direct",
- "size": "Free"
- },
- "kind": "Direct",
- "properties": {
- "direct": {
- "connections": [
- {
- "bandwidthInMbps": 10000,
- "provisionedBandwidthInMbps": 0,
- "peeringDBFacilityId": 99999,
- "connectionState": "PendingApproval",
- "bgpSession": {
- "sessionPrefixV4": "192.168.0.0/31",
- "sessionPrefixV6": "fd00::0/127",
- "sessionStateV4": "PendingAdd",
- "sessionStateV6": "PendingAdd",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "bandwidthInMbps": 10000,
- "provisionedBandwidthInMbps": 0,
- "peeringDBFacilityId": 99999,
- "connectionState": "PendingApproval",
- "bgpSession": {
- "sessionPrefixV4": "192.168.1.0/31",
- "sessionPrefixV6": "fd00::2/127",
- "sessionStateV4": "PendingAdd",
- "sessionStateV6": "PendingAdd",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "useForPeeringService": false,
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreateExchangePeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreateExchangePeering.json
deleted file mode 100644
index c7d7f83e48d4..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreateExchangePeering.json
+++ /dev/null
@@ -1,165 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-07-01-preview",
- "peering": {
- "sku": {
- "name": "Basic_Exchange_Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "bgpSession": {
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "bgpSession": {
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0"
- },
- "location": "eastus"
- }
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- },
- "201": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "PendingApproval",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "PendingAdd",
- "sessionStateV6": "PendingAdd",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "PendingApproval",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "PendingAdd",
- "sessionStateV6": "PendingAdd",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreatePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreatePeerAsn.json
deleted file mode 100644
index 249f3b97f61e..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreatePeerAsn.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "peerAsnName": "peerAsnName",
- "api-version": "2019-07-01-preview",
- "peerAsn": {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso",
- "validationState": "Pending"
- },
- "name": "peerAsnName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
- "type": "Microsoft.Peering/peerAsns"
- }
- },
- "201": {
- "body": {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso",
- "validationState": "Pending"
- },
- "name": "peerAsnName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
- "type": "Microsoft.Peering/peerAsns"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreatePeeringServicePrefix.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreatePeeringServicePrefix.json
deleted file mode 100644
index bffc1191f187..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreatePeeringServicePrefix.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringServiceName": "peeringServiceName",
- "prefixName": "peeringServicePrefixName",
- "api-version": "2019-07-01-preview",
- "peeringServicePrefix": {
- "properties": {
- "prefix": "192.168.1.0/24"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "prefix": "192.168.1.0/24",
- "prefixValidationState": "Pending",
- "learnedType": "None",
- "provisioningState": "Succeeded"
- },
- "name": "peeringServicePrefixName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName"
- }
- },
- "201": {
- "body": {
- "properties": {
- "prefix": "192.168.1.0/24",
- "prefixValidationState": "Pending",
- "learnedType": "None",
- "provisioningState": "Succeeded"
- },
- "name": "peeringServicePrefixName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/DeletePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/DeletePeerAsn.json
deleted file mode 100644
index 12f03005fd6d..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/DeletePeerAsn.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "peerAsnName": "peerAsnName",
- "api-version": "2019-07-01-preview"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/DeletePeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/DeletePeering.json
deleted file mode 100644
index 793b15305759..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/DeletePeering.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-07-01-preview"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/GetPeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/GetPeerAsn.json
deleted file mode 100644
index c36273735773..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/GetPeerAsn.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "peerAsnName": "peerAsnName",
- "api-version": "2019-07-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso",
- "validationState": "Approved"
- },
- "name": "peerAsnName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
- "type": "Microsoft.Peering/peerAsns"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/GetPeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/GetPeering.json
deleted file mode 100644
index 7d5f15a249ba..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/GetPeering.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-07-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListDirectPeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListDirectPeeringLocations.json
deleted file mode 100644
index f3c0fbb93f27..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListDirectPeeringLocations.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "kind": "Direct",
- "api-version": "2019-07-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "kind": "Direct",
- "properties": {
- "direct": {
- "peeringFacilities": [
- {
- "address": "address1",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
- },
- {
- "address": "address3",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
- }
- ],
- "bandwidthOffers": [
- {
- "offerName": "10Gbps",
- "valueInMbps": 10000
- },
- {
- "offerName": "100Gbps",
- "valueInMbps": 100000
- }
- ]
- },
- "peeringLocation": "peeringLocation1",
- "country": "country1"
- },
- "name": "peeringLocation1",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1",
- "type": "Microsoft.Peering/peeringLocations"
- },
- {
- "kind": "Direct",
- "properties": {
- "direct": {
- "peeringFacilities": [
- {
- "address": "address2",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
- }
- ],
- "bandwidthOffers": [
- {
- "offerName": "10Gbps",
- "valueInMbps": 10000
- },
- {
- "offerName": "100Gbps",
- "valueInMbps": 100000
- }
- ]
- },
- "peeringLocation": "peeringLocation2",
- "country": "country2"
- },
- "name": "peeringLocation2",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2",
- "type": "Microsoft.Peering/peeringLocations"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListExchangePeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListExchangePeeringLocations.json
deleted file mode 100644
index 5ee92220e9ce..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListExchangePeeringLocations.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "kind": "Exchange",
- "api-version": "2019-07-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "peeringFacilities": [
- {
- "exchangeName": "name1",
- "bandwidthInMbps": 10000,
- "microsoftIPv4Address": "192.168.131.1",
- "microsoftIPv6Address": "fd00::1:1",
- "facilityIPv4Prefix": "192.168.128.0/17",
- "facilityIPv6Prefix": "fd00::1000:0/98",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
- },
- {
- "exchangeName": "name3",
- "bandwidthInMbps": 10000,
- "microsoftIPv4Address": "192.168.2.2",
- "microsoftIPv6Address": "fd00::2",
- "facilityIPv4Prefix": "192.168.0.0/17",
- "facilityIPv6Prefix": "fd00::0/98",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
- }
- ]
- },
- "peeringLocation": "peeringLocation1",
- "country": "country1"
- },
- "name": "peeringLocation1",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1",
- "type": "Microsoft.Peering/peeringLocations"
- },
- {
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "peeringFacilities": [
- {
- "exchangeName": "name2",
- "bandwidthInMbps": 10000,
- "microsoftIPv4Address": "192.168.2.1",
- "microsoftIPv6Address": "fd00::2",
- "facilityIPv4Prefix": "192.168.0.0/16",
- "facilityIPv6Prefix": "fd00::0/98",
- "peeringDBFacilityId": 99999,
- "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
- }
- ]
- },
- "peeringLocation": "peeringLocation2",
- "country": "country2"
- },
- "name": "peeringLocation2",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2",
- "type": "Microsoft.Peering/peeringLocations"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListLegacyPeerings.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListLegacyPeerings.json
deleted file mode 100644
index ec7061d5662b..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListLegacyPeerings.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "kind": "Exchange",
- "peeringLocation": "peeringLocation0",
- "api-version": "2019-07-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- }
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "centralus",
- "name": "peeringName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeerAsnsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeerAsnsBySubscription.json
deleted file mode 100644
index 612d10dc0b17..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeerAsnsBySubscription.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "api-version": "2019-07-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "peerAsn": 65000,
- "peerContactInfo": {
- "emails": [
- "abc@contoso.com",
- "xyz@contoso.com"
- ],
- "phone": [
- "+1 (234) 567-8900"
- ]
- },
- "peerName": "Contoso",
- "validationState": "Approved"
- },
- "name": "peerAsnName",
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
- "type": "Microsoft.Peering/peerAsns"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringOperations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringOperations.json
deleted file mode 100644
index 6fd41e1420bc..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringOperations.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-07-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "Microsoft.Peering/register/action",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "Peering Resource Provider",
- "operation": "Registers the Peering Resource Provider",
- "description": "Registers the subscription for the Peering Resource Provider and enables the creation of peerings"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerAsns/write",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerAsns",
- "operation": "Write PeerAsn",
- "description": "Write any peerAsns"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerAsns/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerAsns",
- "operation": "Read PeerAsn",
- "description": "Read any peerAsns"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerAsns/delete",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerAsns",
- "operation": "Delete PeerAsn",
- "description": "Delete any peerAsns"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peeringLocations/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peeringLocations",
- "operation": "Read PeeringLocation",
- "description": "Read any peeringLocations"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/legacyPeerings/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "legacyPeerings",
- "operation": "Read LegacyPeering",
- "description": "Read any legacyPeerings"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerings/write",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerings",
- "operation": "Write Peering",
- "description": "Write any peerings"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerings/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerings",
- "operation": "Read Peering",
- "description": "Read any peerings"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peerings/delete",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peerings",
- "operation": "Delete Peering",
- "description": "Delete any peerings"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peeringServiceLocations/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peeringServiceLocations",
- "operation": "Read PeeringServiceLocations",
- "description": "Read any peeringServiceLocations"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peeringServiceProviders/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peeringServiceProviders",
- "operation": "Read PeeringServiceProviders",
- "description": "Read any peeringServiceProviders"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peeringServices/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peeringServices",
- "operation": "Read PeeringServices",
- "description": "Read any peeringServices"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peeringServices/write",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peeringServices",
- "operation": "Write PeeringService",
- "description": "Write any peeringServices"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peeringServices/delete",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "peeringServices",
- "operation": "Delete PeeringServices",
- "description": "Delete any peeringServices"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peeringServices/prefixes/read",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "prefixes",
- "operation": "Read PeeringServicePrefixes",
- "description": "Read any prefixes"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peeringServices/prefixes/write",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "prefixes",
- "operation": "Write PeeringServicePrefixes",
- "description": "Write any prefixes"
- },
- "isDataAction": false
- },
- {
- "name": "Microsoft.Peering/peeringServices/prefixes/delete",
- "display": {
- "provider": "Microsoft.Peering",
- "resource": "prefixes",
- "operation": "Delete PeeringServicePrefixes",
- "description": "Delete any prefixes"
- },
- "isDataAction": false
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringsByResourceGroup.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringsByResourceGroup.json
deleted file mode 100644
index 85f5e0601c1b..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringsByResourceGroup.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "api-version": "2019-07-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringsBySubscription.json
deleted file mode 100644
index 37355aca7e6a..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringsBySubscription.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "api-version": "2019-07-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/UpdatePeeringTags.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/UpdatePeeringTags.json
deleted file mode 100644
index 474fce2ad29c..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/UpdatePeeringTags.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subId",
- "resourceGroupName": "rgName",
- "peeringName": "peeringName",
- "api-version": "2019-07-01-preview",
- "tags": {
- "tags": {
- "tag0": "value0",
- "tag1": "value1"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "sku": {
- "name": "Basic_Exchange_Free",
- "tier": "Basic",
- "family": "Exchange",
- "size": "Free"
- },
- "kind": "Exchange",
- "properties": {
- "exchange": {
- "connections": [
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.1",
- "microsoftSessionIPv6Address": "fd00::1:1",
- "peerSessionIPv4Address": "192.168.2.1",
- "peerSessionIPv6Address": "fd00::1",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- },
- {
- "peeringDBFacilityId": 99999,
- "connectionState": "Active",
- "bgpSession": {
- "microsoftSessionIPv4Address": "192.168.3.2",
- "microsoftSessionIPv6Address": "fd00::1:2",
- "peerSessionIPv4Address": "192.168.2.2",
- "peerSessionIPv6Address": "fd00::2",
- "sessionStateV4": "Established",
- "sessionStateV6": "Established",
- "maxPrefixesAdvertisedV4": 1000,
- "maxPrefixesAdvertisedV6": 100,
- "md5AuthenticationKey": "test-md5-auth-key"
- },
- "connectionIdentifier": "00000000-0000-0000-0000-000000000000"
- }
- ],
- "peerAsn": {
- "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
- }
- },
- "peeringLocation": "peeringLocation0",
- "provisioningState": "Succeeded"
- },
- "location": "eastus",
- "tags": {
- "tag0": "value0",
- "tag1": "value1"
- },
- "name": "peeringName",
- "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
- "type": "Microsoft.Peering/peerings"
- }
- }
- }
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/peering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/peering.json
deleted file mode 100644
index 7562942bdf27..000000000000
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/peering.json
+++ /dev/null
@@ -1,2389 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2019-07-01-preview",
- "title": "PeeringManagementClient",
- "description": "APIs to manage Peering resources through the Azure Resource Manager."
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/CheckServiceProviderAvailability": {
- "post": {
- "tags": [
- "CheckServiceProviderAvailability"
- ],
- "description": "Checks if the peering service provider is present within 1000 distance of customer's location",
- "operationId": "CheckServiceProviderAvailability",
- "parameters": [
- {
- "name": "checkServiceProviderAvailabilityInput",
- "in": "body",
- "description": "The CheckServiceProviderAvailabilityInput.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/CheckServiceProviderAvailabilityInput"
- }
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "enum": [
- "Available",
- "UnAvailable"
- ],
- "type": "string"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Check if peering service provider is available in customer location": {
- "$ref": "./examples/CheckServiceProviderAvailability.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/legacyPeerings": {
- "get": {
- "tags": [
- "LegacyPeerings"
- ],
- "description": "Lists all of the legacy peerings under the given subscription matching the specified kind and location.",
- "operationId": "LegacyPeerings_List",
- "parameters": [
- {
- "name": "peeringLocation",
- "in": "query",
- "description": "The location of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "name": "kind",
- "in": "query",
- "description": "The kind of the peering.",
- "required": true,
- "type": "string",
- "enum": [
- "Direct",
- "Exchange"
- ]
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List legacy peerings": {
- "$ref": "./examples/ListLegacyPeerings.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/providers/Microsoft.Peering/operations": {
- "get": {
- "tags": [
- "Operations"
- ],
- "description": "Lists all of the available API operations for peering resources.",
- "operationId": "Operations_List",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OperationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peering operations": {
- "$ref": "./examples/ListPeeringOperations.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}": {
- "get": {
- "tags": [
- "PeerAsns"
- ],
- "description": "Gets the peer ASN with the specified name under the given subscription.",
- "operationId": "PeerAsns_Get",
- "parameters": [
- {
- "name": "peerAsnName",
- "in": "path",
- "description": "The peer ASN name.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get a peer ASN": {
- "$ref": "./examples/GetPeerAsn.json"
- }
- }
- },
- "put": {
- "tags": [
- "PeerAsns"
- ],
- "description": "Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription.",
- "operationId": "PeerAsns_CreateOrUpdate",
- "parameters": [
- {
- "name": "peerAsnName",
- "in": "path",
- "description": "The peer ASN name.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peerAsn",
- "in": "body",
- "description": "The peer ASN.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- "201": {
- "description": "Created",
- "schema": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create a peer ASN": {
- "$ref": "./examples/CreatePeerAsn.json"
- }
- }
- },
- "delete": {
- "tags": [
- "PeerAsns"
- ],
- "description": "Deletes an existing peer ASN with the specified name under the given subscription.",
- "operationId": "PeerAsns_Delete",
- "parameters": [
- {
- "name": "peerAsnName",
- "in": "path",
- "description": "The peer ASN name.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "204": {
- "description": "No Content"
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete a peer ASN": {
- "$ref": "./examples/DeletePeerAsn.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns": {
- "get": {
- "tags": [
- "PeerAsns"
- ],
- "description": "Lists all of the peer ASNs under the given subscription.",
- "operationId": "PeerAsns_ListBySubscription",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeerAsnListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peer ASNs in a subscription": {
- "$ref": "./examples/ListPeerAsnsBySubscription.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringLocations": {
- "get": {
- "tags": [
- "PeeringLocations"
- ],
- "description": "Lists all of the available peering locations for the specified kind of peering.",
- "operationId": "PeeringLocations_List",
- "parameters": [
- {
- "name": "kind",
- "in": "query",
- "description": "The kind of the peering.",
- "required": true,
- "type": "string",
- "enum": [
- "Direct",
- "Exchange"
- ]
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringLocationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List direct peering locations": {
- "$ref": "./examples/ListDirectPeeringLocations.json"
- },
- "List exchange peering locations": {
- "$ref": "./examples/ListExchangePeeringLocations.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}": {
- "get": {
- "tags": [
- "Peerings"
- ],
- "description": "Gets an existing peering with the specified name under the given subscription and resource group.",
- "operationId": "Peerings_Get",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringName",
- "in": "path",
- "description": "The name of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get a peering": {
- "$ref": "./examples/GetPeering.json"
- }
- }
- },
- "put": {
- "tags": [
- "Peerings"
- ],
- "description": "Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group.",
- "operationId": "Peerings_CreateOrUpdate",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringName",
- "in": "path",
- "description": "The name of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peering",
- "in": "body",
- "description": "The properties needed to create or update a peering.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- "201": {
- "description": "Created",
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create a direct peering": {
- "$ref": "./examples/CreateDirectPeering.json"
- },
- "Create an exchange peering": {
- "$ref": "./examples/CreateExchangePeering.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Peerings"
- ],
- "description": "Deletes an existing peering with the specified name under the given subscription and resource group.",
- "operationId": "Peerings_Delete",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringName",
- "in": "path",
- "description": "The name of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "204": {
- "description": "NoContent"
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete a peering": {
- "$ref": "./examples/DeletePeering.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Peerings"
- ],
- "description": "Updates tags for a peering with the specified name under the given subscription and resource group.",
- "operationId": "Peerings_Update",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringName",
- "in": "path",
- "description": "The name of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "name": "tags",
- "in": "body",
- "description": "The resource tags.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ResourceTags"
- }
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/Peering"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Update peering tags": {
- "$ref": "./examples/UpdatePeeringTags.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings": {
- "get": {
- "tags": [
- "Peerings"
- ],
- "description": "Lists all of the peerings under the given subscription and resource group.",
- "operationId": "Peerings_ListByResourceGroup",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peerings in a resource group": {
- "$ref": "./examples/ListPeeringsByResourceGroup.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerings": {
- "get": {
- "tags": [
- "Peerings"
- ],
- "description": "Lists all of the peerings under the given subscription.",
- "operationId": "Peerings_ListBySubscription",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peerings in a subscription": {
- "$ref": "./examples/ListPeeringsBySubscription.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceLocations": {
- "get": {
- "tags": [
- "PeeringServiceLocations"
- ],
- "description": "Lists all of the available peering service locations for the specified kind of peering.",
- "operationId": "PeeringServiceLocations_List",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringServiceLocationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peering service locations": {
- "$ref": "./examples/ListPeeringServiceLocations.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}": {
- "get": {
- "tags": [
- "PeeringServicePrefixes"
- ],
- "description": "Gets the peering service prefix.",
- "operationId": "PeeringServicePrefixes_Get",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The resource group name.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringServiceName",
- "in": "path",
- "description": "The peering service name.",
- "required": true,
- "type": "string"
- },
- {
- "name": "prefixName",
- "in": "path",
- "description": "The prefix name.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringServicePrefix"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get a prefix associated with the peering service": {
- "$ref": "./examples/GetPeeringServicePrefix.json"
- }
- }
- },
- "put": {
- "tags": [
- "PeeringServicePrefixes"
- ],
- "description": "Creates or updates the peering prefix.",
- "operationId": "PeeringServicePrefixes_CreateOrUpdate",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The resource group name.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringServiceName",
- "in": "path",
- "description": "The peering service name.",
- "required": true,
- "type": "string"
- },
- {
- "name": "prefixName",
- "in": "path",
- "description": "The prefix name",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringServicePrefix",
- "in": "body",
- "description": "The IP prefix for an peering",
- "required": true,
- "schema": {
- "$ref": "#/definitions/PeeringServicePrefix"
- }
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringServicePrefix"
- }
- },
- "201": {
- "description": "Created",
- "schema": {
- "$ref": "#/definitions/PeeringServicePrefix"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update a prefix for the peering service": {
- "$ref": "./examples/CreatePeeringServicePrefix.json"
- }
- }
- },
- "delete": {
- "tags": [
- "PeeringServicePrefixes"
- ],
- "description": "removes the peering prefix.",
- "operationId": "PeeringServicePrefixes_Delete",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The resource group name.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringServiceName",
- "in": "path",
- "description": "The peering service name.",
- "required": true,
- "type": "string"
- },
- {
- "name": "prefixName",
- "in": "path",
- "description": "The prefix name",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "204": {
- "description": "NoContent"
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete a prefix associated with the peering service": {
- "$ref": "./examples/DeletePeeringServicePrefix.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes": {
- "get": {
- "tags": [
- "PeeringServicePrefixes"
- ],
- "description": "Lists the peerings prefix in the resource group.",
- "operationId": "Prefixes_ListByPeeringService",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The resource group name.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringServiceName",
- "in": "path",
- "description": "The peering service name.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringServicePrefixListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List all the prefixes associated with the peering service": {
- "$ref": "./examples/ListPrefixesByPeeringService.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceProviders": {
- "get": {
- "tags": [
- "PeeringServiceProviders"
- ],
- "description": "Lists all of the available peering service locations for the specified kind of peering.",
- "operationId": "PeeringServiceProviders_List",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringServiceProviderListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peering service providers": {
- "$ref": "./examples/ListPeeringServiceProviders.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}": {
- "get": {
- "tags": [
- "PeeringServices"
- ],
- "description": "Gets an existing peering service with the specified name under the given subscription and resource group.",
- "operationId": "PeeringServices_Get",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringServiceName",
- "in": "path",
- "description": "The name of the peering.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringService"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get a peering service": {
- "$ref": "./examples/GetPeeringService.json"
- }
- }
- },
- "put": {
- "tags": [
- "PeeringServices"
- ],
- "description": "Creates a new peering service or updates an existing peering with the specified name under the given subscription and resource group.",
- "operationId": "PeeringServices_CreateOrUpdate",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringServiceName",
- "in": "path",
- "description": "The name of the peering service.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringService",
- "in": "body",
- "description": "The properties needed to create or update a peering service.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/PeeringService"
- }
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringService"
- }
- },
- "201": {
- "description": "Created",
- "schema": {
- "$ref": "#/definitions/PeeringService"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create a peering service": {
- "$ref": "./examples/CreatePeeringService.json"
- }
- }
- },
- "delete": {
- "tags": [
- "PeeringServices"
- ],
- "description": "Deletes an existing peering service with the specified name under the given subscription and resource group.",
- "operationId": "PeeringServices_Delete",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringServiceName",
- "in": "path",
- "description": "The name of the peering service.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "204": {
- "description": "NoContent"
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete a peering service": {
- "$ref": "./examples/DeletePeeringService.json"
- }
- }
- },
- "patch": {
- "tags": [
- "PeeringServices"
- ],
- "description": "Updates tags for a peering service with the specified name under the given subscription and resource group.",
- "operationId": "PeeringServices_Update",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "name": "peeringServiceName",
- "in": "path",
- "description": "The name of the peering service.",
- "required": true,
- "type": "string"
- },
- {
- "name": "tags",
- "in": "body",
- "description": "The resource tags.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ResourceTags"
- }
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringService"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Update peering service tags": {
- "$ref": "./examples/UpdatePeeringServiceTags.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices": {
- "get": {
- "tags": [
- "PeeringServices"
- ],
- "description": "Lists all of the peering services under the given subscription and resource group.",
- "operationId": "PeeringServices_ListByResourceGroup",
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringServiceListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peering services in a resource group": {
- "$ref": "./examples/ListPeeringServicesByResourceGroup.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServices": {
- "get": {
- "tags": [
- "PeeringServices"
- ],
- "description": "Lists all of the peerings under the given subscription.",
- "operationId": "PeeringServices_ListBySubscription",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/PeeringServiceListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation has failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List peering services in a subscription": {
- "$ref": "./examples/ListPeeringServicesBySubscription.json"
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "definitions": {
- "CheckServiceProviderAvailabilityInput": {
- "description": "Class for CheckServiceProviderAvailabilityInput",
- "type": "object",
- "properties": {
- "peeringServiceLocation": {
- "description": "Gets or sets the PeeringServiceLocation",
- "type": "string"
- },
- "peeringServiceProvider": {
- "description": "Gets or sets the PeeringServiceProvider",
- "type": "string"
- }
- }
- },
- "PeeringListResult": {
- "description": "The paginated list of peerings.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peerings.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Peering"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peerings.",
- "type": "string"
- }
- }
- },
- "Peering": {
- "description": "Peering is a logical representation of a set of connections to the Microsoft Cloud Edge at a location.",
- "required": [
- "sku",
- "kind",
- "location"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "sku": {
- "$ref": "#/definitions/PeeringSku",
- "description": "The SKU that defines the tier and kind of the peering."
- },
- "kind": {
- "description": "The kind of the peering.",
- "enum": [
- "Direct",
- "Exchange"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
- },
- "properties": {
- "$ref": "#/definitions/PeeringProperties",
- "description": "The properties that define a peering.",
- "x-ms-client-flatten": true
- },
- "location": {
- "description": "The location of the resource.",
- "type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ]
- },
- "tags": {
- "description": "The resource tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- }
- },
- "PeeringSku": {
- "description": "The SKU that defines the tier and kind of the peering.",
- "type": "object",
- "properties": {
- "name": {
- "description": "The name of the peering SKU.",
- "enum": [
- "Basic_Exchange_Free",
- "Basic_Direct_Free",
- "Premium_Direct_Free",
- "Premium_Exchange_Metered"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "name",
- "modelAsString": true
- }
- },
- "tier": {
- "description": "The tier of the peering SKU.",
- "enum": [
- "Basic",
- "Premium"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "tier",
- "modelAsString": true
- }
- },
- "family": {
- "description": "The family of the peering SKU.",
- "enum": [
- "Direct",
- "Exchange"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "family",
- "modelAsString": true
- }
- },
- "size": {
- "description": "The size of the peering SKU.",
- "enum": [
- "Free",
- "Metered",
- "Unlimited"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "size",
- "modelAsString": true
- }
- }
- }
- },
- "PeeringProperties": {
- "description": "The properties that define connectivity to the Microsoft Cloud Edge.",
- "type": "object",
- "properties": {
- "direct": {
- "$ref": "#/definitions/PeeringPropertiesDirect",
- "description": "The properties that define a direct peering."
- },
- "exchange": {
- "$ref": "#/definitions/PeeringPropertiesExchange",
- "description": "The properties that define an exchange peering."
- },
- "peeringLocation": {
- "description": "The location of the peering.",
- "type": "string"
- },
- "provisioningState": {
- "description": "The provisioning state of the resource.",
- "enum": [
- "Succeeded",
- "Updating",
- "Deleting",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
- }
- }
- }
- },
- "PeeringPropertiesDirect": {
- "description": "The properties that define a direct peering.",
- "type": "object",
- "properties": {
- "connections": {
- "description": "The set of connections that constitute a direct peering.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/DirectConnection"
- }
- },
- "useForPeeringService": {
- "description": "The flag that indicates whether or not the peering is used for peering service.",
- "type": "boolean"
- },
- "peerAsn": {
- "$ref": "#/definitions/SubResource",
- "description": "The reference of the peer ASN."
- }
- }
- },
- "PeeringPropertiesExchange": {
- "description": "The properties that define an exchange peering.",
- "type": "object",
- "properties": {
- "connections": {
- "description": "The set of connections that constitute an exchange peering.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ExchangeConnection"
- }
- },
- "peerAsn": {
- "$ref": "#/definitions/SubResource",
- "description": "The reference of the peer ASN."
- }
- }
- },
- "DirectConnection": {
- "description": "The properties that define a direct connection.",
- "type": "object",
- "properties": {
- "bandwidthInMbps": {
- "format": "int32",
- "description": "The bandwidth of the connection.",
- "type": "integer"
- },
- "provisionedBandwidthInMbps": {
- "format": "int32",
- "description": "The bandwidth that is actually provisioned.",
- "type": "integer"
- },
- "peeringDBFacilityId": {
- "format": "int32",
- "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.",
- "type": "integer"
- },
- "connectionState": {
- "description": "The state of the connection.",
- "enum": [
- "None",
- "PendingApproval",
- "Approved",
- "ProvisioningStarted",
- "ProvisioningFailed",
- "ProvisioningCompleted",
- "Validating",
- "Active"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "connectionState",
- "modelAsString": true
- }
- },
- "bgpSession": {
- "$ref": "#/definitions/BgpSession",
- "description": "The BGP session associated with the connection."
- },
- "connectionIdentifier": {
- "description": "The unique identifier (GUID) for the connection.",
- "type": "string"
- }
- }
- },
- "ErrorResponse": {
- "description": "The error response that indicates why an operation has failed.",
- "type": "object",
- "properties": {
- "code": {
- "description": "The error code.",
- "type": "string",
- "readOnly": true
- },
- "message": {
- "description": "The error message.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "Resource": {
- "description": "The ARM resource class.",
- "type": "object",
- "properties": {
- "name": {
- "description": "The name of the resource.",
- "type": "string",
- "readOnly": true
- },
- "id": {
- "description": "The ID of the resource.",
- "type": "string",
- "readOnly": true
- },
- "type": {
- "description": "The type of the resource.",
- "type": "string",
- "readOnly": true
- }
- },
- "x-ms-azure-resource": true
- },
- "SubResource": {
- "description": "The sub resource.",
- "type": "object",
- "properties": {
- "id": {
- "description": "The identifier of the referenced resource.",
- "type": "string"
- }
- }
- },
- "ExchangeConnection": {
- "description": "The properties that define an exchange connection.",
- "type": "object",
- "properties": {
- "peeringDBFacilityId": {
- "format": "int32",
- "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.",
- "type": "integer"
- },
- "connectionState": {
- "description": "The state of the connection.",
- "enum": [
- "None",
- "PendingApproval",
- "Approved",
- "ProvisioningStarted",
- "ProvisioningFailed",
- "ProvisioningCompleted",
- "Validating",
- "Active"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "connectionState",
- "modelAsString": true
- }
- },
- "bgpSession": {
- "$ref": "#/definitions/BgpSession",
- "description": "The BGP session associated with the connection."
- },
- "connectionIdentifier": {
- "description": "The unique identifier (GUID) for the connection.",
- "type": "string"
- }
- }
- },
- "BgpSession": {
- "description": "The properties that define a BGP session.",
- "type": "object",
- "properties": {
- "sessionPrefixV4": {
- "description": "The IPv4 prefix that contains both ends' IPv4 addresses.",
- "type": "string"
- },
- "sessionPrefixV6": {
- "description": "The IPv6 prefix that contains both ends' IPv6 addresses.",
- "type": "string"
- },
- "microsoftSessionIPv4Address": {
- "description": "The IPv4 session address on Microsoft's end.",
- "type": "string",
- "readOnly": true
- },
- "microsoftSessionIPv6Address": {
- "description": "The IPv6 session address on Microsoft's end.",
- "type": "string",
- "readOnly": true
- },
- "peerSessionIPv4Address": {
- "description": "The IPv4 session address on peer's end.",
- "type": "string"
- },
- "peerSessionIPv6Address": {
- "description": "The IPv6 session address on peer's end.",
- "type": "string"
- },
- "sessionStateV4": {
- "description": "The state of the IPv4 session.",
- "enum": [
- "None",
- "Idle",
- "Connect",
- "Active",
- "OpenSent",
- "OpenConfirm",
- "OpenReceived",
- "Established",
- "PendingAdd",
- "PendingUpdate",
- "PendingRemove"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "sessionStateV4",
- "modelAsString": true
- }
- },
- "sessionStateV6": {
- "description": "The state of the IPv6 session.",
- "enum": [
- "None",
- "Idle",
- "Connect",
- "Active",
- "OpenSent",
- "OpenConfirm",
- "OpenReceived",
- "Established",
- "PendingAdd",
- "PendingUpdate",
- "PendingRemove"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "sessionStateV6",
- "modelAsString": true
- }
- },
- "maxPrefixesAdvertisedV4": {
- "format": "int32",
- "description": "The maximum number of prefixes advertised over the IPv4 session.",
- "type": "integer"
- },
- "maxPrefixesAdvertisedV6": {
- "format": "int32",
- "description": "The maximum number of prefixes advertised over the IPv6 session.",
- "type": "integer"
- },
- "md5AuthenticationKey": {
- "description": "The MD5 authentication key of the session.",
- "type": "string"
- }
- }
- },
- "OperationListResult": {
- "description": "The paginated list of peering API operations.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peering API operations.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Operation"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peering API operations.",
- "type": "string"
- }
- }
- },
- "Operation": {
- "description": "The peering API operation.",
- "type": "object",
- "properties": {
- "name": {
- "description": "The name of the operation.",
- "type": "string",
- "readOnly": true
- },
- "display": {
- "$ref": "#/definitions/OperationDisplayInfo",
- "description": "The information related to the operation.",
- "readOnly": true
- },
- "isDataAction": {
- "description": "The flag that indicates whether the operation applies to data plane.",
- "type": "boolean",
- "readOnly": true
- }
- }
- },
- "OperationDisplayInfo": {
- "description": "The information related to the operation.",
- "type": "object",
- "properties": {
- "provider": {
- "description": "The name of the resource provider.",
- "type": "string",
- "readOnly": true
- },
- "resource": {
- "description": "The type of the resource.",
- "type": "string",
- "readOnly": true
- },
- "operation": {
- "description": "The name of the operation.",
- "type": "string",
- "readOnly": true
- },
- "description": {
- "description": "The description of the operation.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "PeerAsn": {
- "description": "The essential information related to the peer's ASN.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/PeerAsnProperties",
- "description": "The properties that define a peer's ASN.",
- "x-ms-client-flatten": true
- }
- }
- },
- "PeerAsnProperties": {
- "description": "The properties that define a peer's ASN.",
- "type": "object",
- "properties": {
- "peerAsn": {
- "format": "int32",
- "description": "The Autonomous System Number (ASN) of the peer.",
- "type": "integer"
- },
- "peerContactInfo": {
- "$ref": "#/definitions/ContactInfo",
- "description": "The contact information of the peer."
- },
- "peerName": {
- "description": "The name of the peer.",
- "type": "string"
- },
- "validationState": {
- "description": "The validation state of the ASN associated with the peer.",
- "enum": [
- "None",
- "Pending",
- "Approved",
- "Failed"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "validationState",
- "modelAsString": true
- }
- }
- }
- },
- "ContactInfo": {
- "description": "The contact information of the peer.",
- "type": "object",
- "properties": {
- "emails": {
- "description": "The list of email addresses.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "phone": {
- "description": "The list of contact numbers.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "PeerAsnListResult": {
- "description": "The paginated list of peer ASNs.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peer ASNs.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PeerAsn"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peer ASNs.",
- "type": "string"
- }
- }
- },
- "PeeringLocationListResult": {
- "description": "The paginated list of peering locations.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peering locations.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PeeringLocation"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peering locations.",
- "type": "string"
- }
- }
- },
- "PeeringLocation": {
- "description": "Peering location is where connectivity could be established to the Microsoft Cloud Edge.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "kind": {
- "description": "The kind of peering that the peering location supports.",
- "enum": [
- "Direct",
- "Exchange"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
- },
- "properties": {
- "$ref": "#/definitions/PeeringLocationProperties",
- "description": "The properties that define a peering location.",
- "x-ms-client-flatten": true
- }
- }
- },
- "PeeringLocationProperties": {
- "description": "The properties that define a peering location.",
- "type": "object",
- "properties": {
- "direct": {
- "$ref": "#/definitions/PeeringLocationPropertiesDirect",
- "description": "The properties that define a direct peering location."
- },
- "exchange": {
- "$ref": "#/definitions/PeeringLocationPropertiesExchange",
- "description": "The properties that define an exchange peering location."
- },
- "peeringLocation": {
- "description": "The name of the peering location.",
- "type": "string"
- },
- "country": {
- "description": "The country in which the peering location exists.",
- "type": "string"
- },
- "azureRegion": {
- "description": "The Azure region associated with the peering location.",
- "type": "string"
- }
- }
- },
- "PeeringLocationPropertiesDirect": {
- "description": "The properties that define a direct peering location.",
- "type": "object",
- "properties": {
- "peeringFacilities": {
- "description": "The list of direct peering facilities at the peering location.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/DirectPeeringFacility"
- }
- },
- "bandwidthOffers": {
- "description": "The list of bandwidth offers available at the peering location.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PeeringBandwidthOffer"
- }
- }
- }
- },
- "PeeringLocationPropertiesExchange": {
- "description": "The properties that define an exchange peering location.",
- "type": "object",
- "properties": {
- "peeringFacilities": {
- "description": "The list of exchange peering facilities at the peering location.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ExchangePeeringFacility"
- }
- }
- }
- },
- "DirectPeeringFacility": {
- "description": "The properties that define a direct peering facility.",
- "type": "object",
- "properties": {
- "address": {
- "description": "The address of the direct peering facility.",
- "type": "string"
- },
- "peeringDBFacilityId": {
- "format": "int32",
- "description": "The PeeringDB.com ID of the facility.",
- "type": "integer"
- },
- "peeringDBFacilityLink": {
- "description": "The PeeringDB.com URL of the facility.",
- "type": "string"
- }
- }
- },
- "PeeringBandwidthOffer": {
- "description": "The properties that define a peering bandwidth offer.",
- "type": "object",
- "properties": {
- "offerName": {
- "description": "The name of the bandwidth offer.",
- "type": "string"
- },
- "valueInMbps": {
- "format": "int32",
- "description": "The value of the bandwidth offer in Mbps.",
- "type": "integer"
- }
- }
- },
- "ExchangePeeringFacility": {
- "description": "The properties that define an exchange peering facility.",
- "type": "object",
- "properties": {
- "exchangeName": {
- "description": "The name of the exchange peering facility.",
- "type": "string"
- },
- "bandwidthInMbps": {
- "format": "int32",
- "description": "The bandwidth of the connection between Microsoft and the exchange peering facility.",
- "type": "integer"
- },
- "microsoftIPv4Address": {
- "description": "The IPv4 address of Microsoft at the exchange peering facility.",
- "type": "string"
- },
- "microsoftIPv6Address": {
- "description": "The IPv6 address of Microsoft at the exchange peering facility.",
- "type": "string"
- },
- "facilityIPv4Prefix": {
- "description": "The IPv4 prefixes associated with the exchange peering facility.",
- "type": "string"
- },
- "facilityIPv6Prefix": {
- "description": "The IPv6 prefixes associated with the exchange peering facility.",
- "type": "string"
- },
- "peeringDBFacilityId": {
- "format": "int32",
- "description": "The PeeringDB.com ID of the facility.",
- "type": "integer"
- },
- "peeringDBFacilityLink": {
- "description": "The PeeringDB.com URL of the facility.",
- "type": "string"
- }
- }
- },
- "ResourceTags": {
- "description": "The resource tags.",
- "type": "object",
- "properties": {
- "tags": {
- "description": "Gets or sets the tags, a dictionary of descriptors arm object",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- }
- },
- "PeeringServiceLocationListResult": {
- "description": "The paginated list of peering service locations.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peering service locations.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PeeringServiceLocation"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peering service locations.",
- "type": "string"
- }
- }
- },
- "PeeringServiceLocation": {
- "description": "PeeringService location",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/PeeringServiceLocationProperties",
- "description": "The properties that define a peering service location.",
- "x-ms-client-flatten": true
- }
- }
- },
- "PeeringServiceLocationProperties": {
- "description": "The properties that define connectivity to the Peering Service Location.",
- "type": "object",
- "properties": {
- "country": {
- "description": "Country of the customer",
- "type": "string"
- },
- "state": {
- "description": "State of the customer",
- "type": "string"
- },
- "azureRegion": {
- "description": "Azure region for the location",
- "type": "string"
- }
- }
- },
- "PeeringServicePrefix": {
- "description": "The peering service prefix class.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/PeeringServicePrefixProperties",
- "description": "Gets or sets the peering prefix properties.",
- "x-ms-client-flatten": true
- }
- }
- },
- "PeeringServicePrefixProperties": {
- "description": "The peering service prefix properties class.",
- "type": "object",
- "properties": {
- "prefix": {
- "description": "Valid route prefix",
- "type": "string"
- },
- "prefixValidationState": {
- "description": "The prefix validation state",
- "enum": [
- "None",
- "Invalid",
- "Verified",
- "Failed",
- "Pending",
- "Unknown"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "prefixValidationState",
- "modelAsString": true
- }
- },
- "learnedType": {
- "description": "The prefix learned type",
- "enum": [
- "None",
- "ViaPartner",
- "ViaSession"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "learnedType",
- "modelAsString": true
- }
- },
- "provisioningState": {
- "description": "The provisioning state of the resource.",
- "enum": [
- "Succeeded",
- "Updating",
- "Deleting",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
- }
- }
- }
- },
- "PeeringServicePrefixListResult": {
- "description": "The paginated list of [T].",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of [T].",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PeeringServicePrefix"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of [T].",
- "type": "string"
- }
- }
- },
- "PeeringServiceProviderListResult": {
- "description": "The paginated list of peering service providers.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peering service providers.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PeeringServiceProvider"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peering service providers.",
- "type": "string"
- }
- }
- },
- "PeeringServiceProvider": {
- "description": "PeeringService provider",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/PeeringServiceProviderProperties",
- "description": "The properties that define a peering service provider.",
- "x-ms-client-flatten": true
- }
- }
- },
- "PeeringServiceProviderProperties": {
- "description": "The properties that define connectivity to the Peering Service Provider.",
- "type": "object",
- "properties": {
- "serviceProviderName": {
- "description": "The name of the service provider.",
- "type": "string"
- }
- }
- },
- "PeeringService": {
- "description": "Peering Service",
- "required": [
- "location"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/PeeringServiceProperties",
- "description": "The properties that define a peering service.",
- "x-ms-client-flatten": true
- },
- "location": {
- "description": "The location of the resource.",
- "type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ]
- },
- "tags": {
- "description": "The resource tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- }
- },
- "PeeringServiceProperties": {
- "description": "The properties that define connectivity to the Peering Service.",
- "type": "object",
- "properties": {
- "peeringServiceLocation": {
- "description": "The PeeringServiceLocation of the Customer.",
- "type": "string"
- },
- "peeringServiceProvider": {
- "description": "The MAPS Provider Name.",
- "type": "string"
- },
- "provisioningState": {
- "description": "The provisioning state of the resource.",
- "enum": [
- "Succeeded",
- "Updating",
- "Deleting",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
- }
- }
- }
- },
- "PeeringServiceListResult": {
- "description": "The paginated list of peering services.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of peering services.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PeeringService"
- }
- },
- "nextLink": {
- "description": "The link to fetch the next page of peering services.",
- "type": "string"
- }
- }
- }
- },
- "parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "description": "The Azure subscription ID.",
- "required": true,
- "type": "string"
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "description": "The client API version.",
- "required": true,
- "type": "string"
- }
- },
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "description": "Azure Active Directory OAuth2 Flow.",
- "flow": "implicit",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ]
-}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-08-01-preview/peering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-08-01-preview/peering.json
index 6bdcee586d1c..5e181d26d38f 100644
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-08-01-preview/peering.json
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-08-01-preview/peering.json
@@ -27,7 +27,7 @@
{
"name": "checkServiceProviderAvailabilityInput",
"in": "body",
- "description": "The CheckServiceProviderAvailabilityInput indicating customer location and service provider.",
+ "description": "The CheckServiceProviderAvailabilityInput\r\n indicating customer location and service provider.",
"required": true,
"schema": {
"$ref": "#/definitions/CheckServiceProviderAvailabilityInput"
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CheckServiceProviderAvailability.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CheckServiceProviderAvailability.json
similarity index 87%
rename from specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CheckServiceProviderAvailability.json
rename to specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CheckServiceProviderAvailability.json
index 115c45334722..6a4a7d5dadd9 100644
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CheckServiceProviderAvailability.json
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CheckServiceProviderAvailability.json
@@ -1,7 +1,7 @@
{
"parameters": {
"subscriptionId": "subId",
- "api-version": "2019-07-01-preview",
+ "api-version": "2019-09-01-preview",
"checkServiceProviderAvailabilityInput": {
"peeringServiceLocation": "peeringServiceLocation1",
"peeringServiceProvider": "peeringServiceProvider1"
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreateDirectPeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreateDirectPeering.json
new file mode 100644
index 000000000000..e676688b0577
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreateDirectPeering.json
@@ -0,0 +1,169 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2019-09-01-preview",
+ "peering": {
+ "sku": {
+ "name": "Basic_Direct_Free"
+ },
+ "kind": "Direct",
+ "properties": {
+ "direct": {
+ "connections": [
+ {
+ "bandwidthInMbps": 10000,
+ "sessionAddressProvider": "Peer",
+ "useForPeeringService": false,
+ "peeringDBFacilityId": 99999,
+ "bgpSession": {
+ "sessionPrefixV4": "192.168.0.0/31",
+ "sessionPrefixV6": "fd00::0/127",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16"
+ },
+ {
+ "bandwidthInMbps": 10000,
+ "sessionAddressProvider": "Microsoft",
+ "useForPeeringService": true,
+ "peeringDBFacilityId": 99999,
+ "connectionIdentifier": "8AB00818-D533-4504-A25A-03A17F61201C"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ },
+ "directPeeringType": "Edge"
+ },
+ "peeringLocation": "peeringLocation0"
+ },
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Basic_Direct_Free",
+ "tier": "Basic",
+ "family": "Direct",
+ "size": "Free"
+ },
+ "kind": "Direct",
+ "properties": {
+ "direct": {
+ "connections": [
+ {
+ "bandwidthInMbps": 10000,
+ "provisionedBandwidthInMbps": 10000,
+ "sessionAddressProvider": "Peer",
+ "useForPeeringService": false,
+ "peeringDBFacilityId": 99999,
+ "connectionState": "ProvisioningFailed",
+ "bgpSession": {
+ "sessionPrefixV4": "192.168.0.0/31",
+ "sessionPrefixV6": "fd00::0/127",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16",
+ "errorMessage": "IPv4 address is already configured with a different ASN"
+ },
+ {
+ "bandwidthInMbps": 10000,
+ "provisionedBandwidthInMbps": 10000,
+ "sessionAddressProvider": "Microsoft",
+ "useForPeeringService": true,
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "sessionPrefixV4": "192.168.1.0/31",
+ "sessionPrefixV6": "fd00::2/127",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "8AB00818-D533-4504-A25A-03A17F61201C"
+ }
+ ],
+ "useForPeeringService": false,
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ },
+ "directPeeringType": "Edge"
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Basic_Direct_Free",
+ "tier": "Basic",
+ "family": "Direct",
+ "size": "Free"
+ },
+ "kind": "Direct",
+ "properties": {
+ "direct": {
+ "connections": [
+ {
+ "bandwidthInMbps": 10000,
+ "provisionedBandwidthInMbps": 0,
+ "sessionAddressProvider": "Peer",
+ "useForPeeringService": false,
+ "peeringDBFacilityId": 99999,
+ "connectionState": "PendingApproval",
+ "bgpSession": {
+ "sessionPrefixV4": "192.168.0.0/31",
+ "sessionPrefixV6": "fd00::0/127",
+ "sessionStateV4": "PendingAdd",
+ "sessionStateV6": "PendingAdd",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16"
+ },
+ {
+ "bandwidthInMbps": 10000,
+ "provisionedBandwidthInMbps": 0,
+ "sessionAddressProvider": "Microsoft",
+ "useForPeeringService": true,
+ "peeringDBFacilityId": 99999,
+ "connectionState": "PendingApproval",
+ "connectionIdentifier": "8AB00818-D533-4504-A25A-03A17F61201C"
+ }
+ ],
+ "useForPeeringService": false,
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ },
+ "directPeeringType": "Edge"
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreateExchangePeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreateExchangePeering.json
new file mode 100644
index 000000000000..9e109029a08d
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreateExchangePeering.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2019-09-01-preview",
+ "peering": {
+ "sku": {
+ "name": "Basic_Exchange_Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "bgpSession": {
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "bgpSession": {
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0"
+ },
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "ProvisioningFailed",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D",
+ "errorMessage": "IPv4 address is already configured with a different ASN"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "PendingApproval",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "PendingAdd",
+ "sessionStateV6": "PendingAdd",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "PendingApproval",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "PendingAdd",
+ "sessionStateV6": "PendingAdd",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreatePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreatePeerAsn.json
new file mode 100644
index 000000000000..066d66dc08f2
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreatePeerAsn.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "peerAsnName": "peerAsnName",
+ "api-version": "2019-09-01-preview",
+ "peerAsn": {
+ "properties": {
+ "peerAsn": 65000,
+ "peerContactInfo": {
+ "emails": [
+ "abc@contoso.com",
+ "xyz@contoso.com"
+ ],
+ "phone": [
+ "+1 (234) 567-8900"
+ ]
+ },
+ "peerName": "Contoso"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "peerAsn": 65000,
+ "peerContactInfo": {
+ "emails": [
+ "abc@contoso.com",
+ "xyz@contoso.com"
+ ],
+ "phone": [
+ "+1 (234) 567-8900"
+ ]
+ },
+ "peerName": "Contoso",
+ "validationState": "Pending"
+ },
+ "name": "peerAsnName",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
+ "type": "Microsoft.Peering/peerAsns"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "peerAsn": 65000,
+ "peerContactInfo": {
+ "emails": [
+ "abc@contoso.com",
+ "xyz@contoso.com"
+ ],
+ "phone": [
+ "+1 (234) 567-8900"
+ ]
+ },
+ "peerName": "Contoso",
+ "validationState": "Pending"
+ },
+ "name": "peerAsnName",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
+ "type": "Microsoft.Peering/peerAsns"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreatePeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreatePeeringService.json
similarity index 96%
rename from specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreatePeeringService.json
rename to specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreatePeeringService.json
index 1efc460ea9b0..e0e40afb85ea 100644
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/CreatePeeringService.json
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreatePeeringService.json
@@ -3,7 +3,7 @@
"subscriptionId": "subId",
"resourceGroupName": "rgName",
"peeringServiceName": "peeringServiceName",
- "api-version": "2019-07-01-preview",
+ "api-version": "2019-09-01-preview",
"peeringService": {
"properties": {
"peeringServiceLocation": "state1",
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreatePeeringServicePrefix.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreatePeeringServicePrefix.json
new file mode 100644
index 000000000000..29ec966fbd0f
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/CreatePeeringServicePrefix.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringServiceName": "peeringServiceName",
+ "prefixName": "peeringServicePrefixName",
+ "api-version": "2019-09-01-preview",
+ "peeringServicePrefix": {
+ "properties": {
+ "prefix": "192.168.1.0/24"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "prefix": "192.168.1.0/24",
+ "prefixValidationState": "Failed",
+ "learnedType": "ViaServiceProvider",
+ "errorMessage": "Prefix is not announced by the service provider to Microsoft.",
+ "provisioningState": "Succeeded"
+ },
+ "name": "peeringServicePrefixName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "prefix": "192.168.1.0/24",
+ "prefixValidationState": "Failed",
+ "learnedType": "ViaServiceProvider",
+ "errorMessage": "Prefix is not announced by the service provider to Microsoft.",
+ "provisioningState": "Succeeded"
+ },
+ "name": "peeringServicePrefixName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/DeletePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/DeletePeerAsn.json
new file mode 100644
index 000000000000..4d97a99e7189
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/DeletePeerAsn.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "peerAsnName": "peerAsnName",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/DeletePeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/DeletePeering.json
new file mode 100644
index 000000000000..8373e6b0d8a3
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/DeletePeering.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/DeletePeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/DeletePeeringService.json
similarity index 82%
rename from specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/DeletePeeringService.json
rename to specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/DeletePeeringService.json
index 5f20e510723d..e7028297bd9b 100644
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/DeletePeeringService.json
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/DeletePeeringService.json
@@ -3,7 +3,7 @@
"subscriptionId": "subId",
"resourceGroupName": "rgName",
"peeringServiceName": "peeringServiceName",
- "api-version": "2019-07-01-preview"
+ "api-version": "2019-09-01-preview"
},
"responses": {
"200": {},
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/DeletePeeringServicePrefix.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/DeletePeeringServicePrefix.json
similarity index 85%
rename from specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/DeletePeeringServicePrefix.json
rename to specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/DeletePeeringServicePrefix.json
index d830cd21c637..ec7fd97c41d7 100644
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/DeletePeeringServicePrefix.json
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/DeletePeeringServicePrefix.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rgName",
"peeringServiceName": "peeringServiceName",
"prefixName": "peeringServicePrefixName",
- "api-version": "2019-07-01-preview"
+ "api-version": "2019-09-01-preview"
},
"responses": {
"200": {},
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/GetPeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/GetPeerAsn.json
new file mode 100644
index 000000000000..c7fd025f9be1
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/GetPeerAsn.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "peerAsnName": "peerAsnName",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "peerAsn": 65000,
+ "peerContactInfo": {
+ "emails": [
+ "abc@contoso.com",
+ "xyz@contoso.com"
+ ],
+ "phone": [
+ "+1 (234) 567-8900"
+ ]
+ },
+ "peerName": "Contoso",
+ "validationState": "Approved"
+ },
+ "name": "peerAsnName",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
+ "type": "Microsoft.Peering/peerAsns"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/GetPeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/GetPeering.json
new file mode 100644
index 000000000000..00949e67bccb
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/GetPeering.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/GetPeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/GetPeeringService.json
similarity index 94%
rename from specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/GetPeeringService.json
rename to specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/GetPeeringService.json
index 3cfda6907ead..d9373243369c 100644
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/GetPeeringService.json
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/GetPeeringService.json
@@ -3,7 +3,7 @@
"subscriptionId": "subId",
"resourceGroupName": "rgName",
"peeringServiceName": "peeringServiceName",
- "api-version": "2019-07-01-preview"
+ "api-version": "2019-09-01-preview"
},
"responses": {
"200": {
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/GetPeeringServicePrefix.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/GetPeeringServicePrefix.json
similarity index 87%
rename from specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/GetPeeringServicePrefix.json
rename to specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/GetPeeringServicePrefix.json
index 8e724029d220..1c6255d895cd 100644
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/GetPeeringServicePrefix.json
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/GetPeeringServicePrefix.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rgName",
"peeringServiceName": "peeringServiceName",
"prefixName": "peeringServicePrefixName",
- "api-version": "2019-07-01-preview"
+ "api-version": "2019-09-01-preview"
},
"responses": {
"200": {
@@ -12,7 +12,7 @@
"properties": {
"prefix": "192.168.1.0/24",
"prefixValidationState": "Verified",
- "learnedType": "None",
+ "learnedType": "ViaServiceProvider",
"provisioningState": "Succeeded"
},
"name": "peeringServicePrefixName",
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListDirectPeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListDirectPeeringLocations.json
new file mode 100644
index 000000000000..3758624e6edf
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListDirectPeeringLocations.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "kind": "Direct",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "kind": "Direct",
+ "properties": {
+ "direct": {
+ "peeringFacilities": [
+ {
+ "address": "address1",
+ "directPeeringType": "Edge",
+ "peeringDBFacilityId": 99999,
+ "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
+ },
+ {
+ "address": "address3",
+ "directPeeringType": "Cdn",
+ "peeringDBFacilityId": 99999,
+ "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
+ }
+ ],
+ "bandwidthOffers": [
+ {
+ "offerName": "10Gbps",
+ "valueInMbps": 10000
+ },
+ {
+ "offerName": "100Gbps",
+ "valueInMbps": 100000
+ }
+ ]
+ },
+ "peeringLocation": "peeringLocation1",
+ "country": "country1"
+ },
+ "name": "peeringLocation1",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1",
+ "type": "Microsoft.Peering/peeringLocations"
+ },
+ {
+ "kind": "Direct",
+ "properties": {
+ "direct": {
+ "peeringFacilities": [
+ {
+ "address": "address2",
+ "directPeeringType": "Edge",
+ "peeringDBFacilityId": 99999,
+ "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
+ }
+ ],
+ "bandwidthOffers": [
+ {
+ "offerName": "10Gbps",
+ "valueInMbps": 10000
+ },
+ {
+ "offerName": "100Gbps",
+ "valueInMbps": 100000
+ }
+ ]
+ },
+ "peeringLocation": "peeringLocation2",
+ "country": "country2"
+ },
+ "name": "peeringLocation2",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2",
+ "type": "Microsoft.Peering/peeringLocations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListExchangePeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListExchangePeeringLocations.json
new file mode 100644
index 000000000000..ebbaedfa718f
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListExchangePeeringLocations.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "kind": "Exchange",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "peeringFacilities": [
+ {
+ "exchangeName": "name1",
+ "bandwidthInMbps": 10000,
+ "microsoftIPv4Address": "192.168.131.1",
+ "microsoftIPv6Address": "fd00::1:1",
+ "facilityIPv4Prefix": "192.168.128.0/17",
+ "facilityIPv6Prefix": "fd00::1000:0/98",
+ "peeringDBFacilityId": 99999,
+ "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
+ },
+ {
+ "exchangeName": "name3",
+ "bandwidthInMbps": 10000,
+ "microsoftIPv4Address": "192.168.2.2",
+ "microsoftIPv6Address": "fd00::2",
+ "facilityIPv4Prefix": "192.168.0.0/17",
+ "facilityIPv6Prefix": "fd00::0/98",
+ "peeringDBFacilityId": 99999,
+ "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
+ }
+ ]
+ },
+ "peeringLocation": "peeringLocation1",
+ "country": "country1"
+ },
+ "name": "peeringLocation1",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1",
+ "type": "Microsoft.Peering/peeringLocations"
+ },
+ {
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "peeringFacilities": [
+ {
+ "exchangeName": "name2",
+ "bandwidthInMbps": 10000,
+ "microsoftIPv4Address": "192.168.2.1",
+ "microsoftIPv6Address": "fd00::2",
+ "facilityIPv4Prefix": "192.168.0.0/16",
+ "facilityIPv6Prefix": "fd00::0/98",
+ "peeringDBFacilityId": 99999,
+ "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
+ }
+ ]
+ },
+ "peeringLocation": "peeringLocation2",
+ "country": "country2"
+ },
+ "name": "peeringLocation2",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2",
+ "type": "Microsoft.Peering/peeringLocations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListLegacyPeerings.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListLegacyPeerings.json
new file mode 100644
index 000000000000..27376591a7c5
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListLegacyPeerings.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "kind": "Exchange",
+ "peeringLocation": "peeringLocation0",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "centralus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeerAsnsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeerAsnsBySubscription.json
new file mode 100644
index 000000000000..3688cd5c8ecf
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeerAsnsBySubscription.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "peerAsn": 65000,
+ "peerContactInfo": {
+ "emails": [
+ "abc@contoso.com",
+ "xyz@contoso.com"
+ ],
+ "phone": [
+ "+1 (234) 567-8900"
+ ]
+ },
+ "peerName": "Contoso",
+ "validationState": "Approved"
+ },
+ "name": "peerAsnName",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
+ "type": "Microsoft.Peering/peerAsns"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringOperations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringOperations.json
new file mode 100644
index 000000000000..bed3d9aaaa6b
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringOperations.json
@@ -0,0 +1,183 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Peering/register/action",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "Peering Resource Provider",
+ "operation": "Registers the Peering Resource Provider",
+ "description": "Registers the subscription for the Peering Resource Provider and enables the creation of peerings"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerAsns/write",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peerAsns",
+ "operation": "Write PeerAsn",
+ "description": "Write any peerAsns"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerAsns/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peerAsns",
+ "operation": "Read PeerAsn",
+ "description": "Read any peerAsns"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerAsns/delete",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peerAsns",
+ "operation": "Delete PeerAsn",
+ "description": "Delete any peerAsns"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringLocations/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peeringLocations",
+ "operation": "Read PeeringLocation",
+ "description": "Read any peeringLocations"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/legacyPeerings/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "legacyPeerings",
+ "operation": "Read LegacyPeering",
+ "description": "Read any legacyPeerings"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerings/write",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peerings",
+ "operation": "Write Peering",
+ "description": "Write any peerings"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerings/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peerings",
+ "operation": "Read Peering",
+ "description": "Read any peerings"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerings/delete",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peerings",
+ "operation": "Delete Peering",
+ "description": "Delete any peerings"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServiceLocations/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peeringServiceLocations",
+ "operation": "Read PeeringServiceLocations",
+ "description": "Read any peeringServiceLocations"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServiceProviders/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peeringServiceProviders",
+ "operation": "Read PeeringServiceProviders",
+ "description": "Read any peeringServiceProviders"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServices/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peeringServices",
+ "operation": "Read PeeringServices",
+ "description": "Read any peeringServices"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServices/write",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peeringServices",
+ "operation": "Write PeeringService",
+ "description": "Write any peeringServices"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServices/delete",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peeringServices",
+ "operation": "Delete PeeringServices",
+ "description": "Delete any peeringServices"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServices/prefixes/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "prefixes",
+ "operation": "Read PeeringServicePrefixes",
+ "description": "Read any prefixes"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServices/prefixes/write",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "prefixes",
+ "operation": "Write PeeringServicePrefixes",
+ "description": "Write any prefixes"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServices/prefixes/delete",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "prefixes",
+ "operation": "Delete PeeringServicePrefixes",
+ "description": "Delete any prefixes"
+ },
+ "isDataAction": false
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringServiceLocations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringServiceLocations.json
similarity index 95%
rename from specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringServiceLocations.json
rename to specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringServiceLocations.json
index de72df88ba8c..b868f74183a0 100644
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringServiceLocations.json
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringServiceLocations.json
@@ -1,7 +1,7 @@
{
"parameters": {
"subscriptionId": "subId",
- "api-version": "2019-07-01-preview"
+ "api-version": "2019-09-01-preview"
},
"responses": {
"200": {
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringServiceProviders.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringServiceProviders.json
similarity index 95%
rename from specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringServiceProviders.json
rename to specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringServiceProviders.json
index e3f546d0c3a0..8821d41778b0 100644
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringServiceProviders.json
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringServiceProviders.json
@@ -1,7 +1,7 @@
{
"parameters": {
"subscriptionId": "subId",
- "api-version": "2019-07-01-preview"
+ "api-version": "2019-09-01-preview"
},
"responses": {
"200": {
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringServicesByResourceGroup.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringServicesByResourceGroup.json
similarity index 94%
rename from specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringServicesByResourceGroup.json
rename to specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringServicesByResourceGroup.json
index 6a2b27b1554c..a5cb2035c933 100644
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringServicesByResourceGroup.json
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringServicesByResourceGroup.json
@@ -2,7 +2,7 @@
"parameters": {
"subscriptionId": "subId",
"resourceGroupName": "rgName",
- "api-version": "2019-07-01-preview"
+ "api-version": "2019-09-01-preview"
},
"responses": {
"200": {
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringServicesBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringServicesBySubscription.json
similarity index 94%
rename from specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringServicesBySubscription.json
rename to specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringServicesBySubscription.json
index 45aa404d2ac5..846e21843b27 100644
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPeeringServicesBySubscription.json
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringServicesBySubscription.json
@@ -1,7 +1,7 @@
{
"parameters": {
"subscriptionId": "subId",
- "api-version": "2019-07-01-preview"
+ "api-version": "2019-09-01-preview"
},
"responses": {
"200": {
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringsByResourceGroup.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringsByResourceGroup.json
new file mode 100644
index 000000000000..361e5cf135e0
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringsByResourceGroup.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringsBySubscription.json
new file mode 100644
index 000000000000..cf2aa7c29f5e
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPeeringsBySubscription.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "api-version": "2019-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPrefixesByPeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPrefixesByPeeringService.json
similarity index 88%
rename from specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPrefixesByPeeringService.json
rename to specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPrefixesByPeeringService.json
index 64e234380a94..1ca1ce98e38f 100644
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/ListPrefixesByPeeringService.json
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/ListPrefixesByPeeringService.json
@@ -3,7 +3,7 @@
"subscriptionId": "subId",
"resourceGroupName": "rgName",
"peeringServiceName": "peeringServiceName",
- "api-version": "2019-07-01-preview"
+ "api-version": "2019-09-01-preview"
},
"responses": {
"200": {
@@ -13,7 +13,7 @@
"properties": {
"prefix": "192.168.1.0/24",
"prefixValidationState": "Verified",
- "learnedType": "None",
+ "learnedType": "ViaServiceProvider",
"provisioningState": "Succeeded"
},
"name": "peeringServicePrefixName1",
@@ -23,7 +23,7 @@
"properties": {
"prefix": "192.168.2.0/24",
"prefixValidationState": "Verified",
- "learnedType": "None",
+ "learnedType": "ViaServiceProvider",
"provisioningState": "Succeeded"
},
"name": "peeringServicePrefixName2",
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/UpdatePeeringServiceTags.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/UpdatePeeringServiceTags.json
similarity index 95%
rename from specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/UpdatePeeringServiceTags.json
rename to specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/UpdatePeeringServiceTags.json
index 8553c1447a3e..cf58207e579b 100644
--- a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-07-01-preview/examples/UpdatePeeringServiceTags.json
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/UpdatePeeringServiceTags.json
@@ -3,7 +3,7 @@
"subscriptionId": "subId",
"resourceGroupName": "rgName",
"peeringServiceName": "peeringServiceName",
- "api-version": "2019-07-01-preview",
+ "api-version": "2019-09-01-preview",
"tags": {
"tags": {
"tag0": "value0",
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/UpdatePeeringTags.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/UpdatePeeringTags.json
new file mode 100644
index 000000000000..f37d2e020fc2
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/examples/UpdatePeeringTags.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2019-09-01-preview",
+ "tags": {
+ "tags": {
+ "tag0": "value0",
+ "tag1": "value1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "tags": {
+ "tag0": "value0",
+ "tag1": "value1"
+ },
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/peering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/peering.json
new file mode 100644
index 000000000000..1a59248b71e2
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-09-01-preview/peering.json
@@ -0,0 +1,2527 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-09-01-preview",
+ "title": "PeeringManagementClient",
+ "description": "APIs to manage Peering resources through the Azure Resource Manager."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/CheckServiceProviderAvailability": {
+ "post": {
+ "tags": [
+ "CheckServiceProviderAvailability"
+ ],
+ "description": "Checks if the peering service provider is present within 1000 miles of customer's location",
+ "operationId": "CheckServiceProviderAvailability",
+ "parameters": [
+ {
+ "name": "checkServiceProviderAvailabilityInput",
+ "in": "body",
+ "description": "The CheckServiceProviderAvailabilityInput indicating customer location and service provider.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckServiceProviderAvailabilityInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "enum": [
+ "Available",
+ "Unavailable"
+ ],
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check if peering service provider is available in customer location": {
+ "$ref": "./examples/CheckServiceProviderAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/legacyPeerings": {
+ "get": {
+ "tags": [
+ "LegacyPeerings"
+ ],
+ "description": "Lists all of the legacy peerings under the given subscription matching the specified kind and location.",
+ "operationId": "LegacyPeerings_List",
+ "parameters": [
+ {
+ "name": "peeringLocation",
+ "in": "query",
+ "description": "The location of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "kind",
+ "in": "query",
+ "description": "The kind of the peering.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Direct",
+ "Exchange"
+ ]
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List legacy peerings": {
+ "$ref": "./examples/ListLegacyPeerings.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Peering/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available API operations for peering resources.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peering operations": {
+ "$ref": "./examples/ListPeeringOperations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}": {
+ "get": {
+ "tags": [
+ "PeerAsns"
+ ],
+ "description": "Gets the peer ASN with the specified name under the given subscription.",
+ "operationId": "PeerAsns_Get",
+ "parameters": [
+ {
+ "name": "peerAsnName",
+ "in": "path",
+ "description": "The peer ASN name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeerAsn"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a peer ASN": {
+ "$ref": "./examples/GetPeerAsn.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PeerAsns"
+ ],
+ "description": "Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription.",
+ "operationId": "PeerAsns_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "peerAsnName",
+ "in": "path",
+ "description": "The peer ASN name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peerAsn",
+ "in": "body",
+ "description": "The peer ASN.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PeerAsn"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeerAsn"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PeerAsn"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a peer ASN": {
+ "$ref": "./examples/CreatePeerAsn.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PeerAsns"
+ ],
+ "description": "Deletes an existing peer ASN with the specified name under the given subscription.",
+ "operationId": "PeerAsns_Delete",
+ "parameters": [
+ {
+ "name": "peerAsnName",
+ "in": "path",
+ "description": "The peer ASN name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a peer ASN": {
+ "$ref": "./examples/DeletePeerAsn.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns": {
+ "get": {
+ "tags": [
+ "PeerAsns"
+ ],
+ "description": "Lists all of the peer ASNs under the given subscription.",
+ "operationId": "PeerAsns_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeerAsnListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peer ASNs in a subscription": {
+ "$ref": "./examples/ListPeerAsnsBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringLocations": {
+ "get": {
+ "tags": [
+ "PeeringLocations"
+ ],
+ "description": "Lists all of the available peering locations for the specified kind of peering.",
+ "operationId": "PeeringLocations_List",
+ "parameters": [
+ {
+ "name": "kind",
+ "in": "query",
+ "description": "The kind of the peering.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Direct",
+ "Exchange"
+ ]
+ },
+ {
+ "name": "directPeeringType",
+ "in": "query",
+ "description": "The type of direct peering.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Edge",
+ "Transit",
+ "Cdn",
+ "Internal"
+ ]
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringLocationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List direct peering locations": {
+ "$ref": "./examples/ListDirectPeeringLocations.json"
+ },
+ "List exchange peering locations": {
+ "$ref": "./examples/ListExchangePeeringLocations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}": {
+ "get": {
+ "tags": [
+ "Peerings"
+ ],
+ "description": "Gets an existing peering with the specified name under the given subscription and resource group.",
+ "operationId": "Peerings_Get",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Peering"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a peering": {
+ "$ref": "./examples/GetPeering.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Peerings"
+ ],
+ "description": "Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group.",
+ "operationId": "Peerings_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peering",
+ "in": "body",
+ "description": "The properties needed to create or update a peering.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Peering"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Peering"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Peering"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a direct peering": {
+ "$ref": "./examples/CreateDirectPeering.json"
+ },
+ "Create an exchange peering": {
+ "$ref": "./examples/CreateExchangePeering.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Peerings"
+ ],
+ "description": "Deletes an existing peering with the specified name under the given subscription and resource group.",
+ "operationId": "Peerings_Delete",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a peering": {
+ "$ref": "./examples/DeletePeering.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Peerings"
+ ],
+ "description": "Updates tags for a peering with the specified name under the given subscription and resource group.",
+ "operationId": "Peerings_Update",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tags",
+ "in": "body",
+ "description": "The resource tags.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceTags"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Peering"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update peering tags": {
+ "$ref": "./examples/UpdatePeeringTags.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings": {
+ "get": {
+ "tags": [
+ "Peerings"
+ ],
+ "description": "Lists all of the peerings under the given subscription and resource group.",
+ "operationId": "Peerings_ListByResourceGroup",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peerings in a resource group": {
+ "$ref": "./examples/ListPeeringsByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerings": {
+ "get": {
+ "tags": [
+ "Peerings"
+ ],
+ "description": "Lists all of the peerings under the given subscription.",
+ "operationId": "Peerings_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peerings in a subscription": {
+ "$ref": "./examples/ListPeeringsBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceLocations": {
+ "get": {
+ "tags": [
+ "PeeringServiceLocations"
+ ],
+ "description": "Lists all of the available peering service locations for the specified kind of peering.",
+ "operationId": "PeeringServiceLocations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServiceLocationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peering service locations": {
+ "$ref": "./examples/ListPeeringServiceLocations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}": {
+ "get": {
+ "tags": [
+ "PeeringServicePrefixes"
+ ],
+ "description": "Gets an existing prefix with the specified name under the given subscription, resource group and peering service.",
+ "operationId": "Prefixes_Get",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "prefixName",
+ "in": "path",
+ "description": "The name of the prefix.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "The properties to be expanded.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServicePrefix"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a prefix associated with the peering service": {
+ "$ref": "./examples/GetPeeringServicePrefix.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PeeringServicePrefixes"
+ ],
+ "description": "Creates a new prefix with the specified name under the given subscription, resource group and peering service.",
+ "operationId": "Prefixes_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "prefixName",
+ "in": "path",
+ "description": "The name of the prefix.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServicePrefix",
+ "in": "body",
+ "description": "The properties needed to create a prefix.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PeeringServicePrefix"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServicePrefix"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PeeringServicePrefix"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a prefix for the peering service": {
+ "$ref": "./examples/CreatePeeringServicePrefix.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PeeringServicePrefixes"
+ ],
+ "description": "Deletes an existing prefix with the specified name under the given subscription, resource group and peering service.",
+ "operationId": "Prefixes_Delete",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "prefixName",
+ "in": "path",
+ "description": "The name of the prefix.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a prefix associated with the peering service": {
+ "$ref": "./examples/DeletePeeringServicePrefix.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes": {
+ "get": {
+ "tags": [
+ "PeeringServicePrefixes"
+ ],
+ "description": "Lists all prefixes under the given subscription, resource group and peering service.",
+ "operationId": "Prefixes_ListByPeeringService",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "The properties to be expanded.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServicePrefixListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all the prefixes associated with the peering service": {
+ "$ref": "./examples/ListPrefixesByPeeringService.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceProviders": {
+ "get": {
+ "tags": [
+ "PeeringServiceProviders"
+ ],
+ "description": "Lists all of the available peering service locations for the specified kind of peering.",
+ "operationId": "PeeringServiceProviders_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServiceProviderListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peering service providers": {
+ "$ref": "./examples/ListPeeringServiceProviders.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}": {
+ "get": {
+ "tags": [
+ "PeeringServices"
+ ],
+ "description": "Gets an existing peering service with the specified name under the given subscription and resource group.",
+ "operationId": "PeeringServices_Get",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringService"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a peering service": {
+ "$ref": "./examples/GetPeeringService.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PeeringServices"
+ ],
+ "description": "Creates a new peering service or updates an existing peering with the specified name under the given subscription and resource group.",
+ "operationId": "PeeringServices_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringService",
+ "in": "body",
+ "description": "The properties needed to create or update a peering service.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PeeringService"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringService"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PeeringService"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a peering service": {
+ "$ref": "./examples/CreatePeeringService.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PeeringServices"
+ ],
+ "description": "Deletes an existing peering service with the specified name under the given subscription and resource group.",
+ "operationId": "PeeringServices_Delete",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a peering service": {
+ "$ref": "./examples/DeletePeeringService.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "PeeringServices"
+ ],
+ "description": "Updates tags for a peering service with the specified name under the given subscription and resource group.",
+ "operationId": "PeeringServices_Update",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tags",
+ "in": "body",
+ "description": "The resource tags.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceTags"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringService"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update peering service tags": {
+ "$ref": "./examples/UpdatePeeringServiceTags.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices": {
+ "get": {
+ "tags": [
+ "PeeringServices"
+ ],
+ "description": "Lists all of the peering services under the given subscription and resource group.",
+ "operationId": "PeeringServices_ListByResourceGroup",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peering services in a resource group": {
+ "$ref": "./examples/ListPeeringServicesByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServices": {
+ "get": {
+ "tags": [
+ "PeeringServices"
+ ],
+ "description": "Lists all of the peerings under the given subscription.",
+ "operationId": "PeeringServices_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peering services in a subscription": {
+ "$ref": "./examples/ListPeeringServicesBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CheckServiceProviderAvailabilityInput": {
+ "description": "Class for CheckServiceProviderAvailabilityInput",
+ "type": "object",
+ "properties": {
+ "peeringServiceLocation": {
+ "description": "Gets or sets the PeeringServiceLocation",
+ "type": "string"
+ },
+ "peeringServiceProvider": {
+ "description": "Gets or sets the PeeringServiceProvider",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringListResult": {
+ "description": "The paginated list of peerings.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peerings.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Peering"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peerings.",
+ "type": "string"
+ }
+ }
+ },
+ "Peering": {
+ "description": "Peering is a logical representation of a set of connections to the Microsoft Cloud Edge at a location.",
+ "required": [
+ "sku",
+ "kind",
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/PeeringSku",
+ "description": "The SKU that defines the tier and kind of the peering."
+ },
+ "kind": {
+ "description": "The kind of the peering.",
+ "enum": [
+ "Direct",
+ "Exchange"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/PeeringProperties",
+ "description": "The properties that define a peering.",
+ "x-ms-client-flatten": true
+ },
+ "location": {
+ "description": "The location of the resource.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PeeringSku": {
+ "description": "The SKU that defines the tier and kind of the peering.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the peering SKU.",
+ "enum": [
+ "Basic_Exchange_Free",
+ "Basic_Direct_Free",
+ "Premium_Direct_Free",
+ "Premium_Exchange_Metered",
+ "Premium_Direct_Metered",
+ "Premium_Direct_Unlimited"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "name",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The tier of the peering SKU.",
+ "enum": [
+ "Basic",
+ "Premium"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "tier",
+ "modelAsString": true
+ }
+ },
+ "family": {
+ "description": "The family of the peering SKU.",
+ "enum": [
+ "Direct",
+ "Exchange"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "family",
+ "modelAsString": true
+ }
+ },
+ "size": {
+ "description": "The size of the peering SKU.",
+ "enum": [
+ "Free",
+ "Metered",
+ "Unlimited"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "size",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PeeringProperties": {
+ "description": "The properties that define connectivity to the Microsoft Cloud Edge.",
+ "type": "object",
+ "properties": {
+ "direct": {
+ "$ref": "#/definitions/PeeringPropertiesDirect",
+ "description": "The properties that define a direct peering."
+ },
+ "exchange": {
+ "$ref": "#/definitions/PeeringPropertiesExchange",
+ "description": "The properties that define an exchange peering."
+ },
+ "peeringLocation": {
+ "description": "The location of the peering.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PeeringPropertiesDirect": {
+ "description": "The properties that define a direct peering.",
+ "type": "object",
+ "properties": {
+ "connections": {
+ "description": "The set of connections that constitute a direct peering.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DirectConnection"
+ }
+ },
+ "useForPeeringService": {
+ "description": "The flag that indicates whether or not the peering is used for peering service.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "peerAsn": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The reference of the peer ASN."
+ },
+ "directPeeringType": {
+ "description": "The type of direct peering.",
+ "enum": [
+ "Edge",
+ "Transit",
+ "Cdn",
+ "Internal"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "directPeeringType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PeeringPropertiesExchange": {
+ "description": "The properties that define an exchange peering.",
+ "type": "object",
+ "properties": {
+ "connections": {
+ "description": "The set of connections that constitute an exchange peering.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExchangeConnection"
+ }
+ },
+ "peerAsn": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The reference of the peer ASN."
+ }
+ }
+ },
+ "DirectConnection": {
+ "description": "The properties that define a direct connection.",
+ "type": "object",
+ "properties": {
+ "bandwidthInMbps": {
+ "format": "int32",
+ "description": "The bandwidth of the connection.",
+ "type": "integer"
+ },
+ "provisionedBandwidthInMbps": {
+ "format": "int32",
+ "description": "The bandwidth that is actually provisioned.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "sessionAddressProvider": {
+ "description": "The field indicating if Microsoft provides session ip addresses.",
+ "enum": [
+ "Microsoft",
+ "Peer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "sessionAddressProvider",
+ "modelAsString": true
+ }
+ },
+ "useForPeeringService": {
+ "description": "The flag that indicates whether or not the connection is used for peering service.",
+ "type": "boolean"
+ },
+ "peeringDBFacilityId": {
+ "format": "int32",
+ "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.",
+ "type": "integer"
+ },
+ "connectionState": {
+ "description": "The state of the connection.",
+ "enum": [
+ "None",
+ "PendingApproval",
+ "Approved",
+ "ProvisioningStarted",
+ "ProvisioningFailed",
+ "ProvisioningCompleted",
+ "Validating",
+ "Active"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "connectionState",
+ "modelAsString": true
+ }
+ },
+ "bgpSession": {
+ "$ref": "#/definitions/BgpSession",
+ "description": "The BGP session associated with the connection."
+ },
+ "connectionIdentifier": {
+ "description": "The unique identifier (GUID) for the connection.",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "The error message related to the connection state, if any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SubResource": {
+ "description": "The sub resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The identifier of the referenced resource.",
+ "type": "string"
+ }
+ }
+ },
+ "ExchangeConnection": {
+ "description": "The properties that define an exchange connection.",
+ "type": "object",
+ "properties": {
+ "peeringDBFacilityId": {
+ "format": "int32",
+ "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.",
+ "type": "integer"
+ },
+ "connectionState": {
+ "description": "The state of the connection.",
+ "enum": [
+ "None",
+ "PendingApproval",
+ "Approved",
+ "ProvisioningStarted",
+ "ProvisioningFailed",
+ "ProvisioningCompleted",
+ "Validating",
+ "Active"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "connectionState",
+ "modelAsString": true
+ }
+ },
+ "bgpSession": {
+ "$ref": "#/definitions/BgpSession",
+ "description": "The BGP session associated with the connection."
+ },
+ "connectionIdentifier": {
+ "description": "The unique identifier (GUID) for the connection.",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "The error message related to the connection state, if any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "BgpSession": {
+ "description": "The properties that define a BGP session.",
+ "type": "object",
+ "properties": {
+ "sessionPrefixV4": {
+ "description": "The IPv4 prefix that contains both ends' IPv4 addresses.",
+ "type": "string"
+ },
+ "sessionPrefixV6": {
+ "description": "The IPv6 prefix that contains both ends' IPv6 addresses.",
+ "type": "string"
+ },
+ "microsoftSessionIPv4Address": {
+ "description": "The IPv4 session address on Microsoft's end.",
+ "type": "string",
+ "readOnly": true
+ },
+ "microsoftSessionIPv6Address": {
+ "description": "The IPv6 session address on Microsoft's end.",
+ "type": "string",
+ "readOnly": true
+ },
+ "peerSessionIPv4Address": {
+ "description": "The IPv4 session address on peer's end.",
+ "type": "string"
+ },
+ "peerSessionIPv6Address": {
+ "description": "The IPv6 session address on peer's end.",
+ "type": "string"
+ },
+ "sessionStateV4": {
+ "description": "The state of the IPv4 session.",
+ "enum": [
+ "None",
+ "Idle",
+ "Connect",
+ "Active",
+ "OpenSent",
+ "OpenConfirm",
+ "OpenReceived",
+ "Established",
+ "PendingAdd",
+ "PendingUpdate",
+ "PendingRemove"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "sessionStateV4",
+ "modelAsString": true
+ }
+ },
+ "sessionStateV6": {
+ "description": "The state of the IPv6 session.",
+ "enum": [
+ "None",
+ "Idle",
+ "Connect",
+ "Active",
+ "OpenSent",
+ "OpenConfirm",
+ "OpenReceived",
+ "Established",
+ "PendingAdd",
+ "PendingUpdate",
+ "PendingRemove"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "sessionStateV6",
+ "modelAsString": true
+ }
+ },
+ "maxPrefixesAdvertisedV4": {
+ "format": "int32",
+ "description": "The maximum number of prefixes advertised over the IPv4 session.",
+ "type": "integer"
+ },
+ "maxPrefixesAdvertisedV6": {
+ "format": "int32",
+ "description": "The maximum number of prefixes advertised over the IPv6 session.",
+ "type": "integer"
+ },
+ "md5AuthenticationKey": {
+ "description": "The MD5 authentication key of the session.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "The paginated list of peering API operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering API operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering API operations.",
+ "type": "string"
+ }
+ }
+ },
+ "Operation": {
+ "description": "The peering API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayInfo",
+ "description": "The information related to the operation.",
+ "readOnly": true
+ },
+ "isDataAction": {
+ "description": "The flag that indicates whether the operation applies to data plane.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationDisplayInfo": {
+ "description": "The information related to the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The name of the resource provider.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The name of the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PeerAsn": {
+ "description": "The essential information related to the peer's ASN.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeerAsnProperties",
+ "description": "The properties that define a peer's ASN.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PeerAsnProperties": {
+ "description": "The properties that define a peer's ASN.",
+ "type": "object",
+ "properties": {
+ "peerAsn": {
+ "format": "int32",
+ "description": "The Autonomous System Number (ASN) of the peer.",
+ "type": "integer"
+ },
+ "peerContactInfo": {
+ "$ref": "#/definitions/ContactInfo",
+ "description": "The contact information of the peer."
+ },
+ "peerName": {
+ "description": "The name of the peer.",
+ "type": "string"
+ },
+ "validationState": {
+ "description": "The validation state of the ASN associated with the peer.",
+ "enum": [
+ "None",
+ "Pending",
+ "Approved",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "validationState",
+ "modelAsString": true
+ }
+ },
+ "errorMessage": {
+ "description": "The error message for the validation state",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ContactInfo": {
+ "description": "The contact information of the peer.",
+ "type": "object",
+ "properties": {
+ "emails": {
+ "description": "The list of email addresses.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "phone": {
+ "description": "The list of contact numbers.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PeerAsnListResult": {
+ "description": "The paginated list of peer ASNs.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peer ASNs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeerAsn"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peer ASNs.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringLocationListResult": {
+ "description": "The paginated list of peering locations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering locations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringLocation"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering locations.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringLocation": {
+ "description": "Peering location is where connectivity could be established to the Microsoft Cloud Edge.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "The kind of peering that the peering location supports.",
+ "enum": [
+ "Direct",
+ "Exchange"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/PeeringLocationProperties",
+ "description": "The properties that define a peering location.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PeeringLocationProperties": {
+ "description": "The properties that define a peering location.",
+ "type": "object",
+ "properties": {
+ "direct": {
+ "$ref": "#/definitions/PeeringLocationPropertiesDirect",
+ "description": "The properties that define a direct peering location."
+ },
+ "exchange": {
+ "$ref": "#/definitions/PeeringLocationPropertiesExchange",
+ "description": "The properties that define an exchange peering location."
+ },
+ "peeringLocation": {
+ "description": "The name of the peering location.",
+ "type": "string"
+ },
+ "country": {
+ "description": "The country in which the peering location exists.",
+ "type": "string"
+ },
+ "azureRegion": {
+ "description": "The Azure region associated with the peering location.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringLocationPropertiesDirect": {
+ "description": "The properties that define a direct peering location.",
+ "type": "object",
+ "properties": {
+ "peeringFacilities": {
+ "description": "The list of direct peering facilities at the peering location.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DirectPeeringFacility"
+ }
+ },
+ "bandwidthOffers": {
+ "description": "The list of bandwidth offers available at the peering location.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringBandwidthOffer"
+ }
+ }
+ }
+ },
+ "PeeringLocationPropertiesExchange": {
+ "description": "The properties that define an exchange peering location.",
+ "type": "object",
+ "properties": {
+ "peeringFacilities": {
+ "description": "The list of exchange peering facilities at the peering location.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExchangePeeringFacility"
+ }
+ }
+ }
+ },
+ "DirectPeeringFacility": {
+ "description": "The properties that define a direct peering facility.",
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "The address of the direct peering facility.",
+ "type": "string"
+ },
+ "directPeeringType": {
+ "description": "The type of the direct peering.",
+ "enum": [
+ "Edge",
+ "Transit",
+ "Cdn",
+ "Internal"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "directPeeringType",
+ "modelAsString": true
+ }
+ },
+ "peeringDBFacilityId": {
+ "format": "int32",
+ "description": "The PeeringDB.com ID of the facility.",
+ "type": "integer"
+ },
+ "peeringDBFacilityLink": {
+ "description": "The PeeringDB.com URL of the facility.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringBandwidthOffer": {
+ "description": "The properties that define a peering bandwidth offer.",
+ "type": "object",
+ "properties": {
+ "offerName": {
+ "description": "The name of the bandwidth offer.",
+ "type": "string"
+ },
+ "valueInMbps": {
+ "format": "int32",
+ "description": "The value of the bandwidth offer in Mbps.",
+ "type": "integer"
+ }
+ }
+ },
+ "ExchangePeeringFacility": {
+ "description": "The properties that define an exchange peering facility.",
+ "type": "object",
+ "properties": {
+ "exchangeName": {
+ "description": "The name of the exchange peering facility.",
+ "type": "string"
+ },
+ "bandwidthInMbps": {
+ "format": "int32",
+ "description": "The bandwidth of the connection between Microsoft and the exchange peering facility.",
+ "type": "integer"
+ },
+ "microsoftIPv4Address": {
+ "description": "The IPv4 address of Microsoft at the exchange peering facility.",
+ "type": "string"
+ },
+ "microsoftIPv6Address": {
+ "description": "The IPv6 address of Microsoft at the exchange peering facility.",
+ "type": "string"
+ },
+ "facilityIPv4Prefix": {
+ "description": "The IPv4 prefixes associated with the exchange peering facility.",
+ "type": "string"
+ },
+ "facilityIPv6Prefix": {
+ "description": "The IPv6 prefixes associated with the exchange peering facility.",
+ "type": "string"
+ },
+ "peeringDBFacilityId": {
+ "format": "int32",
+ "description": "The PeeringDB.com ID of the facility.",
+ "type": "integer"
+ },
+ "peeringDBFacilityLink": {
+ "description": "The PeeringDB.com URL of the facility.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceTags": {
+ "description": "The resource tags.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Gets or sets the tags, a dictionary of descriptors arm object",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PeeringServiceLocationListResult": {
+ "description": "The paginated list of peering service locations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering service locations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringServiceLocation"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering service locations.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringServiceLocation": {
+ "description": "PeeringService location",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeeringServiceLocationProperties",
+ "description": "The properties that define a peering service location.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PeeringServiceLocationProperties": {
+ "description": "The properties that define connectivity to the Peering Service Location.",
+ "type": "object",
+ "properties": {
+ "country": {
+ "description": "Country of the customer",
+ "type": "string"
+ },
+ "state": {
+ "description": "State of the customer",
+ "type": "string"
+ },
+ "azureRegion": {
+ "description": "Azure region for the location",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringServicePrefix": {
+ "description": "The peering service prefix class.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeeringServicePrefixProperties",
+ "description": "Gets or sets the peering prefix properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PeeringServicePrefixProperties": {
+ "description": "The peering service prefix properties class.",
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "description": "The prefix from which your traffic originates.",
+ "type": "string"
+ },
+ "prefixValidationState": {
+ "description": "The prefix validation state",
+ "enum": [
+ "None",
+ "Invalid",
+ "Verified",
+ "Failed",
+ "Pending",
+ "Warning",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "prefixValidationState",
+ "modelAsString": true
+ }
+ },
+ "learnedType": {
+ "description": "The prefix learned type",
+ "enum": [
+ "None",
+ "ViaServiceProvider",
+ "ViaSession"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "learnedType",
+ "modelAsString": true
+ }
+ },
+ "errorMessage": {
+ "description": "The error message for validation state",
+ "type": "string",
+ "readOnly": true
+ },
+ "events": {
+ "description": "The list of events for peering service prefix",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringServicePrefixEvent"
+ },
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PeeringServicePrefixEvent": {
+ "description": "The details of the event associated with a prefix.",
+ "type": "object",
+ "properties": {
+ "eventTimestamp": {
+ "format": "date-time",
+ "description": "The timestamp of the event associated with a prefix.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventType": {
+ "description": "The type of the event associated with a prefix.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventSummary": {
+ "description": "The summary of the event associated with a prefix.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventLevel": {
+ "description": "The level of the event associated with a prefix.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventDescription": {
+ "description": "The description of the event associated with a prefix.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PeeringServicePrefixListResult": {
+ "description": "The paginated list of peering service prefixes.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering service prefixes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringServicePrefix"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering service prefixes.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringServiceProviderListResult": {
+ "description": "The paginated list of peering service providers.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering service providers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringServiceProvider"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering service providers.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringServiceProvider": {
+ "description": "PeeringService provider",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeeringServiceProviderProperties",
+ "description": "The properties that define a peering service provider.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PeeringServiceProviderProperties": {
+ "description": "The properties that define connectivity to the Peering Service Provider.",
+ "type": "object",
+ "properties": {
+ "serviceProviderName": {
+ "description": "The name of the service provider.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringService": {
+ "description": "Peering Service",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeeringServiceProperties",
+ "description": "The properties that define a peering service.",
+ "x-ms-client-flatten": true
+ },
+ "location": {
+ "description": "The location of the resource.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PeeringServiceProperties": {
+ "description": "The properties that define connectivity to the Peering Service.",
+ "type": "object",
+ "properties": {
+ "peeringServiceLocation": {
+ "description": "The PeeringServiceLocation of the Customer.",
+ "type": "string"
+ },
+ "peeringServiceProvider": {
+ "description": "The MAPS Provider Name.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PeeringServiceListResult": {
+ "description": "The paginated list of peering services.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering services.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringService"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering services.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "The error response that indicates why an operation has failed.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Resource": {
+ "description": "The ARM resource class.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "The ID of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The client API version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/peering/resource-manager/readme.go.md b/specification/peering/resource-manager/readme.go.md
index 1d80260a6f42..727aa35a5096 100644
--- a/specification/peering/resource-manager/readme.go.md
+++ b/specification/peering/resource-manager/readme.go.md
@@ -14,28 +14,27 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- - tag: package-2019-08-01-preview
+ - tag: package-2019-09-01-preview
```
or
``` yaml $(go) && $(multiapi)
batch:
- tag: package-2019-08-01-preview
```
+### Tag: package-2019-09-01-preview and go
-### Tag: package-2019-08-01-preview and go
-
-These settings apply only when `--tag=package-2019-08-01-preview --go` is specified on the command line.
+These settings apply only when `--tag=package-2019-09-01-preview --go` is specified on the command line.
Please also specify `--go-sdk-folder=`.
-``` yaml $(tag) == 'package-2019-08-01-preview' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-08-01-preview/$(namespace)
+``` yaml $(tag) == 'package-2019-09-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-09-01-preview/$(namespace)
```
-### Tag: package-2019-06-01-preview and go
+### Tag: package-2019-08-01-preview and go
-These settings apply only when `--tag=package-2019-06-01-preview --go` is specified on the command line.
+These settings apply only when `--tag=package-2019-08-01-preview --go` is specified on the command line.
Please also specify `--go-sdk-folder=`.
-``` yaml $(tag) == 'package-2019-06-01-preview' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-06-01-preview/$(namespace)
+``` yaml $(tag) == 'package-2019-08-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-08-01-preview/$(namespace)
```
diff --git a/specification/peering/resource-manager/readme.java.md b/specification/peering/resource-manager/readme.java.md
index 8b6374783ca1..7ec5ab6df356 100644
--- a/specification/peering/resource-manager/readme.java.md
+++ b/specification/peering/resource-manager/readme.java.md
@@ -4,11 +4,48 @@ 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.peering
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-peering
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2019-09-01-preview
+```
+or
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2019-08-01-preview
+```
+
+### Tag: package-2019-09-01-preview and java
+
+These settings apply only when `--tag=package-2019-09-01-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-09-01-preview' && $(java) && $(multiapi)
java:
- azure-arm: true
- fluent: true
- namespace: com.microsoft.azure.management.peering
- license-header: MICROSOFT_MIT_NO_CODEGEN
- payload-flattening-threshold: 1
- output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-peering
+ namespace: com.microsoft.azure.management.peering.v2019_08_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/peering/resource-manager/v2019_08_01_preview
+regenerate-manager: true
+generate-interface: true
```
+
+### Tag: package-2019-08-01-preview and java
+
+These settings apply only when `--tag=package-2019-08-01-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-08-01-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.peering.v2019_08_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/peering/resource-manager/v2019_08_01_preview
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/peering/resource-manager/readme.md b/specification/peering/resource-manager/readme.md
index bda13e348590..3f1b0c0f34a5 100644
--- a/specification/peering/resource-manager/readme.md
+++ b/specification/peering/resource-manager/readme.md
@@ -25,63 +25,34 @@ These are the global settings for the Peering API.
title: PeeringManagementClient
description: Peering Client
openapi-type: arm
-tag: package-2019-08-01-preview
-```
-or
-``` yaml
-title: PeeringManagementClient
-description: Peering Client
-openapi-type: arm
-tag: package-2019-07-01-preview
+tag: package-2019-09-01-preview
```
or
``` yaml
title: PeeringManagementClient
description: Peering Client
openapi-type: arm
-tag: package-2019-06-01-preview
-```
-or
-``` yaml
-title: PeeringManagementClient
-description: Peering Client
-openapi-type: arm
-tag: package-2019-03-01-preview
+tag: package-2019-08-01-preview
```
-### Tag: package-2019-08-01-preview
+### Tag: package-2019-09-01-preview
-These settings apply only when `--tag=package-2019-08-01-preview` is specified on the command line.
+These settings apply only when `--tag=package-2019-09-01-preview` is specified on the command line.
-``` yaml $(tag) == 'package-2019-08-01-preview'
+``` yaml $(tag) == 'package-2019-09-01-preview'
input-file:
-- Microsoft.Peering/preview/2019-08-01-preview/peering.json
+- Microsoft.Peering/preview/2019-09-01-preview/peering.json
```
-### Tag: package-2019-07-01-preview
-
-These settings apply only when `--tag=package-2019-07-01-preview` is specified on the command line.
-
-``` yaml $(tag) == 'package-2019-07-01-preview'
-input-file:
-- Microsoft.Peering/preview/2019-07-01-preview/peering.json
-```
-### Tag: package-2019-06-01-preview
+### Tag: package-2019-08-01-preview
-These settings apply only when `--tag=package-2019-06-01-preview` is specified on the command line.
+These settings apply only when `--tag=package-2019-08-01-preview` is specified on the command line.
-``` yaml $(tag) == 'package-2019-06-01-preview'
+``` yaml $(tag) == 'package-2019-08-01-preview'
input-file:
-- Microsoft.Peering/preview/2019-06-01-preview/peering.json
+- Microsoft.Peering/preview/2019-08-01-preview/peering.json
```
-### Tag: package-2019-03-01-preview
-These settings apply only when `--tag=package-2019-03-01-preview` is specified on the command line.
-
-``` yaml $(tag) == 'package-2019-03-01-preview'
-input-file:
-- Microsoft.Peering/preview/2019-03-01-preview/peering.json
-```
# Code Generation
@@ -122,17 +93,15 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Peering/preview/2019-09-01-preview/peering.json
- $(this-folder)/Microsoft.Peering/preview/2019-08-01-preview/peering.json
- - $(this-folder)/Microsoft.Peering/preview/2019-07-01-preview/peering.json
- - $(this-folder)/Microsoft.Peering/preview/2019-06-01-preview/peering.json
- - $(this-folder)/Microsoft.Peering/preview/2019-03-01-preview/peering.json
```
If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
-``` yaml $(tag) == 'all-api-versions'
-exclude-file:
-- $(this-folder)/Microsoft.Peering/preview/2019-03-01-preview/peering.json
-```
+# ``` yaml $(tag) == 'all-api-versions'
+# exclude-file:
+# - $(this-folder)/Microsoft.Peering/preview/2019-08-01-preview/peering.json
+# ```
diff --git a/specification/peering/resource-manager/readme.python.md b/specification/peering/resource-manager/readme.python.md
index 2b3fd76de64a..154e83240b5b 100644
--- a/specification/peering/resource-manager/readme.python.md
+++ b/specification/peering/resource-manager/readme.python.md
@@ -12,16 +12,16 @@ python:
payload-flattening-threshold: 2
namespace: azure.mgmt.peering
package-name: azure-mgmt-peering
- package-version: 2.0.0
+ package-version: 0.1.0
clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
python:
no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt-peering/azure/mgmt/peering
+ output-folder: $(python-sdks-folder)/peering/azure-mgmt-peering/azure/mgmt/peering
```
``` yaml $(python) && $(python-mode) == 'create'
python:
basic-setup-py: true
- output-folder: $(python-sdks-folder)/azure-mgmt-peering
+ output-folder: $(python-sdks-folder)/peering/azure-mgmt-peering
```
diff --git a/specification/peering/resource-manager/readme.ruby.md b/specification/peering/resource-manager/readme.ruby.md
index 55ec2c40ddf9..d8d76cb2ee6d 100644
--- a/specification/peering/resource-manager/readme.ruby.md
+++ b/specification/peering/resource-manager/readme.ruby.md
@@ -2,6 +2,12 @@
These settings apply only when `--ruby` is specified on the command line.
+``` yaml
+package-name: azure_mgmt_peering
+package-version: "2019-09-01-preview"
+azure-arm: true
+```
+or
``` yaml
package-name: azure_mgmt_peering
package-version: "2019-08-01-preview"
@@ -17,30 +23,30 @@ azure-arm: true
### Ruby multi-api
``` yaml $(ruby) && $(multiapi)
batch:
- - tag: package-2019-08-01-preview
+ - tag: package-2019-09-01-preview
```
or
``` yaml $(ruby) && $(multiapi)
batch:
- - tag: package-2019-06-01-preview
+ - tag: package-2019-08-01-preview
```
-### Tag: package-2019-08-01-preview and ruby
+### Tag: package-2019-09-01-preview and ruby
-These settings apply only when `--tag=package-2019-08-01-preview --ruby` is specified on the command line.
+These settings apply only when `--tag=package-2019-09-01-preview --ruby` is specified on the command line.
Please also specify `--ruby-sdks-folder=`.
-``` yaml $(tag) == 'package-2019-08-01-preview' && $(ruby)
-namespace: "Azure::Peering::Mgmt::V2019_08_01_preview"
+``` yaml $(tag) == 'package-2019-09-01-preview' && $(ruby)
+namespace: "Azure::Peering::Mgmt::V2019_09_01_preview"
output-folder: $(ruby-sdks-folder)/management/azure_mgmt_peering/lib
```
-### Tag: package-2019-06-01-preview and ruby
+### Tag: package-2019-08-01-preview and ruby
-These settings apply only when `--tag=package-2019-06-01-preview --ruby` is specified on the command line.
+These settings apply only when `--tag=package-2019-08-01-preview --ruby` is specified on the command line.
Please also specify `--ruby-sdks-folder=`.
-``` yaml $(tag) == 'package-2019-06-01-preview' && $(ruby)
-namespace: "Azure::Peering::Mgmt::V2019_06_01_preview"
+``` yaml $(tag) == 'package-2019-08-01-preview' && $(ruby)
+namespace: "Azure::Peering::Mgmt::V2019_08_01_preview"
output-folder: $(ruby-sdks-folder)/management/azure_mgmt_peering/lib
```
\ No newline at end of file
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerAdminCreateUpdate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerAdminCreateUpdate.json
new file mode 100644
index 000000000000..c06829860a54
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerAdminCreateUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testrg",
+ "serverName": "pgtestsvc4",
+ "administratorName": "activeDirectory",
+ "api-version": "2017-12-01-preview",
+ "properties": {
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/servers/pgtestsvc4/administrators/activeDirectory",
+ "name": "activeDirectory",
+ "type": "Microsoft.DBforPostgreSQL/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"
+ }
+ }
+ },
+ "202": {
+ "body": "Accepted"
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerAdminDelete.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerAdminDelete.json
new file mode 100644
index 000000000000..91cb5a60f981
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerAdminDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testrg",
+ "serverName": "pgtestsvc4",
+ "administratorName": "activeDirectory",
+ "api-version": "2017-12-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": "OK"
+ },
+ "202": {
+ "body": "Accepted"
+ },
+ "204": {
+ "body": "No Content"
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerAdminGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerAdminGet.json
new file mode 100644
index 000000000000..1abc43fa7b10
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerAdminGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testrg",
+ "serverName": "pgtestsvc4",
+ "administratorName": "activeDirectory",
+ "api-version": "2017-12-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/servers/pgtestsvc4/administrators/activeDirectory",
+ "name": "activeDirectory",
+ "type": "Microsoft.DBforPostgreSQL/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerAdminList.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerAdminList.json
new file mode 100644
index 000000000000..e0465320869f
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerAdminList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "testrg",
+ "serverName": "pgtestsvc4",
+ "api-version": "2017-12-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/servers/pgtestsvc4/administrators/activeDirectory",
+ "name": "ActiveDirectory",
+ "type": "Microsoft.DBforPostgreSQL/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
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 8b42536d8fd1..3ee0b4461e5c 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
@@ -1072,6 +1072,202 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Administrators/activeDirectory": {
+ "get": {
+ "tags": [
+ "ServerAdministrators"
+ ],
+ "operationId": "ServerAdministrators_Get",
+ "x-ms-examples": {
+ "ServerAdministratorGet": {
+ "$ref": "./examples/ServerAdminGet.json"
+ }
+ },
+ "description": "Gets information about a AAD server administrator.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ServerAdministrators"
+ ],
+ "operationId": "ServerAdministrators_CreateOrUpdate",
+ "x-ms-examples": {
+ "ServerAdministratorCreate": {
+ "$ref": "./examples/ServerAdminCreateUpdate.json"
+ }
+ },
+ "description": "Creates or update active directory administrator on an existing server. The update action will overwrite the existing administrator.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ },
+ "description": "The required parameters for creating or updating an AAD server administrator."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ServerAdministrators"
+ ],
+ "operationId": "ServerAdministrators_Delete",
+ "x-ms-examples": {
+ "ServerAdministratorsDelete": {
+ "$ref": "./examples/ServerAdminDelete.json"
+ }
+ },
+ "description": "Deletes AAD Administrator.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "204": {
+ "description": "NoContent",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ }
+ },
+ "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}/administrators": {
+ "get": {
+ "tags": [
+ "ServerAdministrators"
+ ],
+ "operationId": "ServerAdministrators_ListByServer",
+ "description": "Returns a list of server Administrators.",
+ "x-ms-examples": {
+ "get a list of server administrators": {
+ "$ref": "./examples/ServerAdminList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerAdministratorResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers": {
"get": {
"tags": [
@@ -2276,6 +2472,68 @@
}
},
"description": "An error response from the Batch service."
+ },
+ "ServerAdministratorProperties": {
+ "properties": {
+ "administratorType": {
+ "type": "string",
+ "description": "The type of administrator.",
+ "enum": [
+ "ActiveDirectory"
+ ],
+ "x-ms-enum": {
+ "name": "AdministratorType"
+ }
+ },
+ "login": {
+ "type": "string",
+ "description": "The server administrator login value."
+ },
+ "sid": {
+ "type": "string",
+ "description": "The server administrator Sid (Secure ID).",
+ "format": "uuid"
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The server Active Directory Administrator tenant id.",
+ "format": "uuid"
+ }
+ },
+ "required": [
+ "tenantId",
+ "administratorType",
+ "login",
+ "sid"
+ ],
+ "description": "The properties of an server Administrator."
+ },
+ "ServerAdministratorResource": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServerAdministratorProperties",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the server AAD administrator."
+ }
+ },
+ "description": "Represents a and external administrator to be created.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "ServerAdministratorResourceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServerAdministratorResource"
+ },
+ "description": "The list of server Active Directory Administrators for the server."
+ }
+ },
+ "description": "The response to a list Active Directory Administrators request."
}
},
"parameters": {
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 ca56fae3e833..33e0ff6d3d67 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
@@ -17,92 +17,7 @@
"produces": [
"application/json"
],
- "paths": {
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": {
- "get": {
- "tags": [
- "BackupResourceVaultConfigs"
- ],
- "description": "Fetches resource vault config.",
- "operationId": "BackupResourceVaultConfigs_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/BackupResourceVaultConfigResource"
- }
- }
- },
- "x-ms-examples": {
- "Get Vault Security Config": {
- "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "BackupResourceVaultConfigs"
- ],
- "description": "Updates vault security config.",
- "operationId": "BackupResourceVaultConfigs_Update",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "parameters",
- "in": "body",
- "description": "resource config request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/BackupResourceVaultConfigResource"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/BackupResourceVaultConfigResource"
- }
- }
- },
- "x-ms-examples": {
- "Update Vault Security Config": {
- "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json"
- }
- }
- }
- },
+ "paths": {
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": {
"get": {
"tags": [
@@ -692,14 +607,14 @@
}
}
}
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": {
- "get": {
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": {
+ "post": {
"tags": [
- "ProtectedItems"
+ "Backups"
],
- "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",
+ "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"
],
@@ -719,56 +634,53 @@
{
"name": "fabricName",
"in": "path",
- "description": "Fabric name associated with the backed up item.",
+ "description": "Fabric name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
- "description": "Container name associated with the backed up item.",
+ "description": "Container name associated with the backup item.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
- "description": "Backed up item name whose details are to be fetched.",
+ "description": "Backup item for which backup needs to be triggered.",
"required": true,
"type": "string"
},
{
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backup request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupRequestResource"
+ }
}
],
"responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectedItemResource"
- }
+ "202": {
+ "description": "Accepted"
}
},
- "x-ms-odata": "#/definitions/GetProtectedItemQueryObject",
"x-ms-examples": {
- "Get Protected Classic Virtual Machine Details": {
- "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json"
- },
- "Get Protected Virtual Machine Details": {
- "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json"
+ "Trigger Backup": {
+ "$ref": "./examples/Common/TriggerBackup_Post.json"
}
}
- },
- "put": {
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": {
+ "get": {
"tags": [
- "ProtectedItems"
+ "ProtectedItemOperationStatuses"
],
- "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",
+ "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"
],
@@ -802,46 +714,40 @@
{
"name": "protectedItemName",
"in": "path",
- "description": "Item name to be backed up.",
+ "description": "Backup item name whose details are to be fetched.",
"required": true,
"type": "string"
},
{
- "name": "parameters",
- "in": "body",
- "description": "resource backed up item",
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID represents the operation whose status needs to be fetched.",
"required": true,
- "schema": {
- "$ref": "#/definitions/ProtectedItemResource"
- }
+ "type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/ProtectedItemResource"
+ "$ref": "#/definitions/OperationStatus"
}
- },
- "202": {
- "description": "Accepted"
}
},
"x-ms-examples": {
- "Enable Protection on Azure IaasVm": {
- "$ref": "./examples/AzureIaasVm/ConfigureProtection.json"
- },
- "Stop Protection with retain data on Azure IaasVm": {
- "$ref": "./examples/AzureIaasVm/StopProtection.json"
+ "Get Operation Status of Protected Vm": {
+ "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json"
}
}
- },
- "delete": {
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": {
+ "post": {
"tags": [
- "ProtectedItems"
+ "ItemLevelRecoveryConnections"
],
- "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",
+ "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"
],
@@ -861,47 +767,60 @@
{
"name": "fabricName",
"in": "path",
- "description": "Fabric name associated with the backed up item.",
+ "description": "Fabric name associated with the backed up items.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
- "description": "Container name associated with the backed up item.",
+ "description": "Container name associated with the backed up items.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
- "description": "Backed up item to be deleted.",
+ "description": "Backed up item name whose files/folders are to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\nfor this backed up data.",
"required": true,
"type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource ILR request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ILRRequestResource"
+ }
}
],
"responses": {
"202": {
"description": "Accepted"
- },
- "204": {
- "description": "NoContent"
}
},
"x-ms-examples": {
- "Delete Protection from Azure Virtual Machine": {
- "$ref": "./examples/Common/ProtectedItem_Delete.json"
+ "Provision Instant Item Level Recovery for Azure Vm": {
+ "$ref": "./examples/AzureIaasVm/Provision_Ilr.json"
}
}
}
},
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": {
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": {
"post": {
"tags": [
- "Backups"
+ "ItemLevelRecoveryConnections"
],
- "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",
+ "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"
],
@@ -921,32 +840,30 @@
{
"name": "fabricName",
"in": "path",
- "description": "Fabric name associated with the backup item.",
+ "description": "Fabric name associated with the backed up items.",
"required": true,
"type": "string"
},
{
"name": "containerName",
"in": "path",
- "description": "Container name associated with the backup item.",
+ "description": "Container name associated with the backed up items.",
"required": true,
"type": "string"
},
{
"name": "protectedItemName",
"in": "path",
- "description": "Backup item for which backup needs to be triggered.",
+ "description": "Backed up item name whose files/folders are to be restored.",
"required": true,
"type": "string"
},
{
- "name": "parameters",
- "in": "body",
- "description": "resource backup request",
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\nthis backed up data.",
"required": true,
- "schema": {
- "$ref": "#/definitions/BackupRequestResource"
- }
+ "type": "string"
}
],
"responses": {
@@ -955,19 +872,19 @@
}
},
"x-ms-examples": {
- "Trigger Backup": {
- "$ref": "./examples/Common/TriggerBackup_Post.json"
+ "Revoke Instant Item Level Recovery for Azure Vm": {
+ "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json"
}
}
}
},
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": {
- "get": {
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": {
+ "post": {
"tags": [
- "ProtectedItemOperationResults"
+ "ProtectionContainers"
],
- "description": "Fetches the result of any operation on the backup item.",
- "operationId": "ProtectedItemOperationResults_Get",
+ "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"
],
@@ -987,60 +904,38 @@
{
"name": "fabricName",
"in": "path",
- "description": "Fabric name associated with the backup item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backup item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backup item name whose details are to be fetched.",
+ "description": "Fabric name associated the container.",
"required": true,
"type": "string"
},
{
- "name": "operationId",
- "in": "path",
- "description": "OperationID which represents the operation whose result needs to be fetched.",
- "required": true,
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
"type": "string"
}
],
"responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectedItemResource"
- }
- },
"202": {
"description": "Accepted"
- },
- "204": {
- "description": "NoContent"
}
},
+ "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject",
"x-ms-examples": {
- "Get Operation Results of Protected Vm": {
- "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json"
+ "Trigger Azure Vm Discovery": {
+ "$ref": "./examples/Common/RefreshContainers.json"
}
}
}
},
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": {
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": {
"get": {
"tags": [
- "ProtectedItemOperationStatuses"
+ "BackupOperationResults"
],
- "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",
+ "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"
],
@@ -1058,587 +953,19 @@
"$ref": "#/parameters/SubscriptionId"
},
{
- "name": "fabricName",
+ "name": "operationId",
"in": "path",
- "description": "Fabric name associated with the backup item.",
+ "description": "OperationID which represents the operation.",
"required": true,
"type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
},
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backup item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backup item name whose details are to be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "OperationID represents the operation whose status needs to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OperationStatus"
- }
- }
- },
- "x-ms-examples": {
- "Get Operation Status of Protected Vm": {
- "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": {
- "get": {
- "tags": [
- "RecoveryPoints"
- ],
- "description": "Lists the backup copies for the backed up item.",
- "operationId": "RecoveryPoints_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backed up item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backed up item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backed up item whose backup copies are to be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/RecoveryPointResourceList"
- }
- }
- },
- "x-ms-odata": "#/definitions/BMSRPQueryObject",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Get Protected Azure Vm Recovery Points": {
- "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": {
- "get": {
- "tags": [
- "RecoveryPoints"
- ],
- "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.",
- "operationId": "RecoveryPoints_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with backed up item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with backed up item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backed up item name whose backup data needs to be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "recoveryPointId",
- "in": "path",
- "description": "RecoveryPointID represents the backed up data to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/RecoveryPointResource"
- }
- }
- },
- "x-ms-examples": {
- "Get Azure Vm Recovery Point Details": {
- "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": {
- "post": {
- "tags": [
- "ItemLevelRecoveryConnections"
- ],
- "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\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"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backed up items.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backed up items.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backed up item name whose files/folders are to be restored.",
- "required": true,
- "type": "string"
- },
- {
- "name": "recoveryPointId",
- "in": "path",
- "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\nfor this backed up data.",
- "required": true,
- "type": "string"
- },
- {
- "name": "parameters",
- "in": "body",
- "description": "resource ILR request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ILRRequestResource"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "x-ms-examples": {
- "Provision Instant Item Level Recovery for Azure Vm": {
- "$ref": "./examples/AzureIaasVm/Provision_Ilr.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": {
- "post": {
- "tags": [
- "Restores"
- ],
- "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.",
- "operationId": "Restores_Trigger",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backed up items.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backed up items.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backed up item to be restored.",
- "required": true,
- "type": "string"
- },
- {
- "name": "recoveryPointId",
- "in": "path",
- "description": "Recovery point ID which represents the backed up data to be restored.",
- "required": true,
- "type": "string"
- },
- {
- "name": "parameters",
- "in": "body",
- "description": "resource restore request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/RestoreRequestResource"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "x-ms-examples": {
- "Restore to New Azure IaasVm": {
- "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR.json"
- },
- "Restore Disks": {
- "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": {
- "post": {
- "tags": [
- "ItemLevelRecoveryConnections"
- ],
- "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\r\ndisplaying all recoverable files and folders. This is an asynchronous operation.",
- "operationId": "ItemLevelRecoveryConnections_Revoke",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backed up items.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backed up items.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backed up item name whose files/folders are to be restored.",
- "required": true,
- "type": "string"
- },
- {
- "name": "recoveryPointId",
- "in": "path",
- "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\nthis backed up data.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "x-ms-examples": {
- "Revoke Instant Item Level Recovery for Azure Vm": {
- "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": {
- "post": {
- "tags": [
- "ProtectionContainers"
- ],
- "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\r\nasynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.",
- "operationId": "ProtectionContainers_Refresh",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated the container.",
- "required": true,
- "type": "string"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject",
- "x-ms-examples": {
- "Trigger Azure Vm Discovery": {
- "$ref": "./examples/Common/RefreshContainers.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": {
- "post": {
- "tags": [
- "JobCancellations"
- ],
- "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.",
- "operationId": "JobCancellations_Trigger",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "jobName",
- "in": "path",
- "description": "Name of the job to cancel.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "x-ms-examples": {
- "Cancel Job": {
- "$ref": "./examples/Common/TriggerCancelJob.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": {
- "get": {
- "tags": [
- "JobOperationResults"
- ],
- "description": "Fetches the result of any operation.\r\nthe operation.",
- "operationId": "JobOperationResults_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "jobName",
- "in": "path",
- "description": "Job name whose operation result has to be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "OperationID which represents the operation whose result has to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "202": {
- "description": "Accepted"
- },
- "204": {
- "description": "NoContent"
- }
- },
- "x-ms-examples": {
- "Cancel Job Operation Result": {
- "$ref": "./examples/Common/CancelJobOperationResult.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": {
- "get": {
- "tags": [
- "BackupOperationResults"
- ],
- "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\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"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "OperationID which represents the operation.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "202": {
- "description": "Accepted"
+ "202": {
+ "description": "Accepted"
},
"204": {
"description": "NoContent"
@@ -1698,112 +1025,6 @@
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": {
- "get": {
- "tags": [
- "ProtectionPolicies"
- ],
- "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.",
- "operationId": "ProtectionPolicies_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "policyName",
- "in": "path",
- "description": "Backup policy information to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectionPolicyResource"
- }
- }
- },
- "x-ms-examples": {
- "Get Azure IaasVm Protection Policy Details": {
- "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json"
- }
- }
- },
- "put": {
- "tags": [
- "ProtectionPolicies"
- ],
- "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.",
- "operationId": "ProtectionPolicies_CreateOrUpdate",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "policyName",
- "in": "path",
- "description": "Backup policy to be created.",
- "required": true,
- "type": "string"
- },
- {
- "name": "parameters",
- "in": "body",
- "description": "resource backup policy",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ProtectionPolicyResource"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectionPolicyResource"
- }
- },
- "202": {
- "description": "Accepted"
- }
- },
- "x-ms-examples": {
- "Create or Update Simple Azure Vm Protection Policy": {
- "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json"
- },
- "Create or Update Full Azure Vm Protection Policy": {
- "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json"
- },
- "Create or Update Full Azure Workload Protection Policy": {
- "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json"
- }
- }
- },
"delete": {
"tags": [
"ProtectionPolicies"
@@ -1849,59 +1070,6 @@
}
}
},
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": {
- "get": {
- "tags": [
- "ProtectionPolicyOperationResults"
- ],
- "description": "Provides the result of an operation.",
- "operationId": "ProtectionPolicyOperationResults_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "policyName",
- "in": "path",
- "description": "Backup policy name whose operation's result needs to be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "Operation ID which represents the operation whose result needs to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectionPolicyResource"
- }
- }
- },
- "x-ms-examples": {
- "Get Protection Policy Operation Results": {
- "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json"
- }
- }
- }
- },
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": {
"get": {
"tags": [
@@ -2254,580 +1422,129 @@
"allOf": [
{
"$ref": "#/definitions/BackupRequest"
- }
- ],
- "properties": {
- "recoveryPointExpiryTimeInUTC": {
- "format": "date-time",
- "description": "Backup copy will expire after the time specified (UTC).",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "AzureFileShareBackupRequest"
- },
- "AzureFileShareProtectableItem": {
- "description": "Protectable item for Azure Fileshare workloads.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/WorkloadProtectableItem"
- }
- ],
- "properties": {
- "parentContainerFabricId": {
- "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.",
- "type": "string"
- },
- "parentContainerFriendlyName": {
- "description": "Friendly name of container to which this protectable item belongs.",
- "type": "string"
- },
- "azureFileShareType": {
- "description": "File Share type XSync or XSMB.",
- "enum": [
- "Invalid",
- "XSMB",
- "XSync"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "AzureFileShareType",
- "modelAsString": true
- }
- }
- },
- "x-ms-discriminator-value": "AzureFileShare"
- },
- "AzureFileshareProtectedItem": {
- "description": "Azure File Share workload-specific backup item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the fileshare represented by this backup item.",
- "type": "string"
- },
- "protectionStatus": {
- "description": "Backup status of this backup item.",
- "type": "string"
- },
- "protectionState": {
- "description": "Backup state of this backup item.",
- "enum": [
- "Invalid",
- "IRPending",
- "Protected",
- "ProtectionError",
- "ProtectionStopped",
- "ProtectionPaused"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectionState",
- "modelAsString": true
- }
- },
- "healthStatus": {
- "description": "backups running status for this backup item.",
- "enum": [
- "Passed",
- "ActionRequired",
- "ActionSuggested",
- "Invalid"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "HealthStatus",
- "modelAsString": true
- }
- },
- "lastBackupStatus": {
- "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
- "type": "string"
- },
- "lastBackupTime": {
- "format": "date-time",
- "description": "Timestamp of the last backup operation on this backup item.",
- "type": "string"
- },
- "extendedInfo": {
- "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo",
- "description": "Additional information with this backup item."
- }
- },
- "x-ms-discriminator-value": "AzureFileShareProtectedItem"
- },
- "AzureFileshareProtectedItemExtendedInfo": {
- "description": "Additional information about Azure File Share backup item.",
- "type": "object",
- "properties": {
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "The oldest backup copy available for this item in the service.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "Number of available backup copies associated with this backup item.",
- "type": "integer"
- },
- "policyState": {
- "description": "Indicates consistency of policy object and policy applied to this backup item.",
- "type": "string"
- }
- }
- },
- "AzureFileShareProtectionPolicy": {
- "description": "AzureStorage backup policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionPolicy"
- }
- ],
- "properties": {
- "workLoadType": {
- "description": "Type of workload for the backup management",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource",
- "SQLDataBase",
- "AzureFileShare",
- "SAPHanaDatabase",
- "SAPAseDatabase"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "WorkloadType",
- "modelAsString": true
- }
- },
- "schedulePolicy": {
- "$ref": "#/definitions/SchedulePolicy",
- "description": "Backup schedule specified as part of backup policy."
- },
- "retentionPolicy": {
- "$ref": "#/definitions/RetentionPolicy",
- "description": "Retention policy with the details on backup copy retention ranges."
- },
- "timeZone": {
- "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "AzureStorage"
- },
- "AzureFileShareRecoveryPoint": {
- "description": "Azure File Share workload specific backup copy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RecoveryPoint"
- }
- ],
- "properties": {
- "recoveryPointType": {
- "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.",
- "type": "string"
- },
- "recoveryPointTime": {
- "format": "date-time",
- "description": "Time at which this backup copy was created.",
- "type": "string"
- },
- "fileShareSnapshotUri": {
- "description": "Contains Url to the snapshot of fileshare, if applicable",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "AzureFileShareRecoveryPoint"
- },
- "AzureFileShareRestoreRequest": {
- "description": "AzureFileShare Restore Request",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RestoreRequest"
- }
- ],
- "properties": {
- "recoveryType": {
- "description": "Type of this recovery.",
- "enum": [
- "Invalid",
- "OriginalLocation",
- "AlternateLocation",
- "RestoreDisks"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RecoveryType",
- "modelAsString": true
- }
- },
- "sourceResourceId": {
- "description": "Source storage account ARM Id",
- "type": "string"
- },
- "copyOptions": {
- "description": "Options to resolve copy conflicts.",
- "enum": [
- "Invalid",
- "CreateCopy",
- "Skip",
- "Overwrite",
- "FailOnConflict"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "CopyOptions",
- "modelAsString": true
- }
- },
- "restoreRequestType": {
- "description": "Restore Type (FullShareRestore or ItemLevelRestore)",
- "enum": [
- "Invalid",
- "FullShareRestore",
- "ItemLevelRestore"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RestoreRequestType",
- "modelAsString": true
- }
- },
- "restoreFileSpecs": {
- "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details",
- "type": "array",
- "items": {
- "$ref": "#/definitions/RestoreFileSpecs"
- }
- },
- "targetDetails": {
- "$ref": "#/definitions/TargetAFSRestoreInfo",
- "description": "Target File Share Details"
- }
- },
- "x-ms-discriminator-value": "AzureFileShareRestoreRequest"
- },
- "AzureIaaSClassicComputeVMContainer": {
- "description": "IaaS VM workload-specific backup item representing a classic virtual machine.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/IaaSVMContainer"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
- },
- "AzureIaaSClassicComputeVMProtectableItem": {
- "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/IaaSVMProtectableItem"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
- },
- "AzureIaaSClassicComputeVMProtectedItem": {
- "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureIaaSVMProtectedItem"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
- },
- "AzureIaaSComputeVMContainer": {
- "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/IaaSVMContainer"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
- },
- "AzureIaaSComputeVMProtectableItem": {
- "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/IaaSVMProtectableItem"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
- },
- "AzureIaaSComputeVMProtectedItem": {
- "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureIaaSVMProtectedItem"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
- },
- "AzureIaaSVMHealthDetails": {
- "description": "Azure IaaS VM workload-specific Health Details.",
- "type": "object",
- "properties": {
- "code": {
- "format": "int32",
- "description": "Health Code",
- "type": "integer"
- },
- "title": {
- "description": "Health Title",
- "type": "string"
- },
- "message": {
- "description": "Health Message",
+ }
+ ],
+ "properties": {
+ "recoveryPointExpiryTimeInUTC": {
+ "format": "date-time",
+ "description": "Backup copy will expire after the time specified (UTC).",
"type": "string"
- },
- "recommendations": {
- "description": "Health Recommended Actions",
- "type": "array",
- "items": {
- "type": "string"
- }
}
- }
+ },
+ "x-ms-discriminator-value": "AzureFileShareBackupRequest"
},
- "AzureIaaSVMProtectedItem": {
- "description": "IaaS VM workload-specific backup item.",
+ "AzureFileShareProtectableItem": {
+ "description": "Protectable item for Azure Fileshare workloads.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProtectedItem"
+ "$ref": "#/definitions/WorkloadProtectableItem"
}
],
"properties": {
- "friendlyName": {
- "description": "Friendly name of the VM represented by this backup item.",
- "type": "string"
- },
- "virtualMachineId": {
- "description": "Fully qualified ARM ID of the virtual machine represented by this item.",
+ "parentContainerFabricId": {
+ "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.",
"type": "string"
},
- "protectionStatus": {
- "description": "Backup status of this backup item.",
+ "parentContainerFriendlyName": {
+ "description": "Friendly name of container to which this protectable item belongs.",
"type": "string"
},
- "protectionState": {
- "description": "Backup state of this backup item.",
+ "azureFileShareType": {
+ "description": "File Share type XSync or XSMB.",
"enum": [
"Invalid",
- "IRPending",
- "Protected",
- "ProtectionError",
- "ProtectionStopped",
- "ProtectionPaused"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectionState",
- "modelAsString": true
- }
- },
- "healthStatus": {
- "description": "Health status of protected item",
- "enum": [
- "Passed",
- "ActionRequired",
- "ActionSuggested",
- "Invalid"
+ "XSMB",
+ "XSync"
],
"type": "string",
"x-ms-enum": {
- "name": "HealthStatus",
+ "name": "AzureFileShareType",
"modelAsString": true
}
- },
- "healthDetails": {
- "description": "Health details on this backup item.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/AzureIaaSVMHealthDetails"
- }
- },
- "lastBackupStatus": {
- "description": "Last backup operation status.",
- "type": "string"
- },
- "lastBackupTime": {
- "format": "date-time",
- "description": "Timestamp of the last backup operation on this backup item.",
- "type": "string"
- },
- "protectedItemDataId": {
- "description": "Data ID of the protected item.",
- "type": "string"
- },
- "extendedInfo": {
- "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo",
- "description": "Additional information for this backup item."
}
},
- "x-ms-discriminator-value": "AzureIaaSVMProtectedItem"
- },
- "AzureIaaSVMProtectedItemExtendedInfo": {
- "description": "Additional information on Azure IaaS VM specific backup item.",
- "type": "object",
- "properties": {
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "The oldest backup copy available for this backup item.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "Number of backup copies available for this backup item.",
- "type": "integer"
- },
- "policyInconsistent": {
- "description": "Specifies if backup policy associated with the backup item is inconsistent.",
- "type": "boolean"
- }
- }
+ "x-ms-discriminator-value": "AzureFileShare"
},
- "AzureIaaSVMProtectionPolicy": {
- "description": "IaaS VM workload-specific backup policy.",
+ "AzureFileShareProvisionILRRequest": {
+ "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProtectionPolicy"
+ "$ref": "#/definitions/ILRRequest"
}
],
"properties": {
- "schedulePolicy": {
- "$ref": "#/definitions/SchedulePolicy",
- "description": "Backup schedule specified as part of backup policy."
- },
- "retentionPolicy": {
- "$ref": "#/definitions/RetentionPolicy",
- "description": "Retention policy with the details on backup copy retention ranges."
- },
- "instantRpRetentionRangeInDays": {
- "format": "int32",
- "description": "Instant RP retention policy range in days",
- "type": "integer"
+ "recoveryPointId": {
+ "description": "Recovery point ID.",
+ "type": "string"
},
- "timeZone": {
- "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "sourceResourceId": {
+ "description": "Source Storage account ARM Id",
"type": "string"
}
},
- "x-ms-discriminator-value": "AzureIaasVM"
+ "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest"
},
- "AzureSQLAGWorkloadContainerProtectionContainer": {
- "description": "Container for SQL workloads under SQL Availability Group.",
+ "AzureIaaSClassicComputeVMContainer": {
+ "description": "IaaS VM workload-specific backup item representing a classic virtual machine.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/AzureWorkloadContainer"
+ "$ref": "#/definitions/IaaSVMContainer"
}
],
- "x-ms-discriminator-value": "SQLAGWorkLoadContainer"
+ "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
},
- "AzureSqlContainer": {
- "description": "Azure Sql workload-specific container.",
+ "AzureIaaSClassicComputeVMProtectableItem": {
+ "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProtectionContainer"
+ "$ref": "#/definitions/IaaSVMProtectableItem"
}
],
- "x-ms-discriminator-value": "AzureSqlContainer"
+ "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
},
- "AzureSqlProtectedItem": {
- "description": "Azure SQL workload-specific backup item.",
+ "AzureIaaSComputeVMContainer": {
+ "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProtectedItem"
+ "$ref": "#/definitions/IaaSVMContainer"
}
],
- "properties": {
- "protectedItemDataId": {
- "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.",
- "type": "string"
- },
- "protectionState": {
- "description": "Backup state of the backed up item.",
- "enum": [
- "Invalid",
- "IRPending",
- "Protected",
- "ProtectionError",
- "ProtectionStopped",
- "ProtectionPaused"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectedItemState",
- "modelAsString": true
- }
- },
- "extendedInfo": {
- "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo",
- "description": "Additional information for this backup item."
- }
- },
- "x-ms-discriminator-value": "Microsoft.Sql/servers/databases"
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
},
- "AzureSqlProtectedItemExtendedInfo": {
- "description": "Additional information on Azure Sql specific protected item.",
+ "AzureIaaSComputeVMProtectableItem": {
+ "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
"type": "object",
- "properties": {
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "The oldest backup copy available for this item in the service.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "Number of available backup copies associated with this backup item.",
- "type": "integer"
- },
- "policyState": {
- "description": "State of the backup policy associated with this backup item.",
- "type": "string"
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaaSVMProtectableItem"
}
- }
+ ],
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
},
- "AzureSqlProtectionPolicy": {
- "description": "Azure SQL workload-specific backup policy.",
+ "AzureSQLAGWorkloadContainerProtectionContainer": {
+ "description": "Container for SQL workloads under SQL Availability Group.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProtectionPolicy"
+ "$ref": "#/definitions/AzureWorkloadContainer"
}
],
- "properties": {
- "retentionPolicy": {
- "$ref": "#/definitions/RetentionPolicy",
- "description": "Retention policy details."
+ "x-ms-discriminator-value": "SQLAGWorkLoadContainer"
+ },
+ "AzureSqlContainer": {
+ "description": "Azure Sql workload-specific container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
}
- },
- "x-ms-discriminator-value": "AzureSql"
+ ],
+ "x-ms-discriminator-value": "AzureSqlContainer"
},
"AzureStorageContainer": {
"description": "Azure Storage Account workload-specific container.",
@@ -2911,12 +1628,12 @@
},
"subinquireditemcount": {
"format": "int32",
- "description": "For instance or AG, indicates number of DBs present",
+ "description": "For instance or AG, indicates number of DB's present",
"type": "integer"
},
"subWorkloadItemCount": {
"format": "int32",
- "description": "For instance or AG, indicates number of DBs to be protected",
+ "description": "For instance or AG, indicates number of DB's to be protected",
"type": "integer"
}
},
@@ -2953,202 +1670,20 @@
},
"subinquireditemcount": {
"format": "int32",
- "description": "For instance or AG, indicates number of DBs present",
+ "description": "For instance or AG, indicates number of DB's present",
"type": "integer"
},
"subprotectableitemcount": {
"format": "int32",
- "description": "For instance or AG, indicates number of DBs to be protected",
- "type": "integer"
- },
- "prebackupvalidation": {
- "$ref": "#/definitions/PreBackupValidation",
- "description": "Pre-backup validation for protectable objects"
- }
- },
- "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem"
- },
- "AzureVmWorkloadProtectedItem": {
- "description": "Azure VM workload-specific protected item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the DB represented by this backup item.",
- "type": "string"
- },
- "serverName": {
- "description": "Host/Cluster Name for instance or AG",
- "type": "string"
- },
- "parentName": {
- "description": "Parent name of the DB such as Instance or Availability Group.",
- "type": "string"
- },
- "parentType": {
- "description": "Parent type of protected item, example: for a DB, standalone server or distributed",
- "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": "AzureVmWorkloadProtectedItem"
- },
- "AzureVmWorkloadProtectedItemExtendedInfo": {
- "description": "Additional information on Azure Workload for SQL specific backup item.",
- "type": "object",
- "properties": {
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "The oldest backup copy available for this backup item.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "Number of backup copies available for this backup item.",
- "type": "integer"
- },
- "policyState": {
- "description": "Indicates consistency of policy object and policy applied to this backup item.",
- "type": "string"
- }
- }
- },
- "AzureVmWorkloadProtectionPolicy": {
- "description": "Azure VM (Mercury) workload-specific backup policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionPolicy"
- }
- ],
- "properties": {
- "workLoadType": {
- "description": "Type of workload for the backup management",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource",
- "SQLDataBase",
- "AzureFileShare",
- "SAPHanaDatabase",
- "SAPAseDatabase"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "WorkloadType",
- "modelAsString": true
- }
- },
- "settings": {
- "$ref": "#/definitions/Settings",
- "description": "Common settings for the backup management"
+ "description": "For instance or AG, indicates number of DB's to be protected",
+ "type": "integer"
},
- "subProtectionPolicy": {
- "description": "List of sub-protection policies which includes schedule and retention",
- "type": "array",
- "items": {
- "$ref": "#/definitions/SubProtectionPolicy"
- }
+ "prebackupvalidation": {
+ "$ref": "#/definitions/PreBackupValidation",
+ "description": "Pre-backup validation for protectable objects"
}
},
- "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"
+ "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem"
},
"AzureVmWorkloadSAPAseDatabaseWorkloadItem": {
"description": "Azure VM workload-specific workload item representing SAP ASE Database.",
@@ -3190,16 +1725,6 @@
],
"x-ms-discriminator-value": "SAPHanaDatabase"
},
- "AzureVmWorkloadSAPHanaDatabaseProtectedItem": {
- "description": "Azure VM workload-specific protected item representing SAP HANA Database.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
- }
- ],
- "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase"
- },
"AzureVmWorkloadSAPHanaDatabaseWorkloadItem": {
"description": "Azure VM workload-specific workload item representing SAP HANA Database.",
"type": "object",
@@ -3250,16 +1775,6 @@
],
"x-ms-discriminator-value": "SQLDataBase"
},
- "AzureVmWorkloadSQLDatabaseProtectedItem": {
- "description": "Azure VM workload-specific protected item representing SQL Database.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
- }
- ],
- "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase"
- },
"AzureVmWorkloadSQLDatabaseWorkloadItem": {
"description": "Azure VM workload-specific workload item representing SQL Database.",
"type": "object",
@@ -3419,258 +1934,6 @@
}
}
},
- "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",
- "allOf": [
- {
- "$ref": "#/definitions/RecoveryPoint"
- }
- ],
- "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": "AzureWorkloadRecoveryPoint"
- },
- "AzureWorkloadRestoreRequest": {
- "description": "AzureWorkload-specific restore.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RestoreRequest"
- }
- ],
- "properties": {
- "recoveryType": {
- "description": "OLR/ALR, RestoreDisks is invalid option",
- "enum": [
- "Invalid",
- "OriginalLocation",
- "AlternateLocation",
- "RestoreDisks"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RecoveryType",
- "modelAsString": true
- }
- },
- "sourceResourceId": {
- "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.",
- "type": "string"
- },
- "propertyBag": {
- "description": "Workload specific property bag.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "targetInfo": {
- "$ref": "#/definitions/TargetRestoreInfo",
- "description": "Details of target database"
- }
- },
- "x-ms-discriminator-value": "AzureWorkloadRestoreRequest"
- },
- "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": {
- "description": "Recovery point specific to PointInTime in SAPHana",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint"
- }
- ],
- "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint"
- },
- "AzureWorkloadSAPHanaPointInTimeRestoreRequest": {
- "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest"
- }
- ],
- "properties": {
- "pointInTime": {
- "format": "date-time",
- "description": "PointInTime value",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest"
- },
- "AzureWorkloadSAPHanaRecoveryPoint": {
- "description": "SAPHana specific recovery point, specifically encapsulates full/diff recovery points",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
- }
- ],
- "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint"
- },
- "AzureWorkloadSAPHanaRestoreRequest": {
- "description": "AzureWorkload SAP Hana-specific restore.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureWorkloadRestoreRequest"
- }
- ],
- "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest"
- },
- "AzureWorkloadSQLPointInTimeRecoveryPoint": {
- "description": "Recovery point specific to PointInTime",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint"
- }
- ],
- "properties": {
- "timeRanges": {
- "description": "List of log ranges",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PointInTimeRange"
- }
- }
- },
- "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint"
- },
- "AzureWorkloadSQLPointInTimeRestoreRequest": {
- "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest"
- }
- ],
- "properties": {
- "pointInTime": {
- "format": "date-time",
- "description": "PointInTime value",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest"
- },
- "AzureWorkloadSQLRecoveryPoint": {
- "description": "SQL specific recovery point, specifically encapsulates full/diff recovery point along with extended info",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
- }
- ],
- "properties": {
- "extendedInfo": {
- "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo",
- "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\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"
- },
- "AzureWorkloadSQLRecoveryPointExtendedInfo": {
- "description": "Extended info class details",
- "type": "object",
- "properties": {
- "dataDirectoryTimeInUTC": {
- "format": "date-time",
- "description": "UTC time at which data directory info was captured",
- "type": "string"
- },
- "dataDirectoryPaths": {
- "description": "List of data directory paths during restore operation.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/SQLDataDirectory"
- }
- }
- }
- },
- "AzureWorkloadSQLRestoreRequest": {
- "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureWorkloadRestoreRequest"
- }
- ],
- "properties": {
- "shouldUseAlternateTargetLocation": {
- "description": "Default option set to true. If this is set to false, alternate data directory must be provided",
- "type": "boolean"
- },
- "isNonRecoverable": {
- "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried",
- "type": "boolean"
- },
- "alternateDirectoryPaths": {
- "description": "Data directory details",
- "type": "array",
- "items": {
- "$ref": "#/definitions/SQLDataDirectoryMapping"
- }
- }
- },
- "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest"
- },
"BackupEngineBase": {
"description": "The base backup engine class. All workload specific backup engines derive from this class.",
"type": "object",
@@ -3749,7 +2012,7 @@
},
"extendedInfo": {
"$ref": "#/definitions/BackupEngineExtendedInfo",
- "description": "Extended info of the backup engine"
+ "description": "Extended info of the backupengine"
}
},
"discriminator": "backupEngineType"
@@ -3845,67 +2108,8 @@
},
"discriminator": "objectType"
},
- "BackupRequestResource": {
- "description": "Base class for backup request. Workload-specific backup requests are derived from this class.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/BackupRequest",
- "description": "BackupRequestResource properties"
- }
- }
- },
- "BackupResourceConfig": {
- "description": "The resource storage details.",
- "type": "object",
- "properties": {
- "storageModelType": {
- "description": "Storage type",
- "enum": [
- "Invalid",
- "GeoRedundant",
- "LocallyRedundant"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "StorageType",
- "modelAsString": true
- }
- },
- "storageType": {
- "description": "Storage type.",
- "enum": [
- "Invalid",
- "GeoRedundant",
- "LocallyRedundant"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "StorageType",
- "modelAsString": true
- }
- },
- "storageTypeState": {
- "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.",
- "enum": [
- "Invalid",
- "Locked",
- "Unlocked"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "StorageTypeState",
- "modelAsString": true
- }
- }
- }
- },
- "BackupResourceConfigResource": {
- "description": "The resource storage details.",
+ "BackupRequestResource": {
+ "description": "Base class for backup request. Workload-specific backup requests are derived from this class.",
"allOf": [
{
"$ref": "#/definitions/Resource"
@@ -3913,17 +2117,17 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/BackupResourceConfig",
- "description": "BackupResourceConfigResource properties"
+ "$ref": "#/definitions/BackupRequest",
+ "description": "BackupRequestResource properties"
}
}
},
- "BackupResourceVaultConfig": {
- "description": "Backup resource vault config details.",
+ "BackupResourceConfig": {
+ "description": "The resource storage details.",
"type": "object",
"properties": {
"storageModelType": {
- "description": "Storage type.",
+ "description": "Storage type",
"enum": [
"Invalid",
"GeoRedundant",
@@ -3960,24 +2164,11 @@
"name": "StorageTypeState",
"modelAsString": true
}
- },
- "enhancedSecurityState": {
- "description": "Enabled or Disabled.",
- "enum": [
- "Invalid",
- "Enabled",
- "Disabled"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "EnhancedSecurityState",
- "modelAsString": true
- }
}
}
},
- "BackupResourceVaultConfigResource": {
- "description": "Backup resource vault config details.",
+ "BackupResourceConfigResource": {
+ "description": "The resource storage details.",
"allOf": [
{
"$ref": "#/definitions/Resource"
@@ -3985,29 +2176,11 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/BackupResourceVaultConfig",
- "description": "BackupResourceVaultConfigResource properties"
- }
- }
- },
- "BEKDetails": {
- "description": "BEK is bitlocker encryption key.",
- "type": "object",
- "properties": {
- "secretUrl": {
- "description": "Secret is BEK.",
- "type": "string"
- },
- "secretVaultId": {
- "description": "ID of the Key Vault where this Secret is stored.",
- "type": "string"
- },
- "secretData": {
- "description": "BEK data.",
- "type": "string"
+ "$ref": "#/definitions/BackupResourceConfig",
+ "description": "BackupResourceConfigResource properties"
}
}
- },
+ },
"BMSBackupEngineQueryObject": {
"description": "Query parameters to fetch list of backup engines.",
"type": "object",
@@ -4257,42 +2430,6 @@
}
}
},
- "BMSRPQueryObject": {
- "description": "Filters to list backup copies.",
- "type": "object",
- "properties": {
- "startDate": {
- "format": "date-time",
- "description": "Backup copies created after this time.",
- "type": "string"
- },
- "endDate": {
- "format": "date-time",
- "description": "Backup copies created before this time.",
- "type": "string"
- },
- "restorePointQueryType": {
- "description": "RestorePoint type",
- "enum": [
- "Invalid",
- "Full",
- "Log",
- "Differential",
- "FullAndDifferential",
- "All"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RestorePointQueryType",
- "modelAsString": true
- }
- },
- "extendedInfo": {
- "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.",
- "type": "boolean"
- }
- }
- },
"BMSWorkloadItemQueryObject": {
"description": "Filters to list items that can be backed up.",
"type": "object",
@@ -4423,52 +2560,6 @@
}
}
},
- "DailyRetentionFormat": {
- "description": "Daily retention format.",
- "type": "object",
- "properties": {
- "daysOfTheMonth": {
- "description": "List of days of the month.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Day"
- }
- }
- }
- },
- "DailyRetentionSchedule": {
- "description": "Daily retention schedule.",
- "type": "object",
- "properties": {
- "retentionTimes": {
- "description": "Retention times of retention policy.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of retention Policy."
- }
- }
- },
- "Day": {
- "description": "Day of the week.",
- "type": "object",
- "properties": {
- "date": {
- "format": "int32",
- "description": "Date of the month",
- "type": "integer"
- },
- "isLast": {
- "description": "Whether Date is last date of month",
- "type": "boolean"
- }
- }
- },
"DistributedNodesInfo": {
"description": "This is used to represent the various nodes of the distributed container.",
"type": "object",
@@ -4556,165 +2647,27 @@
}
}
},
- "DPMProtectedItem": {
- "description": "Additional information on Backup engine specific backup item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the managed item",
- "type": "string"
- },
- "backupEngineName": {
- "description": "Backup Management server protecting this backup item",
- "type": "string"
- },
- "protectionState": {
- "description": "Protection state of the backup engine",
- "enum": [
- "Invalid",
- "IRPending",
- "Protected",
- "ProtectionError",
- "ProtectionStopped",
- "ProtectionPaused"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectedItemState",
- "modelAsString": true
- }
- },
- "isScheduledForDeferredDelete": {
- "description": "To check if backup item is scheduled for deferred delete",
- "type": "boolean"
- },
- "extendedInfo": {
- "$ref": "#/definitions/DPMProtectedItemExtendedInfo",
- "description": "Extended info of the backup item."
- }
- },
- "x-ms-discriminator-value": "DPMProtectedItem"
- },
- "DPMProtectedItemExtendedInfo": {
- "description": "Additional information of DPM Protected item.",
- "type": "object",
- "properties": {
- "protectableObjectLoadPath": {
- "description": "Attribute to provide information on various DBs.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "protected": {
- "description": "To check if backup item is disk protected.",
- "type": "boolean"
- },
- "isPresentOnCloud": {
- "description": "To check if backup item is cloud protected.",
- "type": "boolean"
- },
- "lastBackupStatus": {
- "description": "Last backup status information on backup item.",
- "type": "string"
- },
- "lastRefreshedAt": {
- "format": "date-time",
- "description": "Last refresh time on backup item.",
- "type": "string"
- },
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "Oldest cloud recovery point time.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "cloud recovery point count.",
- "type": "integer"
- },
- "onPremiseOldestRecoveryPoint": {
- "format": "date-time",
- "description": "Oldest disk recovery point time.",
- "type": "string"
- },
- "onPremiseLatestRecoveryPoint": {
- "format": "date-time",
- "description": "latest disk recovery point time.",
- "type": "string"
- },
- "onPremiseRecoveryPointCount": {
- "format": "int32",
- "description": "disk recovery point count.",
- "type": "integer"
- },
- "isCollocated": {
- "description": "To check if backup item is collocated.",
- "type": "boolean"
- },
- "protectionGroupName": {
- "description": "Protection group name of the backup item.",
- "type": "string"
- },
- "diskStorageUsedInBytes": {
- "description": "Used Disk storage in bytes.",
- "type": "string"
- },
- "totalDiskStorageSizeInBytes": {
- "description": "total Disk storage in bytes.",
- "type": "string"
- }
- }
- },
- "EncryptionDetails": {
- "description": "Details needed if the VM was encrypted at the time of backup.",
- "type": "object",
- "properties": {
- "encryptionEnabled": {
- "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.",
- "type": "boolean"
- },
- "kekUrl": {
- "description": "Key Url.",
- "type": "string"
- },
- "secretKeyUrl": {
- "description": "Secret Url.",
- "type": "string"
- },
- "kekVaultId": {
- "description": "ID of Key Vault where KEK is stored.",
- "type": "string"
- },
- "secretKeyVaultId": {
- "description": "ID of Key Vault where Secret is stored.",
- "type": "string"
- }
- }
- },
"ErrorDetail": {
"description": "Error Detail class which encapsulates Code, Message and Recommendations.",
"type": "object",
"properties": {
"code": {
"description": "Error code.",
- "type": "string"
+ "type": "string",
+ "readOnly": true
},
"message": {
"description": "Error Message related to the Code.",
- "type": "string"
+ "type": "string",
+ "readOnly": true
},
"recommendations": {
"description": "List of recommendation strings.",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "readOnly": true
}
}
},
@@ -4755,125 +2708,7 @@
"type": "object",
"additionalProperties": {
"type": "string"
- }
- }
- }
- },
- "GenericProtectedItem": {
- "description": "Base class for backup items.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the container.",
- "type": "string"
- },
- "policyState": {
- "description": "Indicates consistency of policy object and policy applied to this backup item.",
- "type": "string"
- },
- "protectionState": {
- "description": "Backup state of this backup item.",
- "enum": [
- "Invalid",
- "IRPending",
- "Protected",
- "ProtectionError",
- "ProtectionStopped",
- "ProtectionPaused"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectionState",
- "modelAsString": true
- }
- },
- "protectedItemId": {
- "format": "int64",
- "description": "Data Plane Service ID of the protected item.",
- "type": "integer"
- },
- "sourceAssociations": {
- "description": "Loosely coupled (type, value) associations (example - parent of a protected item)",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "fabricName": {
- "description": "Name of this backup item's fabric.",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "GenericProtectedItem"
- },
- "GenericProtectionPolicy": {
- "description": "Azure VM (Mercury) workload-specific backup policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionPolicy"
- }
- ],
- "properties": {
- "subProtectionPolicy": {
- "description": "List of sub-protection policies which includes schedule and retention",
- "type": "array",
- "items": {
- "$ref": "#/definitions/SubProtectionPolicy"
- }
- },
- "timeZone": {
- "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
- "type": "string"
- },
- "fabricName": {
- "description": "Name of this policy's fabric.",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "GenericProtectionPolicy"
- },
- "GenericRecoveryPoint": {
- "description": "Generic backup copy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RecoveryPoint"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the backup copy.",
- "type": "string"
- },
- "recoveryPointType": {
- "description": "Type of the backup copy.",
- "type": "string"
- },
- "recoveryPointTime": {
- "format": "date-time",
- "description": "Time at which this backup copy was created.",
- "type": "string"
- },
- "recoveryPointAdditionalInfo": {
- "description": "Additional information associated with this backup copy.",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "GenericRecoveryPoint"
- },
- "GetProtectedItemQueryObject": {
- "description": "Filters to list backup items.",
- "type": "object",
- "properties": {
- "expand": {
- "description": "Specifies if the additional information should be provided for this item.",
- "type": "string"
+ }
}
}
},
@@ -4962,150 +2797,8 @@
},
"x-ms-discriminator-value": "IaaSVMProtectableItem"
},
- "IaasVMRecoveryPoint": {
- "description": "IaaS VM workload specific backup copy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RecoveryPoint"
- }
- ],
- "properties": {
- "recoveryPointType": {
- "description": "Type of the backup copy.",
- "type": "string"
- },
- "recoveryPointTime": {
- "format": "date-time",
- "description": "Time at which this backup copy was created.",
- "type": "string"
- },
- "recoveryPointAdditionalInfo": {
- "description": "Additional information associated with this backup copy.",
- "type": "string"
- },
- "sourceVMStorageType": {
- "description": "Storage type of the VM whose backup copy is created.",
- "type": "string"
- },
- "isSourceVMEncrypted": {
- "description": "Identifies whether the VM was encrypted when the backup copy is created.",
- "type": "boolean"
- },
- "keyAndSecret": {
- "$ref": "#/definitions/KeyAndSecretDetails",
- "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true."
- },
- "isInstantIlrSessionActive": {
- "description": "Is the session to recover items from this backup copy still active.",
- "type": "boolean"
- },
- "recoveryPointTierDetails": {
- "description": "Recovery point tier information.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/RecoveryPointTierInformation"
- }
- },
- "isManagedVirtualMachine": {
- "description": "Whether VM is with Managed Disks",
- "type": "boolean"
- },
- "virtualMachineSize": {
- "description": "Virtual Machine Size",
- "type": "string"
- },
- "originalStorageAccountOption": {
- "description": "Original Storage Account Option",
- "type": "boolean"
- },
- "osType": {
- "description": "OS type",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "IaasVMRecoveryPoint"
- },
- "IaasVMRestoreRequest": {
- "description": "IaaS VM workload-specific restore.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RestoreRequest"
- }
- ],
- "properties": {
- "recoveryPointId": {
- "description": "ID of the backup copy to be recovered.",
- "type": "string"
- },
- "recoveryType": {
- "description": "Type of this recovery.",
- "enum": [
- "Invalid",
- "OriginalLocation",
- "AlternateLocation",
- "RestoreDisks"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RecoveryType",
- "modelAsString": true
- }
- },
- "sourceResourceId": {
- "description": "Fully qualified ARM ID of the VM which is being recovered.",
- "type": "string"
- },
- "targetVirtualMachineId": {
- "description": "This is the complete ARM Id of the VM that will be created.\r\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\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}",
- "type": "string"
- },
- "storageAccountId": {
- "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.",
- "type": "string"
- },
- "virtualNetworkId": {
- "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\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\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\nVirtual Machines.",
- "type": "string"
- },
- "region": {
- "description": "Region in which the virtual machine is restored.",
- "type": "string"
- },
- "affinityGroup": {
- "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.",
- "type": "string"
- },
- "createNewCloudService": {
- "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.",
- "type": "boolean"
- },
- "originalStorageAccountOption": {
- "description": "Original Storage Account Option",
- "type": "boolean"
- },
- "encryptionDetails": {
- "$ref": "#/definitions/EncryptionDetails",
- "description": "Details needed if the VM was encrypted at the time of backup."
- }
- },
- "x-ms-discriminator-value": "IaasVMRestoreRequest"
- },
"ILRRequest": {
- "description": "Parameters to restore file/folders API.",
+ "description": "Parameters to Provision ILR API.",
"required": [
"objectType"
],
@@ -5119,7 +2812,7 @@
"discriminator": "objectType"
},
"ILRRequestResource": {
- "description": "Parameters to restore file/folders API.",
+ "description": "Parameters to Provision ILR API.",
"allOf": [
{
"$ref": "#/definitions/Resource"
@@ -5164,6 +2857,11 @@
"errorDetail": {
"$ref": "#/definitions/ErrorDetail",
"description": "Error Detail in case the status is non-success."
+ },
+ "additionalDetail": {
+ "description": "Error Additional Detail in case the status is non-success.",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -5180,97 +2878,6 @@
}
}
},
- "KEKDetails": {
- "description": "KEK is encryption key for BEK.",
- "type": "object",
- "properties": {
- "keyUrl": {
- "description": "Key is KEK.",
- "type": "string"
- },
- "keyVaultId": {
- "description": "Key Vault ID where this Key is stored.",
- "type": "string"
- },
- "keyBackupData": {
- "description": "KEK data.",
- "type": "string"
- }
- }
- },
- "KeyAndSecretDetails": {
- "description": "BEK is bitlocker key.\r\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": {
- "$ref": "#/definitions/KEKDetails",
- "description": "KEK is encryption key for BEK."
- },
- "bekDetails": {
- "$ref": "#/definitions/BEKDetails",
- "description": "BEK is bitlocker encryption key."
- },
- "encryptionMechanism": {
- "description": "Encryption mechanism: None/ SinglePass/ DoublePass",
- "type": "string"
- }
- }
- },
- "LogSchedulePolicy": {
- "description": "Log policy schedule.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SchedulePolicy"
- }
- ],
- "properties": {
- "scheduleFrequencyInMins": {
- "format": "int32",
- "description": "Frequency of the log schedule operation of this policy in minutes.",
- "type": "integer"
- }
- },
- "x-ms-discriminator-value": "LogSchedulePolicy"
- },
- "LongTermRetentionPolicy": {
- "description": "Long term retention policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RetentionPolicy"
- }
- ],
- "properties": {
- "dailySchedule": {
- "$ref": "#/definitions/DailyRetentionSchedule",
- "description": "Daily retention schedule of the protection policy."
- },
- "weeklySchedule": {
- "$ref": "#/definitions/WeeklyRetentionSchedule",
- "description": "Weekly retention schedule of the protection policy."
- },
- "monthlySchedule": {
- "$ref": "#/definitions/MonthlyRetentionSchedule",
- "description": "Monthly retention schedule of the protection policy."
- },
- "yearlySchedule": {
- "$ref": "#/definitions/YearlyRetentionSchedule",
- "description": "Yearly retention schedule of the protection policy."
- }
- },
- "x-ms-discriminator-value": "LongTermRetentionPolicy"
- },
- "LongTermSchedulePolicy": {
- "description": "Long term policy schedule.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SchedulePolicy"
- }
- ],
- "x-ms-discriminator-value": "LongTermSchedulePolicy"
- },
"MabContainer": {
"description": "Container with items backed up using MAB backup engine.",
"type": "object",
@@ -5311,202 +2918,85 @@
},
"containerHealthState": {
"description": "Health state of mab container.",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "Windows"
- },
- "MabContainerExtendedInfo": {
- "description": "Additional information of the container.",
- "type": "object",
- "properties": {
- "lastRefreshedAt": {
- "format": "date-time",
- "description": "Time stamp when this container was refreshed.",
- "type": "string"
- },
- "backupItemType": {
- "description": "Type of backup items associated with this container.",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource",
- "SQLDataBase",
- "AzureFileShare",
- "SAPHanaDatabase",
- "SAPAseDatabase"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupItemType",
- "modelAsString": true
- }
- },
- "backupItems": {
- "description": "List of backup items associated with this container.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "policyName": {
- "description": "Backup policy associated with this container.",
- "type": "string"
- },
- "lastBackupStatus": {
- "description": "Latest backup status of this container.",
- "type": "string"
- }
- }
- },
- "MABContainerHealthDetails": {
- "description": "MAB workload-specific Health Details.",
- "type": "object",
- "properties": {
- "code": {
- "format": "int32",
- "description": "Health Code",
- "type": "integer"
- },
- "title": {
- "description": "Health Title",
- "type": "string"
- },
- "message": {
- "description": "Health Message",
- "type": "string"
- },
- "recommendations": {
- "description": "Health Recommended Actions",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "MabFileFolderProtectedItem": {
- "description": "MAB workload-specific backup item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of this backup item.",
- "type": "string"
- },
- "computerName": {
- "description": "Name of the computer associated with this backup item.",
- "type": "string"
- },
- "lastBackupStatus": {
- "description": "Status of last backup operation.",
- "type": "string"
- },
- "protectionState": {
- "description": "Protected, ProtectionStopped, IRPending or ProtectionError",
- "type": "string"
- },
- "deferredDeleteSyncTimeInUTC": {
- "format": "int64",
- "description": "Sync time for deferred deletion.",
- "type": "integer"
- },
- "extendedInfo": {
- "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo",
- "description": "Additional information with this backup item."
- }
- },
- "x-ms-discriminator-value": "MabFileFolderProtectedItem"
- },
- "MabFileFolderProtectedItemExtendedInfo": {
- "description": "Additional information on the backed up item.",
- "type": "object",
- "properties": {
- "lastRefreshedAt": {
- "format": "date-time",
- "description": "Last time when the agent data synced to service.",
- "type": "string"
- },
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "The oldest backup copy available.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "Number of backup copies associated with the backup item.",
- "type": "integer"
- }
- }
- },
- "MabProtectionPolicy": {
- "description": "Mab container-specific backup policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionPolicy"
- }
- ],
- "properties": {
- "schedulePolicy": {
- "$ref": "#/definitions/SchedulePolicy",
- "description": "Backup schedule of backup policy."
- },
- "retentionPolicy": {
- "$ref": "#/definitions/RetentionPolicy",
- "description": "Retention policy details."
+ "type": "string"
}
},
- "x-ms-discriminator-value": "MAB"
+ "x-ms-discriminator-value": "Windows"
},
- "MonthlyRetentionSchedule": {
- "description": "Monthly retention schedule.",
+ "MabContainerExtendedInfo": {
+ "description": "Additional information of the container.",
"type": "object",
"properties": {
- "retentionScheduleFormatType": {
- "description": "Retention schedule format type for monthly retention policy.",
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Time stamp when this container was refreshed.",
+ "type": "string"
+ },
+ "backupItemType": {
+ "description": "Type of backup items associated with this container.",
"enum": [
"Invalid",
- "Daily",
- "Weekly"
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
- "name": "RetentionScheduleFormat",
+ "name": "BackupItemType",
"modelAsString": true
}
},
- "retentionScheduleDaily": {
- "$ref": "#/definitions/DailyRetentionFormat",
- "description": "Daily retention format for monthly retention policy."
+ "backupItems": {
+ "description": "List of backup items associated with this container.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "policyName": {
+ "description": "Backup policy associated with this container.",
+ "type": "string"
+ },
+ "lastBackupStatus": {
+ "description": "Latest backup status of this container.",
+ "type": "string"
+ }
+ }
+ },
+ "MABContainerHealthDetails": {
+ "description": "MAB workload-specific Health Details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "description": "Health Code",
+ "type": "integer"
+ },
+ "title": {
+ "description": "Health Title",
+ "type": "string"
},
- "retentionScheduleWeekly": {
- "$ref": "#/definitions/WeeklyRetentionFormat",
- "description": "Weekly retention format for monthly retention policy."
+ "message": {
+ "description": "Health Message",
+ "type": "string"
},
- "retentionTimes": {
- "description": "Retention times of retention policy.",
+ "recommendations": {
+ "description": "Health Recommended Actions",
"type": "array",
"items": {
- "format": "date-time",
"type": "string"
}
- },
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of retention Policy."
}
}
},
@@ -5643,22 +3133,6 @@
},
"x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo"
},
- "PointInTimeRange": {
- "description": "Provides details for log ranges",
- "type": "object",
- "properties": {
- "startTime": {
- "format": "date-time",
- "description": "Start time of the time range for log recovery.",
- "type": "string"
- },
- "endTime": {
- "format": "date-time",
- "description": "End time of the time range for log recovery.",
- "type": "string"
- }
- }
- },
"PreBackupValidation": {
"description": "Pre-backup validation for Azure VM Workload provider.",
"type": "object",
@@ -5782,130 +3256,6 @@
}
}
},
- "ProtectedItem": {
- "description": "Base class for backup items.",
- "type": "object",
- "properties": {
- "protectedItemType": {
- "description": "backup item type.",
- "type": "string"
- },
- "backupManagementType": {
- "description": "Type of backup management for the backed up item.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql",
- "AzureStorage",
- "AzureWorkload",
- "DefaultBackup"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "workloadType": {
- "description": "Type of workload this item represents.",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource",
- "SQLDataBase",
- "AzureFileShare",
- "SAPHanaDatabase",
- "SAPAseDatabase"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DataSourceType",
- "modelAsString": true
- }
- },
- "containerName": {
- "description": "Unique name of container",
- "type": "string"
- },
- "sourceResourceId": {
- "description": "ARM ID of the resource to be backed up.",
- "type": "string"
- },
- "policyId": {
- "description": "ID of the backup policy with which this item is backed up.",
- "type": "string"
- },
- "lastRecoveryPoint": {
- "format": "date-time",
- "description": "Timestamp when the last (latest) backup copy was created for this backup item.",
- "type": "string"
- },
- "backupSetName": {
- "description": "Name of the backup set the backup item belongs to",
- "type": "string"
- },
- "createMode": {
- "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.",
- "enum": [
- "Invalid",
- "Default",
- "Recover"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "CreateMode",
- "modelAsString": true
- }
- },
- "deferredDeleteTimeInUTC": {
- "format": "date-time",
- "description": "Time for deferred deletion in UTC",
- "type": "string"
- },
- "isScheduledForDeferredDelete": {
- "description": "Flag to identify whether the DS is scheduled for deferred delete",
- "type": "boolean"
- },
- "deferredDeleteTimeRemaining": {
- "description": "Time remaining before the DS marked for deferred delete is permanently deleted",
- "type": "string"
- },
- "isDeferredDeleteScheduleUpcoming": {
- "description": "Flag to identify whether the deferred deleted DS is to be purged soon",
- "type": "boolean"
- },
- "isRehydrate": {
- "description": "Flag to identify that deferred deleted DS is to be moved into Pause state",
- "type": "boolean"
- }
- },
- "discriminator": "protectedItemType"
- },
- "ProtectedItemResource": {
- "description": "Base class for backup items.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ProtectedItem",
- "description": "ProtectedItemResource properties"
- }
- }
- },
"ProtectionContainer": {
"description": "Base class for container with backup items. Containers with specific workloads are derived from this class.",
"type": "object",
@@ -5990,129 +3340,31 @@
{
"$ref": "#/definitions/ResourceList"
}
- ],
- "properties": {
- "value": {
- "description": "List of resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProtectionContainerResource"
- }
- }
- }
- },
- "ProtectionPolicy": {
- "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
- "required": [
- "backupManagementType"
- ],
- "type": "object",
- "properties": {
- "protectedItemsCount": {
- "format": "int32",
- "description": "Number of items associated with this policy.",
- "type": "integer"
- },
- "backupManagementType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "backupManagementType"
- },
- "ProtectionPolicyResource": {
- "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ProtectionPolicy",
- "description": "ProtectionPolicyResource properties"
- }
- }
- },
- "RecoveryPoint": {
- "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.",
- "required": [
- "objectType"
- ],
- "type": "object",
- "properties": {
- "objectType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "objectType"
- },
- "RecoveryPointResource": {
- "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/RecoveryPoint",
- "description": "RecoveryPointResource properties"
- }
- }
- },
- "RecoveryPointResourceList": {
- "description": "List of RecoveryPoint resources",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ResourceList"
- }
- ],
- "properties": {
- "value": {
- "description": "List of resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/RecoveryPointResource"
- }
- }
- }
- },
- "RecoveryPointTierInformation": {
- "description": "Recovery point tier information.",
- "type": "object",
- "properties": {
- "type": {
- "description": "Recovery point tier type.",
- "enum": [
- "Invalid",
- "InstantRP",
- "HardenedRP"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RecoveryPointTierType",
- "modelAsString": false
- }
- },
- "status": {
- "description": "Recovery point tier status.",
- "enum": [
- "Invalid",
- "Valid",
- "Disabled",
- "Deleted"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RecoveryPointTierStatus",
- "modelAsString": false
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionContainerResource"
}
}
}
},
+ "RecoveryPoint": {
+ "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
"Resource": {
"description": "ARM Resource.",
"type": "object",
@@ -6160,198 +3412,6 @@
}
}
},
- "RestoreFileSpecs": {
- "description": "Restore file specs like file path, type and target folder path info.",
- "type": "object",
- "properties": {
- "path": {
- "description": "Source File/Folder path",
- "type": "string"
- },
- "fileSpecType": {
- "description": "Indicates what the Path variable stands for",
- "type": "string"
- },
- "targetFolderPath": {
- "description": "Destination folder path in target FileShare",
- "type": "string"
- }
- }
- },
- "RestoreRequest": {
- "description": "Base class for restore request. Workload-specific restore requests are derived from this class.",
- "required": [
- "objectType"
- ],
- "type": "object",
- "properties": {
- "objectType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "objectType"
- },
- "RestoreRequestResource": {
- "description": "Base class for restore request. Workload-specific restore requests are derived from this class.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/RestoreRequest",
- "description": "RestoreRequestResource properties"
- }
- }
- },
- "RetentionDuration": {
- "description": "Retention duration.",
- "type": "object",
- "properties": {
- "count": {
- "format": "int32",
- "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.",
- "type": "integer"
- },
- "durationType": {
- "description": "Retention duration type of retention policy.",
- "enum": [
- "Invalid",
- "Days",
- "Weeks",
- "Months",
- "Years"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RetentionDurationType",
- "modelAsString": true
- }
- }
- }
- },
- "RetentionPolicy": {
- "description": "Base class for retention policy.",
- "required": [
- "retentionPolicyType"
- ],
- "type": "object",
- "properties": {
- "retentionPolicyType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "retentionPolicyType"
- },
- "SchedulePolicy": {
- "description": "Base class for backup schedule.",
- "required": [
- "schedulePolicyType"
- ],
- "type": "object",
- "properties": {
- "schedulePolicyType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "schedulePolicyType"
- },
- "Settings": {
- "description": "Common settings field for backup management",
- "type": "object",
- "properties": {
- "timeZone": {
- "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
- "type": "string"
- },
- "issqlcompression": {
- "description": "SQL compression flag",
- "type": "boolean"
- },
- "isCompression": {
- "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.",
- "type": "boolean"
- }
- }
- },
- "SimpleRetentionPolicy": {
- "description": "Simple policy retention.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RetentionPolicy"
- }
- ],
- "properties": {
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of the protection policy."
- }
- },
- "x-ms-discriminator-value": "SimpleRetentionPolicy"
- },
- "SimpleSchedulePolicy": {
- "description": "Simple policy schedule.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SchedulePolicy"
- }
- ],
- "properties": {
- "scheduleRunFrequency": {
- "description": "Frequency of the schedule operation of this policy.",
- "enum": [
- "Invalid",
- "Daily",
- "Weekly"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ScheduleRunType",
- "modelAsString": true
- }
- },
- "scheduleRunDays": {
- "description": "List of days of week this schedule has to be run.",
- "type": "array",
- "items": {
- "enum": [
- "Sunday",
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday",
- "Saturday"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DayOfWeek",
- "modelAsString": false
- }
- }
- },
- "scheduleRunTimes": {
- "description": "List of times of day this schedule has to be run.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "scheduleWeeklyFrequency": {
- "format": "int32",
- "description": "At every number weeks this schedule has to be run.",
- "type": "integer"
- }
- },
- "x-ms-discriminator-value": "SimpleSchedulePolicy"
- },
"SQLDataDirectory": {
"description": "SQLDataDirectory info",
"type": "object",
@@ -6379,107 +3439,6 @@
}
}
},
- "SQLDataDirectoryMapping": {
- "description": "Encapsulates information regarding data directory",
- "type": "object",
- "properties": {
- "mappingType": {
- "description": "Type of data directory mapping",
- "enum": [
- "Invalid",
- "Data",
- "Log"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "SQLDataDirectoryType",
- "modelAsString": true
- }
- },
- "sourceLogicalName": {
- "description": "Restore source logical name path",
- "type": "string"
- },
- "sourcePath": {
- "description": "Restore source path",
- "type": "string"
- },
- "targetPath": {
- "description": "Target path",
- "type": "string"
- }
- }
- },
- "SubProtectionPolicy": {
- "description": "Sub-protection policy which includes schedule and retention",
- "type": "object",
- "properties": {
- "policyType": {
- "description": "Type of backup policy type",
- "enum": [
- "Invalid",
- "Full",
- "Differential",
- "Log",
- "CopyOnlyFull"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "PolicyType",
- "modelAsString": true
- }
- },
- "schedulePolicy": {
- "$ref": "#/definitions/SchedulePolicy",
- "description": "Backup schedule specified as part of backup policy."
- },
- "retentionPolicy": {
- "$ref": "#/definitions/RetentionPolicy",
- "description": "Retention policy with the details on backup copy retention ranges."
- }
- }
- },
- "TargetAFSRestoreInfo": {
- "description": "Target Azure File Share Info.",
- "type": "object",
- "properties": {
- "name": {
- "description": "File share name",
- "type": "string"
- },
- "targetResourceId": {
- "description": "Target file share resource ARM ID",
- "type": "string"
- }
- }
- },
- "TargetRestoreInfo": {
- "description": "Details about target workload during restore operation.",
- "type": "object",
- "properties": {
- "overwriteOption": {
- "description": "Can Overwrite if Target DataBase already exists",
- "enum": [
- "Invalid",
- "FailOnConflict",
- "Overwrite"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "OverwriteOptions",
- "modelAsString": true
- }
- },
- "containerId": {
- "description": "Resource Id name of the container in which Target DataBase resides",
- "type": "string"
- },
- "databaseName": {
- "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana",
- "type": "string"
- }
- }
- },
"TokenInformation": {
"description": "The token information details.",
"type": "object",
@@ -6499,89 +3458,6 @@
}
}
},
- "WeeklyRetentionFormat": {
- "description": "Weekly retention format.",
- "type": "object",
- "properties": {
- "daysOfTheWeek": {
- "description": "List of days of the week.",
- "type": "array",
- "items": {
- "enum": [
- "Sunday",
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday",
- "Saturday"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DayOfWeek",
- "modelAsString": false
- }
- }
- },
- "weeksOfTheMonth": {
- "description": "List of weeks of month.",
- "type": "array",
- "items": {
- "enum": [
- "First",
- "Second",
- "Third",
- "Fourth",
- "Last",
- "Invalid"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "WeekOfMonth",
- "modelAsString": false
- }
- }
- }
- }
- },
- "WeeklyRetentionSchedule": {
- "description": "Weekly retention schedule.",
- "type": "object",
- "properties": {
- "daysOfTheWeek": {
- "description": "List of days of week for weekly retention policy.",
- "type": "array",
- "items": {
- "enum": [
- "Sunday",
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday",
- "Saturday"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DayOfWeek",
- "modelAsString": false
- }
- }
- },
- "retentionTimes": {
- "description": "Retention times of retention policy.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of retention Policy."
- }
- }
- },
"WorkloadInquiryDetails": {
"description": "Details of an inquired protectable item.",
"type": "object",
@@ -6740,71 +3616,6 @@
}
}
}
- },
- "YearlyRetentionSchedule": {
- "description": "Yearly retention schedule.",
- "type": "object",
- "properties": {
- "retentionScheduleFormatType": {
- "description": "Retention schedule format for yearly retention policy.",
- "enum": [
- "Invalid",
- "Daily",
- "Weekly"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RetentionScheduleFormat",
- "modelAsString": true
- }
- },
- "monthsOfYear": {
- "description": "List of months of year of yearly retention policy.",
- "type": "array",
- "items": {
- "enum": [
- "Invalid",
- "January",
- "February",
- "March",
- "April",
- "May",
- "June",
- "July",
- "August",
- "September",
- "October",
- "November",
- "December"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "MonthOfYear",
- "modelAsString": false
- }
- }
- },
- "retentionScheduleDaily": {
- "$ref": "#/definitions/DailyRetentionFormat",
- "description": "Daily retention format for yearly retention policy."
- },
- "retentionScheduleWeekly": {
- "$ref": "#/definitions/WeeklyRetentionFormat",
- "description": "Weekly retention format for yearly retention policy."
- },
- "retentionTimes": {
- "description": "Retention times of retention policy.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of retention Policy."
- }
- }
}
},
"parameters": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json
deleted file mode 100644
index 72ce3b95a189..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json
+++ /dev/null
@@ -1,181 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "SwaggerTestRg",
- "vaultName": "NetSDKTestRsVault",
- "policyName": "testPolicy1",
- "api-version": "2016-06-01",
- "parameters": {
- "properties": {
- "backupManagementType": "AzureIaasVM",
- "timeZone": "Pacific Standard Time",
- "schedulePolicy": {
- "schedulePolicyType": "SimpleSchedulePolicy",
- "scheduleRunFrequency": "Weekly",
- "scheduleRunTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "scheduleRunDays": [
- "Monday",
- "Wednesday",
- "Thursday"
- ]
- },
- "retentionPolicy": {
- "retentionPolicyType": "LongTermRetentionPolicy",
- "weeklySchedule": {
- "daysOfTheWeek": [
- "Monday",
- "Wednesday",
- "Thursday"
- ],
- "retentionTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "retentionDuration": {
- "count": 1,
- "durationType": "Weeks"
- }
- },
- "monthlySchedule": {
- "retentionScheduleFormatType": "Weekly",
- "retentionScheduleWeekly": {
- "daysOfTheWeek": [
- "Wednesday",
- "Thursday"
- ],
- "weeksOfTheMonth": [
- "First",
- "Third"
- ]
- },
- "retentionTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "retentionDuration": {
- "count": 2,
- "durationType": "Months"
- }
- },
- "yearlySchedule": {
- "retentionScheduleFormatType": "Weekly",
- "monthsOfYear": [
- "February",
- "November"
- ],
- "retentionScheduleWeekly": {
- "daysOfTheWeek": [
- "Monday",
- "Thursday"
- ],
- "weeksOfTheMonth": [
- "Fourth"
- ]
- },
- "retentionTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "retentionDuration": {
- "count": 4,
- "durationType": "Years"
- }
- }
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
- "name": "testPolicy1",
- "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
- "properties": {
- "backupManagementType": "AzureIaasVM",
- "schedulePolicy": {
- "schedulePolicyType": "SimpleSchedulePolicy",
- "scheduleRunFrequency": "Weekly",
- "scheduleRunDays": [
- "Monday",
- "Wednesday",
- "Thursday"
- ],
- "scheduleRunTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "scheduleWeeklyFrequency": 0
- },
- "retentionPolicy": {
- "retentionPolicyType": "LongTermRetentionPolicy",
- "weeklySchedule": {
- "daysOfTheWeek": [
- "Monday",
- "Wednesday",
- "Thursday"
- ],
- "retentionTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "retentionDuration": {
- "count": 1,
- "durationType": "Weeks"
- }
- },
- "monthlySchedule": {
- "retentionScheduleFormatType": "Weekly",
- "retentionScheduleWeekly": {
- "daysOfTheWeek": [
- "Wednesday",
- "Thursday"
- ],
- "weeksOfTheMonth": [
- "First",
- "Third"
- ]
- },
- "retentionTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "retentionDuration": {
- "count": 2,
- "durationType": "Months"
- }
- },
- "yearlySchedule": {
- "retentionScheduleFormatType": "Weekly",
- "monthsOfYear": [
- "February",
- "November"
- ],
- "retentionScheduleWeekly": {
- "daysOfTheWeek": [
- "Monday",
- "Thursday"
- ],
- "weeksOfTheMonth": [
- "Fourth"
- ]
- },
- "retentionTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "retentionDuration": {
- "count": 4,
- "durationType": "Years"
- }
- }
- },
- "timeZone": "Pacific Standard Time",
- "protectedItemsCount": 0
- }
- }
- },
- "202": {
- "headers": {
- "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
- "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
- "Retry-After": 60
- }
- }
- }
-}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json
deleted file mode 100644
index cc0786ecf9e1..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json
+++ /dev/null
@@ -1,260 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "SwaggerTestRg",
- "vaultName": "NetSDKTestRsVault",
- "policyName": "testPolicy1",
- "api-version": "2016-06-01",
- "parameters": {
- "properties": {
- "backupManagementType": "AzureWorkload",
- "workLoadType": "SQLDataBase",
- "settings": {
- "timeZone": "Pacific Standard Time",
- "issqlcompression": false
- },
- "subProtectionPolicy": [
- {
- "policyType": "Full",
- "schedulePolicy": {
- "schedulePolicyType": "SimpleSchedulePolicy",
- "scheduleRunFrequency": "Weekly",
- "scheduleRunTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "scheduleRunDays": [
- "Sunday",
- "Tuesday"
- ]
- },
- "retentionPolicy": {
- "retentionPolicyType": "LongTermRetentionPolicy",
- "weeklySchedule": {
- "daysOfTheWeek": [
- "Sunday",
- "Tuesday"
- ],
- "retentionTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "retentionDuration": {
- "count": 2,
- "durationType": "Weeks"
- }
- },
- "monthlySchedule": {
- "retentionScheduleFormatType": "Weekly",
- "retentionScheduleWeekly": {
- "daysOfTheWeek": [
- "Sunday"
- ],
- "weeksOfTheMonth": [
- "Second"
- ]
- },
- "retentionTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "retentionDuration": {
- "count": 1,
- "durationType": "Months"
- }
- },
- "yearlySchedule": {
- "retentionScheduleFormatType": "Weekly",
- "monthsOfYear": [
- "January",
- "June",
- "December"
- ],
- "retentionScheduleWeekly": {
- "daysOfTheWeek": [
- "Sunday"
- ],
- "weeksOfTheMonth": [
- "Last"
- ]
- },
- "retentionTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "retentionDuration": {
- "count": 1,
- "durationType": "Years"
- }
- }
- }
- },
- {
- "policyType": "Differential",
- "schedulePolicy": {
- "schedulePolicyType": "SimpleSchedulePolicy",
- "scheduleRunFrequency": "Weekly",
- "scheduleRunTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "scheduleRunDays": [
- "Friday"
- ]
- },
- "retentionPolicy": {
- "retentionPolicyType": "SimpleRetentionPolicy",
- "retentionDuration": {
- "count": 8,
- "durationType": "Days"
- }
- }
- },
- {
- "policyType": "Log",
- "schedulePolicy": {
- "schedulePolicyType": "LogSchedulePolicy",
- "scheduleFrequencyInMins": 60
- },
- "retentionPolicy": {
- "retentionPolicyType": "SimpleRetentionPolicy",
- "retentionDuration": {
- "count": 7,
- "durationType": "Days"
- }
- }
- }
- ]
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
- "name": "testPolicy1",
- "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
- "properties": {
- "backupManagementType": "AzureWorkload",
- "workLoadType": "SQLDataBase",
- "settings": {
- "timeZone": "Pacific Standard Time",
- "issqlcompression": false
- },
- "subProtectionPolicy": [
- {
- "policyType": "Full",
- "schedulePolicy": {
- "schedulePolicyType": "SimpleSchedulePolicy",
- "scheduleRunFrequency": "Weekly",
- "scheduleRunDays": [
- "Sunday",
- "Tuesday"
- ],
- "scheduleRunTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "scheduleWeeklyFrequency": 0
- },
- "retentionPolicy": {
- "retentionPolicyType": "LongTermRetentionPolicy",
- "weeklySchedule": {
- "daysOfTheWeek": [
- "Sunday",
- "Tuesday"
- ],
- "retentionTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "retentionDuration": {
- "count": 2,
- "durationType": "Weeks"
- }
- },
- "monthlySchedule": {
- "retentionScheduleFormatType": "Weekly",
- "retentionScheduleWeekly": {
- "daysOfTheWeek": [
- "Sunday"
- ],
- "weeksOfTheMonth": [
- "Second"
- ]
- },
- "retentionTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "retentionDuration": {
- "count": 1,
- "durationType": "Months"
- }
- },
- "yearlySchedule": {
- "retentionScheduleFormatType": "Weekly",
- "monthsOfYear": [
- "January",
- "June",
- "December"
- ],
- "retentionScheduleWeekly": {
- "daysOfTheWeek": [
- "Sunday"
- ],
- "weeksOfTheMonth": [
- "Last"
- ]
- },
- "retentionTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "retentionDuration": {
- "count": 1,
- "durationType": "Years"
- }
- }
- }
- },
- {
- "policyType": "Differential",
- "schedulePolicy": {
- "schedulePolicyType": "SimpleSchedulePolicy",
- "scheduleRunFrequency": "Weekly",
- "scheduleRunDays": [
- "Friday"
- ],
- "scheduleRunTimes": [
- "2018-01-24T10:00:00Z"
- ],
- "scheduleWeeklyFrequency": 0
- },
- "retentionPolicy": {
- "retentionPolicyType": "SimpleRetentionPolicy",
- "retentionDuration": {
- "count": 8,
- "durationType": "Days"
- }
- }
- },
- {
- "policyType": "Log",
- "schedulePolicy": {
- "schedulePolicyType": "LogSchedulePolicy",
- "scheduleFrequencyInMins": 60
- },
- "retentionPolicy": {
- "retentionPolicyType": "SimpleRetentionPolicy",
- "retentionDuration": {
- "count": 7,
- "durationType": "Days"
- }
- }
- }
- ],
- "protectedItemsCount": 0
- }
- }
- },
- "202": {
- "headers": {
- "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
- "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
- "Retry-After": 60
- }
- }
- }
-}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Patch.json
deleted file mode 100644
index 3b3c17c9d583..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Patch.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "SwaggerTestRg",
- "vaultName": "SwaggerTest",
- "api-version": "2016-12-01",
- "parameters": {
- "properties": {
- "enhancedSecurityState": "Enabled"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig",
- "name": "vaultconfig",
- "type": "Microsoft.RecoveryServices/vaults/backupconfig",
- "properties": {
- "enhancedSecurityState": "Enabled"
- }
- }
- }
- }
-}
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 400fb2d61c0a..e59312e7b420 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
@@ -314,321 +314,6 @@
}
}
},
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": {
- "get": {
- "tags": [
- "BackupJobs"
- ],
- "description": "Provides a pageable list of jobs.",
- "operationId": "BackupJobs_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- },
- {
- "name": "$skipToken",
- "in": "query",
- "description": "skipToken Filter.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/JobResourceList"
- }
- }
- },
- "x-ms-odata": "#/definitions/JobQueryObject",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List All Jobs": {
- "$ref": "./examples/Common/ListJobs.json"
- },
- "List Jobs With Filters": {
- "$ref": "./examples/Common/ListJobsWithAllSupportedFilters.json"
- },
- "List Jobs With Time Filter": {
- "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": {
- "get": {
- "tags": [
- "JobDetails"
- ],
- "description": "Gets extended information associated with the job.",
- "operationId": "JobDetails_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "jobName",
- "in": "path",
- "description": "Name of the job whose details are to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/JobResource"
- }
- }
- },
- "x-ms-examples": {
- "Get Job Details": {
- "$ref": "./examples/Common/GetJobDetails.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": {
- "get": {
- "tags": [
- "ExportJobsOperationResults"
- ],
- "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\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"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "OperationID which represents the export job.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OperationResultInfoBaseResource"
- }
- },
- "202": {
- "description": "Accepted",
- "schema": {
- "$ref": "#/definitions/OperationResultInfoBaseResource"
- }
- }
- },
- "x-ms-examples": {
- "Export Jobs Operation Results": {
- "$ref": "./examples/Common/ExportJobsOperationResult.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": {
- "post": {
- "tags": [
- "Jobs"
- ],
- "description": "Triggers export of jobs specified by filters and returns an OperationID to track.",
- "operationId": "Jobs_Export",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "x-ms-odata": "#/definitions/JobQueryObject",
- "x-ms-examples": {
- "Export Jobs": {
- "$ref": "./examples/Common/TriggerExportJobs.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": {
- "get": {
- "tags": [
- "BackupPolicies"
- ],
- "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.",
- "operationId": "BackupPolicies_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectionPolicyResourceList"
- }
- }
- },
- "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List protection policies with backupManagementType filter as AzureIaasVm": {
- "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json"
- },
- "List protection policies with backupManagementType filter as AzureWorkload": {
- "$ref": "./examples/AzureWorkload/BackupPolicies_List.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": {
- "get": {
- "tags": [
- "BackupProtectedItems"
- ],
- "description": "Provides a pageable list of all items that are backed up within a vault.",
- "operationId": "BackupProtectedItems_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- },
- {
- "name": "$skipToken",
- "in": "query",
- "description": "skipToken Filter.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectedItemResourceList"
- }
- }
- },
- "x-ms-odata": "#/definitions/ProtectedItemQueryObject",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List protected items with backupManagementType filter as AzureIaasVm": {
- "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json"
- }
- }
- }
- },
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents": {
"get": {
"tags": [
@@ -745,54 +430,6 @@
}
}
}
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": {
- "post": {
- "tags": [
- "Operation"
- ],
- "description": "Validate operation for specified backed up item. This is a synchronous operation.",
- "operationId": "Operation_Validate",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "parameters",
- "in": "body",
- "description": "resource validate operation request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ValidateOperationRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ValidateOperationsResponse"
- }
- }
- },
- "x-ms-examples": {
- "Validate Operation": {
- "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json"
- }
- }
- }
}
},
"definitions": {
@@ -806,227 +443,6 @@
],
"x-ms-discriminator-value": "AzureBackupGoals"
},
- "AzureFileshareProtectedItem": {
- "description": "Azure File Share workload-specific backup item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the fileshare represented by this backup item.",
- "type": "string"
- },
- "protectionStatus": {
- "description": "Backup status of this backup item.",
- "type": "string"
- },
- "protectionState": {
- "description": "Backup state of this backup item.",
- "enum": [
- "Invalid",
- "IRPending",
- "Protected",
- "ProtectionError",
- "ProtectionStopped",
- "ProtectionPaused"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectionState",
- "modelAsString": true
- }
- },
- "healthStatus": {
- "description": "backups running status for this backup item.",
- "enum": [
- "Passed",
- "ActionRequired",
- "ActionSuggested",
- "Invalid"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "HealthStatus",
- "modelAsString": true
- }
- },
- "lastBackupStatus": {
- "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
- "type": "string"
- },
- "lastBackupTime": {
- "format": "date-time",
- "description": "Timestamp of the last backup operation on this backup item.",
- "type": "string"
- },
- "extendedInfo": {
- "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo",
- "description": "Additional information with this backup item."
- }
- },
- "x-ms-discriminator-value": "AzureFileShareProtectedItem"
- },
- "AzureFileshareProtectedItemExtendedInfo": {
- "description": "Additional information about Azure File Share backup item.",
- "type": "object",
- "properties": {
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "The oldest backup copy available for this item in the service.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "Number of available backup copies associated with this backup item.",
- "type": "integer"
- },
- "policyState": {
- "description": "Indicates consistency of policy object and policy applied to this backup item.",
- "type": "string"
- }
- }
- },
- "AzureFileShareProtectionPolicy": {
- "description": "AzureStorage backup policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionPolicy"
- }
- ],
- "properties": {
- "workLoadType": {
- "description": "Type of workload for the backup management",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource",
- "SQLDataBase",
- "AzureFileShare",
- "SAPHanaDatabase",
- "SAPAseDatabase"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "WorkloadType",
- "modelAsString": true
- }
- },
- "schedulePolicy": {
- "$ref": "#/definitions/SchedulePolicy",
- "description": "Backup schedule specified as part of backup policy."
- },
- "retentionPolicy": {
- "$ref": "#/definitions/RetentionPolicy",
- "description": "Retention policy with the details on backup copy retention ranges."
- },
- "timeZone": {
- "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "AzureStorage"
- },
- "AzureFileShareRestoreRequest": {
- "description": "AzureFileShare Restore Request",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RestoreRequest"
- }
- ],
- "properties": {
- "recoveryType": {
- "description": "Type of this recovery.",
- "enum": [
- "Invalid",
- "OriginalLocation",
- "AlternateLocation",
- "RestoreDisks"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RecoveryType",
- "modelAsString": true
- }
- },
- "sourceResourceId": {
- "description": "Source storage account ARM Id",
- "type": "string"
- },
- "copyOptions": {
- "description": "Options to resolve copy conflicts.",
- "enum": [
- "Invalid",
- "CreateCopy",
- "Skip",
- "Overwrite",
- "FailOnConflict"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "CopyOptions",
- "modelAsString": true
- }
- },
- "restoreRequestType": {
- "description": "Restore Type (FullShareRestore or ItemLevelRestore)",
- "enum": [
- "Invalid",
- "FullShareRestore",
- "ItemLevelRestore"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RestoreRequestType",
- "modelAsString": true
- }
- },
- "restoreFileSpecs": {
- "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details",
- "type": "array",
- "items": {
- "$ref": "#/definitions/RestoreFileSpecs"
- }
- },
- "targetDetails": {
- "$ref": "#/definitions/TargetAFSRestoreInfo",
- "description": "Target File Share Details"
- }
- },
- "x-ms-discriminator-value": "AzureFileShareRestoreRequest"
- },
- "AzureIaaSClassicComputeVMProtectedItem": {
- "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureIaaSVMProtectedItem"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
- },
- "AzureIaaSComputeVMProtectedItem": {
- "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureIaaSVMProtectedItem"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
- },
"AzureIaaSVMErrorInfo": {
"description": "Azure IaaS VM workload-specific error information.",
"type": "object",
@@ -1034,48 +450,26 @@
"errorCode": {
"format": "int32",
"description": "Error code.",
- "type": "integer"
+ "type": "integer",
+ "readOnly": true
},
"errorTitle": {
"description": "Title: Typically, the entity that the error pertains to.",
- "type": "string"
+ "type": "string",
+ "readOnly": true
},
"errorString": {
"description": "Localized error string.",
- "type": "string"
+ "type": "string",
+ "readOnly": true
},
"recommendations": {
"description": "List of localized recommendations for above error code.",
"type": "array",
"items": {
"type": "string"
- }
- }
- }
- },
- "AzureIaaSVMHealthDetails": {
- "description": "Azure IaaS VM workload-specific Health Details.",
- "type": "object",
- "properties": {
- "code": {
- "format": "int32",
- "description": "Health Code",
- "type": "integer"
- },
- "title": {
- "description": "Health Title",
- "type": "string"
- },
- "message": {
- "description": "Health Message",
- "type": "string"
- },
- "recommendations": {
- "description": "Health Recommended Actions",
- "type": "array",
- "items": {
- "type": "string"
- }
+ },
+ "readOnly": true
}
}
},
@@ -1209,249 +603,50 @@
}
}
},
- "AzureIaaSVMProtectedItem": {
- "description": "IaaS VM workload-specific backup item.",
+ "AzureRecoveryServiceVaultProtectionIntent": {
+ "description": "Azure Recovery Services Vault specific protection intent item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionIntent"
+ }
+ ],
+ "x-ms-discriminator-value": "RecoveryServiceVaultItem"
+ },
+ "AzureResourceProtectionIntent": {
+ "description": "IaaS VM specific backup protection intent item.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProtectedItem"
+ "$ref": "#/definitions/ProtectionIntent"
}
],
"properties": {
"friendlyName": {
"description": "Friendly name of the VM represented by this backup item.",
"type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureResourceItem"
+ },
+ "AzureStorageErrorInfo": {
+ "description": "Azure storage specific error information",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer"
},
- "virtualMachineId": {
- "description": "Fully qualified ARM ID of the virtual machine represented by this item.",
- "type": "string"
- },
- "protectionStatus": {
- "description": "Backup status of this backup item.",
+ "errorString": {
+ "description": "Localized error string.",
"type": "string"
},
- "protectionState": {
- "description": "Backup state of this backup item.",
- "enum": [
- "Invalid",
- "IRPending",
- "Protected",
- "ProtectionError",
- "ProtectionStopped",
- "ProtectionPaused"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectionState",
- "modelAsString": true
- }
- },
- "healthStatus": {
- "description": "Health status of protected item",
- "enum": [
- "Passed",
- "ActionRequired",
- "ActionSuggested",
- "Invalid"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "HealthStatus",
- "modelAsString": true
- }
- },
- "healthDetails": {
- "description": "Health details on this backup item.",
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
"type": "array",
"items": {
- "$ref": "#/definitions/AzureIaaSVMHealthDetails"
- }
- },
- "lastBackupStatus": {
- "description": "Last backup operation status.",
- "type": "string"
- },
- "lastBackupTime": {
- "format": "date-time",
- "description": "Timestamp of the last backup operation on this backup item.",
- "type": "string"
- },
- "protectedItemDataId": {
- "description": "Data ID of the protected item.",
- "type": "string"
- },
- "extendedInfo": {
- "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo",
- "description": "Additional information for this backup item."
- }
- },
- "x-ms-discriminator-value": "AzureIaaSVMProtectedItem"
- },
- "AzureIaaSVMProtectedItemExtendedInfo": {
- "description": "Additional information on Azure IaaS VM specific backup item.",
- "type": "object",
- "properties": {
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "The oldest backup copy available for this backup item.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "Number of backup copies available for this backup item.",
- "type": "integer"
- },
- "policyInconsistent": {
- "description": "Specifies if backup policy associated with the backup item is inconsistent.",
- "type": "boolean"
- }
- }
- },
- "AzureIaaSVMProtectionPolicy": {
- "description": "IaaS VM workload-specific backup policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionPolicy"
- }
- ],
- "properties": {
- "schedulePolicy": {
- "$ref": "#/definitions/SchedulePolicy",
- "description": "Backup schedule specified as part of backup policy."
- },
- "retentionPolicy": {
- "$ref": "#/definitions/RetentionPolicy",
- "description": "Retention policy with the details on backup copy retention ranges."
- },
- "instantRpRetentionRangeInDays": {
- "format": "int32",
- "description": "Instant RP retention policy range in days",
- "type": "integer"
- },
- "timeZone": {
- "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "AzureIaasVM"
- },
- "AzureRecoveryServiceVaultProtectionIntent": {
- "description": "Azure Recovery Services Vault specific protection intent item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionIntent"
- }
- ],
- "x-ms-discriminator-value": "RecoveryServiceVaultItem"
- },
- "AzureResourceProtectionIntent": {
- "description": "IaaS VM specific backup protection intent item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionIntent"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the VM represented by this backup item.",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "AzureResourceItem"
- },
- "AzureSqlProtectedItem": {
- "description": "Azure SQL workload-specific backup item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "protectedItemDataId": {
- "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.",
- "type": "string"
- },
- "protectionState": {
- "description": "Backup state of the backed up item.",
- "enum": [
- "Invalid",
- "IRPending",
- "Protected",
- "ProtectionError",
- "ProtectionStopped",
- "ProtectionPaused"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectedItemState",
- "modelAsString": true
- }
- },
- "extendedInfo": {
- "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo",
- "description": "Additional information for this backup item."
- }
- },
- "x-ms-discriminator-value": "Microsoft.Sql/servers/databases"
- },
- "AzureSqlProtectedItemExtendedInfo": {
- "description": "Additional information on Azure Sql specific protected item.",
- "type": "object",
- "properties": {
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "The oldest backup copy available for this item in the service.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "Number of available backup copies associated with this backup item.",
- "type": "integer"
- },
- "policyState": {
- "description": "State of the backup policy associated with this backup item.",
- "type": "string"
- }
- }
- },
- "AzureSqlProtectionPolicy": {
- "description": "Azure SQL workload-specific backup policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionPolicy"
- }
- ],
- "properties": {
- "retentionPolicy": {
- "$ref": "#/definitions/RetentionPolicy",
- "description": "Retention policy details."
- }
- },
- "x-ms-discriminator-value": "AzureSql"
- },
- "AzureStorageErrorInfo": {
- "description": "Azure storage specific error information",
- "type": "object",
- "properties": {
- "errorCode": {
- "format": "int32",
- "description": "Error code.",
- "type": "integer"
- },
- "errorString": {
- "description": "Localized error string.",
- "type": "string"
- },
- "recommendations": {
- "description": "List of localized recommendations for above error code.",
- "type": "array",
- "items": {
- "type": "string"
+ "type": "string"
}
}
}
@@ -1587,198 +782,6 @@
}
}
},
- "AzureVmWorkloadProtectedItem": {
- "description": "Azure VM workload-specific protected item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the DB represented by this backup item.",
- "type": "string"
- },
- "serverName": {
- "description": "Host/Cluster Name for instance or AG",
- "type": "string"
- },
- "parentName": {
- "description": "Parent name of the DB such as Instance or Availability Group.",
- "type": "string"
- },
- "parentType": {
- "description": "Parent type of protected item, example: for a DB, standalone server or distributed",
- "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": "AzureVmWorkloadProtectedItem"
- },
- "AzureVmWorkloadProtectedItemExtendedInfo": {
- "description": "Additional information on Azure Workload for SQL specific backup item.",
- "type": "object",
- "properties": {
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "The oldest backup copy available for this backup item.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "Number of backup copies available for this backup item.",
- "type": "integer"
- },
- "policyState": {
- "description": "Indicates consistency of policy object and policy applied to this backup item.",
- "type": "string"
- }
- }
- },
- "AzureVmWorkloadProtectionPolicy": {
- "description": "Azure VM (Mercury) workload-specific backup policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionPolicy"
- }
- ],
- "properties": {
- "workLoadType": {
- "description": "Type of workload for the backup management",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource",
- "SQLDataBase",
- "AzureFileShare",
- "SAPHanaDatabase",
- "SAPAseDatabase"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "WorkloadType",
- "modelAsString": true
- }
- },
- "settings": {
- "$ref": "#/definitions/Settings",
- "description": "Common settings for the backup management"
- },
- "subProtectionPolicy": {
- "description": "List of sub-protection policies which includes schedule and retention",
- "type": "array",
- "items": {
- "$ref": "#/definitions/SubProtectionPolicy"
- }
- }
- },
- "x-ms-discriminator-value": "AzureWorkload"
- },
- "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.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
- }
- ],
- "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase"
- },
- "AzureVmWorkloadSQLDatabaseProtectedItem": {
- "description": "Azure VM workload-specific protected item representing SQL Database.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
- }
- ],
- "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase"
- },
"AzureWorkloadAutoProtectionIntent": {
"description": "Azure Recovery Services Vault specific protection intent item.",
"type": "object",
@@ -1905,97 +908,12 @@
}
}
},
- "AzureWorkloadPointInTimeRestoreRequest": {
- "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore",
+ "AzureWorkloadSQLAutoProtectionIntent": {
+ "description": "Azure Workload SQL Auto Protection intent item.",
"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",
- "allOf": [
- {
- "$ref": "#/definitions/RestoreRequest"
- }
- ],
- "properties": {
- "recoveryType": {
- "description": "OLR/ALR, RestoreDisks is invalid option",
- "enum": [
- "Invalid",
- "OriginalLocation",
- "AlternateLocation",
- "RestoreDisks"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RecoveryType",
- "modelAsString": true
- }
- },
- "sourceResourceId": {
- "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.",
- "type": "string"
- },
- "propertyBag": {
- "description": "Workload specific property bag.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "targetInfo": {
- "$ref": "#/definitions/TargetRestoreInfo",
- "description": "Details of target database"
- }
- },
- "x-ms-discriminator-value": "AzureWorkloadRestoreRequest"
- },
- "AzureWorkloadSAPHanaPointInTimeRestoreRequest": {
- "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest"
- }
- ],
- "properties": {
- "pointInTime": {
- "format": "date-time",
- "description": "PointInTime value",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest"
- },
- "AzureWorkloadSAPHanaRestoreRequest": {
- "description": "AzureWorkload SAP Hana-specific restore.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureWorkloadRestoreRequest"
- }
- ],
- "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest"
- },
- "AzureWorkloadSQLAutoProtectionIntent": {
- "description": "Azure Workload SQL Auto Protection intent item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent"
+ "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent"
}
],
"properties": {
@@ -2019,50 +937,6 @@
},
"x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent"
},
- "AzureWorkloadSQLPointInTimeRestoreRequest": {
- "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest"
- }
- ],
- "properties": {
- "pointInTime": {
- "format": "date-time",
- "description": "PointInTime value",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest"
- },
- "AzureWorkloadSQLRestoreRequest": {
- "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureWorkloadRestoreRequest"
- }
- ],
- "properties": {
- "shouldUseAlternateTargetLocation": {
- "description": "Default option set to true. If this is set to false, alternate data directory must be provided",
- "type": "boolean"
- },
- "isNonRecoverable": {
- "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried",
- "type": "boolean"
- },
- "alternateDirectoryPaths": {
- "description": "Data directory details",
- "type": "array",
- "items": {
- "$ref": "#/definitions/SQLDataDirectoryMapping"
- }
- }
- },
- "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest"
- },
"BackupManagementUsage": {
"description": "Backup management usages of a vault.",
"type": "object",
@@ -2240,52 +1114,6 @@
}
}
},
- "DailyRetentionFormat": {
- "description": "Daily retention format.",
- "type": "object",
- "properties": {
- "daysOfTheMonth": {
- "description": "List of days of the month.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Day"
- }
- }
- }
- },
- "DailyRetentionSchedule": {
- "description": "Daily retention schedule.",
- "type": "object",
- "properties": {
- "retentionTimes": {
- "description": "Retention times of retention policy.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of retention Policy."
- }
- }
- },
- "Day": {
- "description": "Day of the week.",
- "type": "object",
- "properties": {
- "date": {
- "format": "int32",
- "description": "Date of the month",
- "type": "integer"
- },
- "isLast": {
- "description": "Whether Date is last date of month",
- "type": "boolean"
- }
- }
- },
"DpmErrorInfo": {
"description": "DPM workload-specific error information.",
"type": "object",
@@ -2415,370 +1243,378 @@
"type": "string"
}
}
- },
- "DPMProtectedItem": {
- "description": "Additional information on Backup engine specific backup item.",
+ },
+ "FeatureSupportRequest": {
+ "description": "Base class for feature request",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
+ "properties": {
+ "featureType": {
+ "description": "backup support feature type.",
+ "type": "string"
}
- ],
+ },
+ "discriminator": "featureType"
+ },
+ "InstantRPAdditionalDetails": {
+ "type": "object",
"properties": {
- "friendlyName": {
- "description": "Friendly name of the managed item",
+ "azureBackupRGNamePrefix": {
"type": "string"
},
- "backupEngineName": {
- "description": "Backup Management server protecting this backup item",
+ "azureBackupRGNameSuffix": {
+ "type": "string"
+ }
+ }
+ },
+ "Job": {
+ "description": "Defines workload agnostic properties for a job.",
+ "required": [
+ "jobType"
+ ],
+ "type": "object",
+ "properties": {
+ "entityFriendlyName": {
+ "description": "Friendly name of the entity on which the current job is executing.",
"type": "string"
},
- "protectionState": {
- "description": "Protection state of the backup engine",
+ "backupManagementType": {
+ "description": "Backup management type to execute the current job.",
"enum": [
"Invalid",
- "IRPending",
- "Protected",
- "ProtectionError",
- "ProtectionStopped",
- "ProtectionPaused"
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
],
"type": "string",
"x-ms-enum": {
- "name": "ProtectedItemState",
+ "name": "BackupManagementType",
"modelAsString": true
}
},
- "isScheduledForDeferredDelete": {
- "description": "To check if backup item is scheduled for deferred delete",
- "type": "boolean"
- },
- "extendedInfo": {
- "$ref": "#/definitions/DPMProtectedItemExtendedInfo",
- "description": "Extended info of the backup item."
- }
- },
- "x-ms-discriminator-value": "DPMProtectedItem"
- },
- "DPMProtectedItemExtendedInfo": {
- "description": "Additional information of DPM Protected item.",
- "type": "object",
- "properties": {
- "protectableObjectLoadPath": {
- "description": "Attribute to provide information on various DBs.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "protected": {
- "description": "To check if backup item is disk protected.",
- "type": "boolean"
- },
- "isPresentOnCloud": {
- "description": "To check if backup item is cloud protected.",
- "type": "boolean"
- },
- "lastBackupStatus": {
- "description": "Last backup status information on backup item.",
- "type": "string"
- },
- "lastRefreshedAt": {
- "format": "date-time",
- "description": "Last refresh time on backup item.",
+ "operation": {
+ "description": "The operation name.",
"type": "string"
},
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "Oldest cloud recovery point time.",
+ "status": {
+ "description": "Job status.",
"type": "string"
},
- "recoveryPointCount": {
- "format": "int32",
- "description": "cloud recovery point count.",
- "type": "integer"
- },
- "onPremiseOldestRecoveryPoint": {
+ "startTime": {
"format": "date-time",
- "description": "Oldest disk recovery point time.",
+ "description": "The start time.",
"type": "string"
},
- "onPremiseLatestRecoveryPoint": {
+ "endTime": {
"format": "date-time",
- "description": "latest disk recovery point time.",
- "type": "string"
- },
- "onPremiseRecoveryPointCount": {
- "format": "int32",
- "description": "disk recovery point count.",
- "type": "integer"
- },
- "isCollocated": {
- "description": "To check if backup item is collocated.",
- "type": "boolean"
- },
- "protectionGroupName": {
- "description": "Protection group name of the backup item.",
+ "description": "The end time.",
"type": "string"
},
- "diskStorageUsedInBytes": {
- "description": "Used Disk storage in bytes.",
+ "activityId": {
+ "description": "ActivityId of job.",
"type": "string"
},
- "totalDiskStorageSizeInBytes": {
- "description": "total Disk storage in bytes.",
+ "jobType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
"type": "string"
}
- }
+ },
+ "discriminator": "jobType"
},
- "EncryptionDetails": {
- "description": "Details needed if the VM was encrypted at the time of backup.",
- "type": "object",
+ "JobResource": {
+ "description": "Defines workload agnostic properties for a job.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
"properties": {
- "encryptionEnabled": {
- "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.",
- "type": "boolean"
- },
- "kekUrl": {
- "description": "Key Url.",
- "type": "string"
- },
- "secretKeyUrl": {
- "description": "Secret Url.",
- "type": "string"
- },
- "kekVaultId": {
- "description": "ID of Key Vault where KEK is stored.",
- "type": "string"
- },
- "secretKeyVaultId": {
- "description": "ID of Key Vault where Secret is stored.",
- "type": "string"
+ "properties": {
+ "$ref": "#/definitions/Job",
+ "description": "JobResource properties"
}
}
},
- "ErrorDetail": {
- "description": "Error Detail class which encapsulates Code, Message and Recommendations.",
+ "MabErrorInfo": {
+ "description": "MAB workload-specific error information.",
"type": "object",
"properties": {
- "code": {
- "description": "Error code.",
- "type": "string"
- },
- "message": {
- "description": "Error Message related to the Code.",
- "type": "string"
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string",
+ "readOnly": true
},
"recommendations": {
- "description": "List of recommendation strings.",
+ "description": "List of localized recommendations.",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "readOnly": true
}
}
},
- "ExportJobsOperationResultInfo": {
- "description": "This class is used to send blob details after exporting jobs.",
+ "MabJob": {
+ "description": "MAB workload-specific job.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/OperationResultInfoBase"
+ "$ref": "#/definitions/Job"
}
],
"properties": {
- "blobUrl": {
- "description": "URL of the blob into which the serialized string of list of jobs is exported.",
+ "duration": {
+ "format": "duration",
+ "description": "Time taken by job to run.",
"type": "string"
},
- "blobSasKey": {
- "description": "SAS key to access the blob. It expires in 15 mins.",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "ExportJobsOperationResultInfo"
- },
- "FeatureSupportRequest": {
- "description": "Base class for feature request",
- "type": "object",
- "properties": {
- "featureType": {
- "description": "backup support feature type.",
- "type": "string"
- }
- },
- "discriminator": "featureType"
- },
- "GenericProtectedItem": {
- "description": "Base class for backup items.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the container.",
+ "actionsInfo": {
+ "description": "The state/actions applicable on jobs like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "mabServerName": {
+ "description": "Name of server protecting the DS.",
"type": "string"
},
- "policyState": {
- "description": "Indicates consistency of policy object and policy applied to this backup item.",
- "type": "string"
+ "mabServerType": {
+ "description": "Server type of MAB container.",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MabServerType",
+ "modelAsString": true
+ }
},
- "protectionState": {
- "description": "Backup state of this backup item.",
+ "workloadType": {
+ "description": "Workload type of backup item.",
"enum": [
"Invalid",
- "IRPending",
- "Protected",
- "ProtectionError",
- "ProtectionStopped",
- "ProtectionPaused"
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
- "name": "ProtectionState",
+ "name": "WorkloadType",
"modelAsString": true
}
},
- "protectedItemId": {
- "format": "int64",
- "description": "Data Plane Service ID of the protected item.",
- "type": "integer"
+ "errorDetails": {
+ "description": "The errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MabErrorInfo"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/MabJobExtendedInfo",
+ "description": "Additional information on the job."
+ }
+ },
+ "x-ms-discriminator-value": "MabJob"
+ },
+ "MabJobExtendedInfo": {
+ "description": "Additional information for the MAB workload-specific job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MabJobTaskDetails"
+ }
},
- "sourceAssociations": {
- "description": "Loosely coupled (type, value) associations (example - parent of a protected item)",
+ "propertyBag": {
+ "description": "The job properties.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
- "fabricName": {
- "description": "Name of this backup item's fabric.",
+ "dynamicErrorMessage": {
+ "description": "Non localized error message specific to this job.",
"type": "string"
}
- },
- "x-ms-discriminator-value": "GenericProtectedItem"
+ }
},
- "GenericProtectionPolicy": {
- "description": "Azure VM (Mercury) workload-specific backup policy.",
+ "MabJobTaskDetails": {
+ "description": "MAB workload-specific job task details.",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionPolicy"
- }
- ],
"properties": {
- "subProtectionPolicy": {
- "description": "List of sub-protection policies which includes schedule and retention",
- "type": "array",
- "items": {
- "$ref": "#/definitions/SubProtectionPolicy"
- }
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
},
- "timeZone": {
- "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
"type": "string"
},
- "fabricName": {
- "description": "Name of this policy's fabric.",
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for task.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
"type": "string"
}
- },
- "x-ms-discriminator-value": "GenericProtectionPolicy"
+ }
},
- "IaasVMRestoreRequest": {
- "description": "IaaS VM workload-specific restore.",
+ "NameInfo": {
+ "description": "The name of usage.",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RestoreRequest"
- }
- ],
"properties": {
- "recoveryPointId": {
- "description": "ID of the backup copy to be recovered.",
+ "value": {
+ "description": "Value of usage.",
"type": "string"
},
- "recoveryType": {
- "description": "Type of this recovery.",
+ "localizedValue": {
+ "description": "Localized value of usage.",
+ "type": "string"
+ }
+ }
+ },
+ "PreValidateEnableBackupRequest": {
+ "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": {
+ "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc",
"enum": [
"Invalid",
- "OriginalLocation",
- "AlternateLocation",
- "RestoreDisks"
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
- "name": "RecoveryType",
+ "name": "DataSourceType",
"modelAsString": true
}
},
- "sourceResourceId": {
- "description": "Fully qualified ARM ID of the VM which is being recovered.",
- "type": "string"
- },
- "targetVirtualMachineId": {
- "description": "This is the complete ARM Id of the VM that will be created.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}",
+ "resourceId": {
+ "description": "ARM Virtual Machine Id",
"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\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}",
+ "vaultId": {
+ "description": "ARM id of the Recovery Services Vault",
"type": "string"
},
- "storageAccountId": {
- "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.",
+ "properties": {
+ "description": "Configuration of VM if any needs to be validated like OS type etc",
"type": "string"
+ }
+ }
+ },
+ "PreValidateEnableBackupResponse": {
+ "description": "Response contract for enable backup validation request",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Validation Status",
+ "enum": [
+ "Invalid",
+ "Succeeded",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsString": true
+ }
},
- "virtualNetworkId": {
- "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.",
+ "errorCode": {
+ "description": "Response error code",
"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\nthe subnet.",
+ "errorMessage": {
+ "description": "Response error message",
"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\nVirtual Machines.",
+ "recommendation": {
+ "description": "Recommended action for user",
"type": "string"
},
- "region": {
- "description": "Region in which the virtual machine is restored.",
+ "containerName": {
+ "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal",
"type": "string"
},
- "affinityGroup": {
- "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.",
+ "protectedItemName": {
+ "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal",
"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\ncloud service as it was at the time of backup.",
- "type": "boolean"
- },
- "originalStorageAccountOption": {
- "description": "Original Storage Account Option",
- "type": "boolean"
- },
- "encryptionDetails": {
- "$ref": "#/definitions/EncryptionDetails",
- "description": "Details needed if the VM was encrypted at the time of backup."
}
- },
- "x-ms-discriminator-value": "IaasVMRestoreRequest"
+ }
},
- "Job": {
- "description": "Defines workload agnostic properties for a job.",
- "required": [
- "jobType"
- ],
+ "ProtectionIntent": {
+ "description": "Base class for backup ProtectionIntent.",
"type": "object",
"properties": {
- "entityFriendlyName": {
- "description": "Friendly name of the entity on which the current job is executing.",
+ "protectionIntentItemType": {
+ "description": "backup protectionIntent type.",
"type": "string"
},
"backupManagementType": {
- "description": "Backup management type to execute the current job.",
+ "description": "Type of backup management for the backed up item.",
"enum": [
"Invalid",
"AzureIaasVM",
@@ -2796,58 +1632,42 @@
"modelAsString": true
}
},
- "operation": {
- "description": "The operation name.",
- "type": "string"
- },
- "status": {
- "description": "Job status.",
- "type": "string"
- },
- "startTime": {
- "format": "date-time",
- "description": "The start time.",
+ "sourceResourceId": {
+ "description": "ARM ID of the resource to be backed up.",
"type": "string"
},
- "endTime": {
- "format": "date-time",
- "description": "The end time.",
+ "itemId": {
+ "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId",
"type": "string"
},
- "activityId": {
- "description": "ActivityId of job.",
+ "policyId": {
+ "description": "ID of the backup policy with which this item is backed up.",
"type": "string"
},
- "jobType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "jobType"
- },
- "JobQueryObject": {
- "description": "Filters to list the jobs.",
- "type": "object",
- "properties": {
- "status": {
- "description": "Status of the job.",
+ "protectionState": {
+ "description": "Backup state of this backup item.",
"enum": [
"Invalid",
- "InProgress",
- "Completed",
- "Failed",
- "CompletedWithWarnings",
- "Cancelled",
- "Cancelling"
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
],
"type": "string",
"x-ms-enum": {
- "name": "JobStatus",
+ "name": "ProtectionStatus",
"modelAsString": true
}
- },
+ }
+ },
+ "discriminator": "protectionIntentItemType"
+ },
+ "ProtectionIntentQueryObject": {
+ "description": "Filters to list protection intent.",
+ "type": "object",
+ "properties": {
"backupManagementType": {
- "description": "Type of backup management for the job.",
+ "description": "Backup management type for the backed up item",
"enum": [
"Invalid",
"AzureIaasVM",
@@ -2865,42 +1685,31 @@
"modelAsString": true
}
},
- "operation": {
- "description": "Type of operation.",
- "enum": [
+ "itemType": {
+ "description": "Type of workload this item represents",
+ "enum": [
"Invalid",
- "Register",
- "UnRegister",
- "ConfigureBackup",
- "Backup",
- "Restore",
- "DisableBackup",
- "DeleteBackupData"
+ "SQLInstance",
+ "SQLAvailabilityGroupContainer"
],
"type": "string",
"x-ms-enum": {
- "name": "JobOperationType",
+ "name": "IntentItemType",
"modelAsString": true
}
},
- "jobId": {
- "description": "JobID represents the job uniquely.",
- "type": "string"
- },
- "startTime": {
- "format": "date-time",
- "description": "Job has started at this time. Value is in UTC.",
+ "parentName": {
+ "description": "Parent name of the intent",
"type": "string"
},
- "endTime": {
- "format": "date-time",
- "description": "Job has ended at this time. Value is in UTC.",
+ "itemName": {
+ "description": "Item name of the intent",
"type": "string"
}
}
},
- "JobResource": {
- "description": "Defines workload agnostic properties for a job.",
+ "ProtectionIntentResource": {
+ "description": "Base class for backup ProtectionIntent.",
"allOf": [
{
"$ref": "#/definitions/Resource"
@@ -2908,13 +1717,13 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/Job",
- "description": "JobResource properties"
+ "$ref": "#/definitions/ProtectionIntent",
+ "description": "ProtectionIntentResource properties"
}
}
},
- "JobResourceList": {
- "description": "List of Job resources",
+ "ProtectionIntentResourceList": {
+ "description": "List of ProtectionIntent resources",
"type": "object",
"allOf": [
{
@@ -2926,1569 +1735,55 @@
"description": "List of resources.",
"type": "array",
"items": {
- "$ref": "#/definitions/JobResource"
- }
- }
- }
- },
- "LogSchedulePolicy": {
- "description": "Log policy schedule.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SchedulePolicy"
- }
- ],
- "properties": {
- "scheduleFrequencyInMins": {
- "format": "int32",
- "description": "Frequency of the log schedule operation of this policy in minutes.",
- "type": "integer"
- }
- },
- "x-ms-discriminator-value": "LogSchedulePolicy"
- },
- "LongTermRetentionPolicy": {
- "description": "Long term retention policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RetentionPolicy"
- }
- ],
- "properties": {
- "dailySchedule": {
- "$ref": "#/definitions/DailyRetentionSchedule",
- "description": "Daily retention schedule of the protection policy."
- },
- "weeklySchedule": {
- "$ref": "#/definitions/WeeklyRetentionSchedule",
- "description": "Weekly retention schedule of the protection policy."
- },
- "monthlySchedule": {
- "$ref": "#/definitions/MonthlyRetentionSchedule",
- "description": "Monthly retention schedule of the protection policy."
- },
- "yearlySchedule": {
- "$ref": "#/definitions/YearlyRetentionSchedule",
- "description": "Yearly retention schedule of the protection policy."
- }
- },
- "x-ms-discriminator-value": "LongTermRetentionPolicy"
- },
- "LongTermSchedulePolicy": {
- "description": "Long term policy schedule.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SchedulePolicy"
- }
- ],
- "x-ms-discriminator-value": "LongTermSchedulePolicy"
- },
- "MabErrorInfo": {
- "description": "MAB workload-specific error information.",
- "type": "object",
- "properties": {
- "errorString": {
- "description": "Localized error string.",
- "type": "string"
- },
- "recommendations": {
- "description": "List of localized recommendations.",
- "type": "array",
- "items": {
- "type": "string"
+ "$ref": "#/definitions/ProtectionIntentResource"
}
}
}
},
- "MabFileFolderProtectedItem": {
- "description": "MAB workload-specific backup item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of this backup item.",
- "type": "string"
- },
- "computerName": {
- "description": "Name of the computer associated with this backup item.",
- "type": "string"
- },
- "lastBackupStatus": {
- "description": "Status of last backup operation.",
- "type": "string"
- },
- "protectionState": {
- "description": "Protected, ProtectionStopped, IRPending or ProtectionError",
- "type": "string"
- },
- "deferredDeleteSyncTimeInUTC": {
- "format": "int64",
- "description": "Sync time for deferred deletion.",
- "type": "integer"
- },
- "extendedInfo": {
- "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo",
- "description": "Additional information with this backup item."
- }
- },
- "x-ms-discriminator-value": "MabFileFolderProtectedItem"
- },
- "MabFileFolderProtectedItemExtendedInfo": {
- "description": "Additional information on the backed up item.",
- "type": "object",
- "properties": {
- "lastRefreshedAt": {
- "format": "date-time",
- "description": "Last time when the agent data synced to service.",
- "type": "string"
- },
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "The oldest backup copy available.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "Number of backup copies associated with the backup item.",
- "type": "integer"
- }
- }
- },
- "MabJob": {
- "description": "MAB workload-specific job.",
+ "Resource": {
+ "description": "ARM Resource.",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Job"
- }
- ],
"properties": {
- "duration": {
- "format": "duration",
- "description": "Time taken by job to run.",
- "type": "string"
- },
- "actionsInfo": {
- "description": "The state/actions applicable on jobs like cancel/retry.",
- "type": "array",
- "items": {
- "enum": [
- "Invalid",
- "Cancellable",
- "Retriable"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "JobSupportedAction",
- "modelAsString": false
- }
- }
- },
- "mabServerName": {
- "description": "Name of server protecting the DS.",
- "type": "string"
- },
- "mabServerType": {
- "description": "Server type of MAB container.",
- "enum": [
- "Invalid",
- "Unknown",
- "IaasVMContainer",
- "IaasVMServiceContainer",
- "DPMContainer",
- "AzureBackupServerContainer",
- "MABContainer",
- "Cluster",
- "AzureSqlContainer",
- "Windows",
- "VCenter",
- "VMAppContainer",
- "SQLAGWorkLoadContainer",
- "StorageContainer",
- "GenericContainer"
- ],
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
"type": "string",
- "x-ms-enum": {
- "name": "MabServerType",
- "modelAsString": true
- }
+ "readOnly": true
},
- "workloadType": {
- "description": "Workload type of backup item.",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource",
- "SQLDataBase",
- "AzureFileShare",
- "SAPHanaDatabase",
- "SAPAseDatabase"
- ],
+ "name": {
+ "description": "Resource name associated with the resource.",
"type": "string",
- "x-ms-enum": {
- "name": "WorkloadType",
- "modelAsString": true
- }
+ "readOnly": true
},
- "errorDetails": {
- "description": "The errors.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/MabErrorInfo"
- }
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "type": "string",
+ "readOnly": true
},
- "extendedInfo": {
- "$ref": "#/definitions/MabJobExtendedInfo",
- "description": "Additional information on the job."
- }
- },
- "x-ms-discriminator-value": "MabJob"
- },
- "MabJobExtendedInfo": {
- "description": "Additional information for the MAB workload-specific job.",
- "type": "object",
- "properties": {
- "tasksList": {
- "description": "List of tasks for this job.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/MabJobTaskDetails"
- }
+ "location": {
+ "description": "Resource location.",
+ "type": "string"
},
- "propertyBag": {
- "description": "The job properties.",
+ "tags": {
+ "description": "Resource tags.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
- "dynamicErrorMessage": {
- "description": "Non localized error message specific to this job.",
+ "eTag": {
+ "description": "Optional ETag.",
"type": "string"
}
- }
+ },
+ "x-ms-azure-resource": true
},
- "MabJobTaskDetails": {
- "description": "MAB workload-specific job task details.",
+ "ResourceList": {
+ "description": "Base for all lists of resources.",
"type": "object",
"properties": {
- "taskId": {
- "description": "The task display name.",
- "type": "string"
- },
- "startTime": {
- "format": "date-time",
- "description": "The start time.",
- "type": "string"
- },
- "endTime": {
- "format": "date-time",
- "description": "The end time.",
+ "nextLink": {
+ "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
"type": "string"
- },
- "duration": {
- "format": "duration",
- "description": "Time elapsed for task.",
- "type": "string"
- },
- "status": {
- "description": "The status.",
- "type": "string"
- }
- }
- },
- "MabProtectionPolicy": {
- "description": "Mab container-specific backup policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionPolicy"
- }
- ],
- "properties": {
- "schedulePolicy": {
- "$ref": "#/definitions/SchedulePolicy",
- "description": "Backup schedule of backup policy."
- },
- "retentionPolicy": {
- "$ref": "#/definitions/RetentionPolicy",
- "description": "Retention policy details."
- }
- },
- "x-ms-discriminator-value": "MAB"
- },
- "MonthlyRetentionSchedule": {
- "description": "Monthly retention schedule.",
- "type": "object",
- "properties": {
- "retentionScheduleFormatType": {
- "description": "Retention schedule format type for monthly retention policy.",
- "enum": [
- "Invalid",
- "Daily",
- "Weekly"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RetentionScheduleFormat",
- "modelAsString": true
- }
- },
- "retentionScheduleDaily": {
- "$ref": "#/definitions/DailyRetentionFormat",
- "description": "Daily retention format for monthly retention policy."
- },
- "retentionScheduleWeekly": {
- "$ref": "#/definitions/WeeklyRetentionFormat",
- "description": "Weekly retention format for monthly retention policy."
- },
- "retentionTimes": {
- "description": "Retention times of retention policy.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of retention Policy."
- }
- }
- },
- "NameInfo": {
- "description": "The name of usage.",
- "type": "object",
- "properties": {
- "value": {
- "description": "Value of usage.",
- "type": "string"
- },
- "localizedValue": {
- "description": "Localized value of usage.",
- "type": "string"
- }
- }
- },
- "OperationResultInfo": {
- "description": "Operation result info.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/OperationResultInfoBase"
- }
- ],
- "properties": {
- "jobList": {
- "description": "List of jobs created by this operation.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "x-ms-discriminator-value": "OperationResultInfo"
- },
- "OperationResultInfoBase": {
- "description": "Base class for operation result info.",
- "required": [
- "objectType"
- ],
- "type": "object",
- "properties": {
- "objectType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "objectType"
- },
- "OperationResultInfoBaseResource": {
- "description": "Base class for operation result info.",
- "allOf": [
- {
- "$ref": "#/definitions/OperationWorkerResponse"
- }
- ],
- "properties": {
- "operation": {
- "$ref": "#/definitions/OperationResultInfoBase",
- "description": "OperationResultInfoBaseResource operation"
- }
- }
- },
- "OperationWorkerResponse": {
- "description": "This is the base class for operation result responses.",
- "type": "object",
- "properties": {
- "statusCode": {
- "description": "HTTP Status Code of the operation.",
- "enum": [
- "Continue",
- "SwitchingProtocols",
- "OK",
- "Created",
- "Accepted",
- "NonAuthoritativeInformation",
- "NoContent",
- "ResetContent",
- "PartialContent",
- "MultipleChoices",
- "Ambiguous",
- "MovedPermanently",
- "Moved",
- "Found",
- "Redirect",
- "SeeOther",
- "RedirectMethod",
- "NotModified",
- "UseProxy",
- "Unused",
- "TemporaryRedirect",
- "RedirectKeepVerb",
- "BadRequest",
- "Unauthorized",
- "PaymentRequired",
- "Forbidden",
- "NotFound",
- "MethodNotAllowed",
- "NotAcceptable",
- "ProxyAuthenticationRequired",
- "RequestTimeout",
- "Conflict",
- "Gone",
- "LengthRequired",
- "PreconditionFailed",
- "RequestEntityTooLarge",
- "RequestUriTooLong",
- "UnsupportedMediaType",
- "RequestedRangeNotSatisfiable",
- "ExpectationFailed",
- "UpgradeRequired",
- "InternalServerError",
- "NotImplemented",
- "BadGateway",
- "ServiceUnavailable",
- "GatewayTimeout",
- "HttpVersionNotSupported"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "HttpStatusCode",
- "modelAsString": false
- }
- },
- "headers": {
- "description": "HTTP headers associated with this operation.",
- "type": "object",
- "additionalProperties": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- }
- },
- "PreValidateEnableBackupRequest": {
- "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\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": {
- "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource",
- "SQLDataBase",
- "AzureFileShare",
- "SAPHanaDatabase",
- "SAPAseDatabase"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DataSourceType",
- "modelAsString": true
- }
- },
- "resourceId": {
- "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"
- }
- }
- },
- "PreValidateEnableBackupResponse": {
- "description": "Response contract for enable backup validation request",
- "type": "object",
- "properties": {
- "status": {
- "description": "Validation Status",
- "enum": [
- "Invalid",
- "Succeeded",
- "Failed"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ValidationStatus",
- "modelAsString": true
- }
- },
- "errorCode": {
- "description": "Response error code",
- "type": "string"
- },
- "errorMessage": {
- "description": "Response error message",
- "type": "string"
- },
- "recommendation": {
- "description": "Recommended action for user",
- "type": "string"
- },
- "containerName": {
- "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal",
- "type": "string"
- },
- "protectedItemName": {
- "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal",
- "type": "string"
- }
- }
- },
- "ProtectedItem": {
- "description": "Base class for backup items.",
- "type": "object",
- "properties": {
- "protectedItemType": {
- "description": "backup item type.",
- "type": "string"
- },
- "backupManagementType": {
- "description": "Type of backup management for the backed up item.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql",
- "AzureStorage",
- "AzureWorkload",
- "DefaultBackup"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "workloadType": {
- "description": "Type of workload this item represents.",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource",
- "SQLDataBase",
- "AzureFileShare",
- "SAPHanaDatabase",
- "SAPAseDatabase"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DataSourceType",
- "modelAsString": true
- }
- },
- "containerName": {
- "description": "Unique name of container",
- "type": "string"
- },
- "sourceResourceId": {
- "description": "ARM ID of the resource to be backed up.",
- "type": "string"
- },
- "policyId": {
- "description": "ID of the backup policy with which this item is backed up.",
- "type": "string"
- },
- "lastRecoveryPoint": {
- "format": "date-time",
- "description": "Timestamp when the last (latest) backup copy was created for this backup item.",
- "type": "string"
- },
- "backupSetName": {
- "description": "Name of the backup set the backup item belongs to",
- "type": "string"
- },
- "createMode": {
- "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.",
- "enum": [
- "Invalid",
- "Default",
- "Recover"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "CreateMode",
- "modelAsString": true
- }
- },
- "deferredDeleteTimeInUTC": {
- "format": "date-time",
- "description": "Time for deferred deletion in UTC",
- "type": "string"
- },
- "isScheduledForDeferredDelete": {
- "description": "Flag to identify whether the DS is scheduled for deferred delete",
- "type": "boolean"
- },
- "deferredDeleteTimeRemaining": {
- "description": "Time remaining before the DS marked for deferred delete is permanently deleted",
- "type": "string"
- },
- "isDeferredDeleteScheduleUpcoming": {
- "description": "Flag to identify whether the deferred deleted DS is to be purged soon",
- "type": "boolean"
- },
- "isRehydrate": {
- "description": "Flag to identify that deferred deleted DS is to be moved into Pause state",
- "type": "boolean"
- }
- },
- "discriminator": "protectedItemType"
- },
- "ProtectedItemQueryObject": {
- "description": "Filters to list backup items.",
- "type": "object",
- "properties": {
- "healthState": {
- "description": "Health State for the backed up item.",
- "enum": [
- "Passed",
- "ActionRequired",
- "ActionSuggested",
- "Invalid"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "HealthState",
- "modelAsString": true
- }
- },
- "backupManagementType": {
- "description": "Backup management type for the backed up item.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql",
- "AzureStorage",
- "AzureWorkload",
- "DefaultBackup"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "itemType": {
- "description": "Type of workload this item represents.",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource",
- "SQLDataBase",
- "AzureFileShare",
- "SAPHanaDatabase",
- "SAPAseDatabase"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DataSourceType",
- "modelAsString": true
- }
- },
- "policyName": {
- "description": "Backup policy name associated with the backup item.",
- "type": "string"
- },
- "containerName": {
- "description": "Name of the container.",
- "type": "string"
- },
- "backupEngineName": {
- "description": "Backup Engine name",
- "type": "string"
- },
- "friendlyName": {
- "description": "Friendly name of protected item",
- "type": "string"
- },
- "fabricName": {
- "description": "Name of the fabric.",
- "type": "string"
- },
- "backupSetName": {
- "description": "Name of the backup set.",
- "type": "string"
- }
- }
- },
- "ProtectedItemResource": {
- "description": "Base class for backup items.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ProtectedItem",
- "description": "ProtectedItemResource properties"
- }
- }
- },
- "ProtectedItemResourceList": {
- "description": "List of ProtectedItem resources",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ResourceList"
- }
- ],
- "properties": {
- "value": {
- "description": "List of resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProtectedItemResource"
- }
- }
- }
- },
- "ProtectionIntent": {
- "description": "Base class for backup ProtectionIntent.",
- "type": "object",
- "properties": {
- "protectionIntentItemType": {
- "description": "backup protectionIntent type.",
- "type": "string"
- },
- "backupManagementType": {
- "description": "Type of backup management for the backed up item.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql",
- "AzureStorage",
- "AzureWorkload",
- "DefaultBackup"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "sourceResourceId": {
- "description": "ARM ID of the resource to be backed up.",
- "type": "string"
- },
- "itemId": {
- "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId",
- "type": "string"
- },
- "policyId": {
- "description": "ID of the backup policy with which this item is backed up.",
- "type": "string"
- },
- "protectionState": {
- "description": "Backup state of this backup item.",
- "enum": [
- "Invalid",
- "NotProtected",
- "Protecting",
- "Protected",
- "ProtectionFailed"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectionStatus",
- "modelAsString": true
- }
- }
- },
- "discriminator": "protectionIntentItemType"
- },
- "ProtectionIntentQueryObject": {
- "description": "Filters to list protection intent.",
- "type": "object",
- "properties": {
- "backupManagementType": {
- "description": "Backup management type for the backed up item",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql",
- "AzureStorage",
- "AzureWorkload",
- "DefaultBackup"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "itemType": {
- "description": "Type of workload this item represents",
- "enum": [
- "Invalid",
- "SQLInstance",
- "SQLAvailabilityGroupContainer"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "IntentItemType",
- "modelAsString": true
- }
- },
- "parentName": {
- "description": "Parent name of the intent",
- "type": "string"
- },
- "itemName": {
- "description": "Item name of the intent",
- "type": "string"
- }
- }
- },
- "ProtectionIntentResource": {
- "description": "Base class for backup ProtectionIntent.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ProtectionIntent",
- "description": "ProtectionIntentResource properties"
- }
- }
- },
- "ProtectionIntentResourceList": {
- "description": "List of ProtectionIntent resources",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ResourceList"
- }
- ],
- "properties": {
- "value": {
- "description": "List of resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProtectionIntentResource"
- }
- }
- }
- },
- "ProtectionPolicy": {
- "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
- "required": [
- "backupManagementType"
- ],
- "type": "object",
- "properties": {
- "protectedItemsCount": {
- "format": "int32",
- "description": "Number of items associated with this policy.",
- "type": "integer"
- },
- "backupManagementType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "backupManagementType"
- },
- "ProtectionPolicyQueryObject": {
- "description": "Filters the list backup policies API.",
- "type": "object",
- "properties": {
- "backupManagementType": {
- "description": "Backup management type for the backup policy.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql",
- "AzureStorage",
- "AzureWorkload",
- "DefaultBackup"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "fabricName": {
- "description": "Fabric name for filter",
- "type": "string"
- },
- "workloadType": {
- "description": "Workload type for the backup policy.",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource",
- "SQLDataBase",
- "AzureFileShare",
- "SAPHanaDatabase",
- "SAPAseDatabase"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "WorkloadType",
- "modelAsString": true
- }
- }
- }
- },
- "ProtectionPolicyResource": {
- "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ProtectionPolicy",
- "description": "ProtectionPolicyResource properties"
- }
- }
- },
- "ProtectionPolicyResourceList": {
- "description": "List of ProtectionPolicy resources",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ResourceList"
- }
- ],
- "properties": {
- "value": {
- "description": "List of resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProtectionPolicyResource"
- }
- }
- }
- },
- "Resource": {
- "description": "ARM Resource.",
- "type": "object",
- "properties": {
- "id": {
- "description": "Resource Id represents the complete path to the resource.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Resource name associated with the resource.",
- "type": "string",
- "readOnly": true
- },
- "type": {
- "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
- "type": "string",
- "readOnly": true
- },
- "location": {
- "description": "Resource location.",
- "type": "string"
- },
- "tags": {
- "description": "Resource tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "eTag": {
- "description": "Optional ETag.",
- "type": "string"
- }
- },
- "x-ms-azure-resource": true
- },
- "ResourceList": {
- "description": "Base for all lists of resources.",
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
- "type": "string"
- }
- }
- },
- "RestoreFileSpecs": {
- "description": "Restore file specs like file path, type and target folder path info.",
- "type": "object",
- "properties": {
- "path": {
- "description": "Source File/Folder path",
- "type": "string"
- },
- "fileSpecType": {
- "description": "Indicates what the Path variable stands for",
- "type": "string"
- },
- "targetFolderPath": {
- "description": "Destination folder path in target FileShare",
- "type": "string"
- }
- }
- },
- "RestoreRequest": {
- "description": "Base class for restore request. Workload-specific restore requests are derived from this class.",
- "required": [
- "objectType"
- ],
- "type": "object",
- "properties": {
- "objectType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "objectType"
- },
- "RetentionDuration": {
- "description": "Retention duration.",
- "type": "object",
- "properties": {
- "count": {
- "format": "int32",
- "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.",
- "type": "integer"
- },
- "durationType": {
- "description": "Retention duration type of retention policy.",
- "enum": [
- "Invalid",
- "Days",
- "Weeks",
- "Months",
- "Years"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RetentionDurationType",
- "modelAsString": true
- }
- }
- }
- },
- "RetentionPolicy": {
- "description": "Base class for retention policy.",
- "required": [
- "retentionPolicyType"
- ],
- "type": "object",
- "properties": {
- "retentionPolicyType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "retentionPolicyType"
- },
- "SchedulePolicy": {
- "description": "Base class for backup schedule.",
- "required": [
- "schedulePolicyType"
- ],
- "type": "object",
- "properties": {
- "schedulePolicyType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "schedulePolicyType"
- },
- "Settings": {
- "description": "Common settings field for backup management",
- "type": "object",
- "properties": {
- "timeZone": {
- "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
- "type": "string"
- },
- "issqlcompression": {
- "description": "SQL compression flag",
- "type": "boolean"
- },
- "isCompression": {
- "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.",
- "type": "boolean"
- }
- }
- },
- "SimpleRetentionPolicy": {
- "description": "Simple policy retention.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RetentionPolicy"
- }
- ],
- "properties": {
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of the protection policy."
- }
- },
- "x-ms-discriminator-value": "SimpleRetentionPolicy"
- },
- "SimpleSchedulePolicy": {
- "description": "Simple policy schedule.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SchedulePolicy"
- }
- ],
- "properties": {
- "scheduleRunFrequency": {
- "description": "Frequency of the schedule operation of this policy.",
- "enum": [
- "Invalid",
- "Daily",
- "Weekly"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ScheduleRunType",
- "modelAsString": true
- }
- },
- "scheduleRunDays": {
- "description": "List of days of week this schedule has to be run.",
- "type": "array",
- "items": {
- "enum": [
- "Sunday",
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday",
- "Saturday"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DayOfWeek",
- "modelAsString": false
- }
- }
- },
- "scheduleRunTimes": {
- "description": "List of times of day this schedule has to be run.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "scheduleWeeklyFrequency": {
- "format": "int32",
- "description": "At every number weeks this schedule has to be run.",
- "type": "integer"
- }
- },
- "x-ms-discriminator-value": "SimpleSchedulePolicy"
- },
- "SQLDataDirectoryMapping": {
- "description": "Encapsulates information regarding data directory",
- "type": "object",
- "properties": {
- "mappingType": {
- "description": "Type of data directory mapping",
- "enum": [
- "Invalid",
- "Data",
- "Log"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "SQLDataDirectoryType",
- "modelAsString": true
- }
- },
- "sourceLogicalName": {
- "description": "Restore source logical name path",
- "type": "string"
- },
- "sourcePath": {
- "description": "Restore source path",
- "type": "string"
- },
- "targetPath": {
- "description": "Target path",
- "type": "string"
- }
- }
- },
- "SubProtectionPolicy": {
- "description": "Sub-protection policy which includes schedule and retention",
- "type": "object",
- "properties": {
- "policyType": {
- "description": "Type of backup policy type",
- "enum": [
- "Invalid",
- "Full",
- "Differential",
- "Log",
- "CopyOnlyFull"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "PolicyType",
- "modelAsString": true
- }
- },
- "schedulePolicy": {
- "$ref": "#/definitions/SchedulePolicy",
- "description": "Backup schedule specified as part of backup policy."
- },
- "retentionPolicy": {
- "$ref": "#/definitions/RetentionPolicy",
- "description": "Retention policy with the details on backup copy retention ranges."
- }
- }
- },
- "TargetAFSRestoreInfo": {
- "description": "Target Azure File Share Info.",
- "type": "object",
- "properties": {
- "name": {
- "description": "File share name",
- "type": "string"
- },
- "targetResourceId": {
- "description": "Target file share resource ARM ID",
- "type": "string"
- }
- }
- },
- "TargetRestoreInfo": {
- "description": "Details about target workload during restore operation.",
- "type": "object",
- "properties": {
- "overwriteOption": {
- "description": "Can Overwrite if Target DataBase already exists",
- "enum": [
- "Invalid",
- "FailOnConflict",
- "Overwrite"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "OverwriteOptions",
- "modelAsString": true
- }
- },
- "containerId": {
- "description": "Resource Id name of the container in which Target DataBase resides",
- "type": "string"
- },
- "databaseName": {
- "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana",
- "type": "string"
- }
- }
- },
- "ValidateIaasVMRestoreOperationRequest": {
- "description": "AzureRestoreValidation request.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ValidateRestoreOperationRequest"
- }
- ],
- "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest"
- },
- "ValidateOperationRequest": {
- "description": "Base class for validate operation request.",
- "required": [
- "objectType"
- ],
- "type": "object",
- "properties": {
- "objectType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "objectType"
- },
- "ValidateOperationResponse": {
- "description": "Base class for validate operation response.",
- "type": "object",
- "properties": {
- "validationResults": {
- "description": "Gets the validation result",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorDetail"
- }
- }
- }
- },
- "ValidateOperationsResponse": {
- "type": "object",
- "properties": {
- "validateOperationResponse": {
- "$ref": "#/definitions/ValidateOperationResponse"
- }
- }
- },
- "ValidateRestoreOperationRequest": {
- "description": "AzureRestoreValidation request.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ValidateOperationRequest"
- }
- ],
- "properties": {
- "restoreRequest": {
- "$ref": "#/definitions/RestoreRequest",
- "description": "Sets restore request to be validated"
- }
- },
- "x-ms-discriminator-value": "ValidateRestoreOperationRequest"
- },
- "WeeklyRetentionFormat": {
- "description": "Weekly retention format.",
- "type": "object",
- "properties": {
- "daysOfTheWeek": {
- "description": "List of days of the week.",
- "type": "array",
- "items": {
- "enum": [
- "Sunday",
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday",
- "Saturday"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DayOfWeek",
- "modelAsString": false
- }
- }
- },
- "weeksOfTheMonth": {
- "description": "List of weeks of month.",
- "type": "array",
- "items": {
- "enum": [
- "First",
- "Second",
- "Third",
- "Fourth",
- "Last",
- "Invalid"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "WeekOfMonth",
- "modelAsString": false
- }
- }
- }
- }
- },
- "WeeklyRetentionSchedule": {
- "description": "Weekly retention schedule.",
- "type": "object",
- "properties": {
- "daysOfTheWeek": {
- "description": "List of days of week for weekly retention policy.",
- "type": "array",
- "items": {
- "enum": [
- "Sunday",
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday",
- "Saturday"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DayOfWeek",
- "modelAsString": false
- }
- }
- },
- "retentionTimes": {
- "description": "Retention times of retention policy.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of retention Policy."
- }
- }
- },
- "YearlyRetentionSchedule": {
- "description": "Yearly retention schedule.",
- "type": "object",
- "properties": {
- "retentionScheduleFormatType": {
- "description": "Retention schedule format for yearly retention policy.",
- "enum": [
- "Invalid",
- "Daily",
- "Weekly"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RetentionScheduleFormat",
- "modelAsString": true
- }
- },
- "monthsOfYear": {
- "description": "List of months of year of yearly retention policy.",
- "type": "array",
- "items": {
- "enum": [
- "Invalid",
- "January",
- "February",
- "March",
- "April",
- "May",
- "June",
- "July",
- "August",
- "September",
- "October",
- "November",
- "December"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "MonthOfYear",
- "modelAsString": false
- }
- }
- },
- "retentionScheduleDaily": {
- "$ref": "#/definitions/DailyRetentionFormat",
- "description": "Daily retention format for yearly retention policy."
- },
- "retentionScheduleWeekly": {
- "$ref": "#/definitions/WeeklyRetentionFormat",
- "description": "Weekly retention format for yearly retention policy."
- },
- "retentionTimes": {
- "description": "Retention times of retention policy.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of retention Policy."
}
}
}
@@ -4551,4 +1846,4 @@
]
}
]
-}
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupPolicies_List.json
deleted file mode 100644
index 34c612508a99..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupPolicies_List.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "SwaggerTestRg",
- "vaultName": "NetSDKTestRsVault",
- "api-version": "2017-07-01",
- "$filter": "backupManagementType eq 'AzureIaasVM'"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy",
- "name": "DefaultPolicy",
- "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
- "properties": {
- "backupManagementType": "AzureIaasVM",
- "schedulePolicy": {
- "schedulePolicyType": "SimpleSchedulePolicy",
- "scheduleRunFrequency": "Daily",
- "scheduleRunTimes": [
- "2017-12-05T19:00:00Z"
- ],
- "scheduleWeeklyFrequency": 0
- },
- "retentionPolicy": {
- "retentionPolicyType": "LongTermRetentionPolicy",
- "dailySchedule": {
- "retentionTimes": [
- "2017-12-05T19:00:00Z"
- ],
- "retentionDuration": {
- "count": 30,
- "durationType": "Days"
- }
- }
- },
- "protectedItemsCount": 0
- }
- },
- {
- "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
- "name": "testPolicy1",
- "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
- "properties": {
- "backupManagementType": "AzureIaasVM",
- "schedulePolicy": {
- "schedulePolicyType": "SimpleSchedulePolicy",
- "scheduleRunFrequency": "Daily",
- "scheduleRunTimes": [
- "2018-01-24T02:00:00Z"
- ],
- "scheduleWeeklyFrequency": 0
- },
- "retentionPolicy": {
- "retentionPolicyType": "LongTermRetentionPolicy",
- "dailySchedule": {
- "retentionTimes": [
- "2018-01-24T02:00:00Z"
- ],
- "retentionDuration": {
- "count": 1,
- "durationType": "Days"
- }
- }
- },
- "timeZone": "Pacific Standard Time",
- "protectedItemsCount": 0
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureWorkload/BackupPolicies_List.json
deleted file mode 100644
index 08fbccd94854..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureWorkload/BackupPolicies_List.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "SwaggerTestRg",
- "vaultName": "NetSDKTestRsVault",
- "api-version": "2017-07-01",
- "$filter": "backupManagementType eq 'AzureWorkload'"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup",
- "name": "HourlyLogBackup",
- "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
- "properties": {
- "backupManagementType": "AzureWorkload",
- "workLoadType": "SQLDataBase",
- "settings": {
- "timeZone": "UTC",
- "issqlcompression": false
- },
- "subProtectionPolicy": [
- {
- "policyType": "Full",
- "schedulePolicy": {
- "schedulePolicyType": "SimpleSchedulePolicy",
- "scheduleRunFrequency": "Daily",
- "scheduleRunTimes": [
- "2017-12-05T19:00:00Z"
- ],
- "scheduleWeeklyFrequency": 0
- },
- "retentionPolicy": {
- "retentionPolicyType": "LongTermRetentionPolicy",
- "dailySchedule": {
- "retentionTimes": [
- "2017-12-05T19:00:00Z"
- ],
- "retentionDuration": {
- "count": 30,
- "durationType": "Days"
- }
- }
- }
- },
- {
- "policyType": "Log",
- "schedulePolicy": {
- "schedulePolicyType": "LogSchedulePolicy",
- "scheduleFrequencyInMins": 60
- },
- "retentionPolicy": {
- "retentionPolicyType": "SimpleRetentionPolicy",
- "retentionDuration": {
- "count": 30,
- "durationType": "Days"
- }
- }
- }
- ],
- "protectedItemsCount": 0
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json
new file mode 100644
index 000000000000..59198273c036
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json
@@ -0,0 +1,5152 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-05-13",
+ "title": "RecoveryServicesBackupClient",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": false
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": {
+ "get": {
+ "tags": [
+ "BackupResourceVaultConfigs"
+ ],
+ "description": "Fetches resource vault config.",
+ "operationId": "BackupResourceVaultConfigs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Vault Security Config": {
+ "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BackupResourceVaultConfigs"
+ ],
+ "description": "Updates vault security config.",
+ "operationId": "BackupResourceVaultConfigs_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Security Config": {
+ "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": {
+ "get": {
+ "tags": [
+ "ProtectedItems"
+ ],
+ "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.",
+ "operationId": "ProtectedItems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/GetProtectedItemQueryObject",
+ "x-ms-examples": {
+ "Get Protected Classic Virtual Machine Details": {
+ "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json"
+ },
+ "Get Protected Virtual Machine Details": {
+ "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProtectedItems"
+ ],
+ "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.",
+ "operationId": "ProtectedItems_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Item name to be backed up.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backed up item",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-examples": {
+ "Enable Protection on Azure IaasVm": {
+ "$ref": "./examples/AzureIaasVm/ConfigureProtection.json"
+ },
+ "Stop Protection with retain data on Azure IaasVm": {
+ "$ref": "./examples/AzureIaasVm/StopProtection.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProtectedItems"
+ ],
+ "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\nrequest, call the GetItemOperationResult API.",
+ "operationId": "ProtectedItems_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item to be deleted.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-examples": {
+ "Delete Protection from Azure Virtual Machine": {
+ "$ref": "./examples/Common/ProtectedItem_Delete.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectedItemOperationResults"
+ ],
+ "description": "Fetches the result of any operation on the backup item.",
+ "operationId": "ProtectedItemOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backup item name whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-examples": {
+ "Get Operation Results of Protected Vm": {
+ "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "description": "Lists the backup copies for the backed up item.",
+ "operationId": "RecoveryPoints_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item whose backup copies are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPointResourceList"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSRPQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Protected Azure Vm Recovery Points": {
+ "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.",
+ "operationId": "RecoveryPoints_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose backup data needs to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "RecoveryPointID represents the backed up data to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPointResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure Vm Recovery Point Details": {
+ "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": {
+ "post": {
+ "tags": [
+ "Restores"
+ ],
+ "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.",
+ "operationId": "Restores_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "Recovery point ID which represents the backed up data to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource restore request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RestoreRequestResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-examples": {
+ "Restore to New Azure IaasVm": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR.json"
+ },
+ "Restore Disks": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": {
+ "get": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "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"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResourceList"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protection policies with backupManagementType filter as AzureIaasVm": {
+ "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json"
+ },
+ "List protection policies with backupManagementType filter as AzureWorkload": {
+ "$ref": "./examples/AzureWorkload/BackupPolicies_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "ProtectionPolicies"
+ ],
+ "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"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy information to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure IaasVm Protection Policy Details": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProtectionPolicies"
+ ],
+ "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.",
+ "operationId": "ProtectionPolicies_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy to be created.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backup policy",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update Simple Azure Vm Protection Policy": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json"
+ },
+ "Create or Update Full Azure Vm Protection Policy": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json"
+ },
+ "Create or Update Full Azure Workload Protection Policy": {
+ "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectionPolicyOperationResults"
+ ],
+ "description": "Provides the result of an operation.",
+ "operationId": "ProtectionPolicyOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy name whose operation's result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation ID which represents the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Protection Policy Operation Results": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": {
+ "get": {
+ "tags": [
+ "BackupJobs"
+ ],
+ "description": "Provides a pageable list of jobs.",
+ "operationId": "BackupJobs_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/JobQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List All Jobs": {
+ "$ref": "./examples/Common/ListJobs.json"
+ },
+ "List Jobs With Filters": {
+ "$ref": "./examples/Common/ListJobsWithAllSupportedFilters.json"
+ },
+ "List Jobs With Time Filter": {
+ "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": {
+ "get": {
+ "tags": [
+ "JobDetails"
+ ],
+ "description": "Gets extended information associated with the job.",
+ "operationId": "JobDetails_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Name of the job whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Job Details": {
+ "$ref": "./examples/Common/GetJobDetails.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": {
+ "post": {
+ "tags": [
+ "JobCancellations"
+ ],
+ "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.",
+ "operationId": "JobCancellations_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Name of the job to cancel.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-examples": {
+ "Cancel Job": {
+ "$ref": "./examples/Common/TriggerCancelJob.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "JobOperationResults"
+ ],
+ "description": "Fetches the result of any operation.",
+ "operationId": "JobOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job name whose operation result has to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation whose result has to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-examples": {
+ "Cancel Job Operation Result": {
+ "$ref": "./examples/Common/CancelJobOperationResult.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ExportJobsOperationResults"
+ ],
+ "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\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"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the export job.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationResultInfoBaseResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/OperationResultInfoBaseResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Export Jobs Operation Results": {
+ "$ref": "./examples/Common/ExportJobsOperationResult.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Triggers export of jobs specified by filters and returns an OperationID to track.",
+ "operationId": "Jobs_Export",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-odata": "#/definitions/JobQueryObject",
+ "x-ms-examples": {
+ "Export Jobs": {
+ "$ref": "./examples/Common/TriggerExportJobs.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": {
+ "get": {
+ "tags": [
+ "BackupProtectedItems"
+ ],
+ "description": "Provides a pageable list of all items that are backed up within a vault.",
+ "operationId": "BackupProtectedItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResourceList"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/ProtectedItemQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protected items with backupManagementType filter as AzureIaasVm": {
+ "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": {
+ "post": {
+ "tags": [
+ "Operation"
+ ],
+ "description": "Validate operation for specified backed up item. This is a synchronous operation.",
+ "operationId": "Operation_Validate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource validate operation request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateOperationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ValidateOperationsResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate Operation": {
+ "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AzureFileshareProtectedItem": {
+ "description": "Azure File Share workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the fileshare represented by this backup item.",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "healthStatus": {
+ "description": "backups running status for this backup item.",
+ "enum": [
+ "Passed",
+ "ActionRequired",
+ "ActionSuggested",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthStatus",
+ "modelAsString": true
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo",
+ "description": "Additional information with this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareProtectedItem"
+ },
+ "AzureFileshareProtectedItemExtendedInfo": {
+ "description": "Additional information about Azure File Share backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this item in the service.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of available backup copies associated with this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ },
+ "resourceState": {
+ "description": "Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceStateSyncTime": {
+ "format": "date-time",
+ "description": "The resource state sync time for this backup item.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AzureFileShareRecoveryPoint": {
+ "description": "Azure File Share workload specific backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fileShareSnapshotUri": {
+ "description": "Contains Url to the snapshot of fileshare, if applicable",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryPointSizeInGB": {
+ "format": "int32",
+ "description": "Contains recovery point size",
+ "type": "integer",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareRecoveryPoint"
+ },
+ "AzureFileShareRestoreRequest": {
+ "description": "AzureFileShare Restore Request",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryType": {
+ "description": "Type of this recovery.",
+ "enum": [
+ "Invalid",
+ "OriginalLocation",
+ "AlternateLocation",
+ "RestoreDisks",
+ "Offline"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "Source storage account ARM Id",
+ "type": "string"
+ },
+ "copyOptions": {
+ "description": "Options to resolve copy conflicts.",
+ "enum": [
+ "Invalid",
+ "CreateCopy",
+ "Skip",
+ "Overwrite",
+ "FailOnConflict"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CopyOptions",
+ "modelAsString": true
+ }
+ },
+ "restoreRequestType": {
+ "description": "Restore Type (FullShareRestore or ItemLevelRestore)",
+ "enum": [
+ "Invalid",
+ "FullShareRestore",
+ "ItemLevelRestore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestoreRequestType",
+ "modelAsString": true
+ }
+ },
+ "restoreFileSpecs": {
+ "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestoreFileSpecs"
+ }
+ },
+ "targetDetails": {
+ "$ref": "#/definitions/TargetAFSRestoreInfo",
+ "description": "Target File Share Details"
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareRestoreRequest"
+ },
+ "AzureVmWorkloadProtectionPolicy": {
+ "description": "Azure VM (Mercury) workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "workLoadType": {
+ "description": "Type of workload for the backup management",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "settings": {
+ "$ref": "#/definitions/Settings",
+ "description": "Common settings for the backup management"
+ },
+ "subProtectionPolicy": {
+ "description": "List of sub-protection policies which includes schedule and retention",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubProtectionPolicy"
+ }
+ },
+ "makePolicyConsistent": {
+ "description": "Fix the policy inconsistency",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkload"
+ },
+ "AzureFileShareProtectionPolicy": {
+ "description": "AzureStorage backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "workLoadType": {
+ "description": "Type of workload for the backup management",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureStorage"
+ },
+ "AzureIaaSClassicComputeVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
+ },
+ "AzureIaaSComputeVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
+ },
+ "AzureIaaSVMErrorInfo": {
+ "description": "Azure IaaS VM workload-specific error information.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "errorTitle": {
+ "description": "Title: Typically, the entity that the error pertains to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AzureIaaSVMHealthDetails": {
+ "description": "Azure IaaS VM workload-specific Health Details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "description": "Health Code",
+ "type": "integer",
+ "readOnly": true
+ },
+ "title": {
+ "description": "Health Title",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Health Message",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendations": {
+ "description": "Health Recommended Actions",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AzureIaaSVMJob": {
+ "description": "Azure IaaS VM workload-specific job object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMErrorInfo"
+ }
+ },
+ "virtualMachineVersion": {
+ "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo",
+ "description": "Additional information for this job."
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaaSVMJob"
+ },
+ "AzureIaaSVMJobExtendedInfo": {
+ "description": "Azure IaaS VM workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks associated with this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "internalPropertyBag": {
+ "description": "Job internal properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "progressPercentage": {
+ "format": "double",
+ "description": "Indicates progress of the job. Null if it has not started or completed.",
+ "type": "number"
+ },
+ "estimatedRemainingDuration": {
+ "description": "Time remaining for execution of this job.",
+ "type": "string"
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureIaaSVMJobTaskDetails": {
+ "description": "Azure IaaS VM workload-specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "instanceId": {
+ "description": "The instanceId.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for task.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ },
+ "progressPercentage": {
+ "format": "double",
+ "description": "Progress of the task.",
+ "type": "number"
+ },
+ "taskExecutionDetails": {
+ "description": "Details about execution of the task.\r\neg: number of bytes transferred etc",
+ "type": "string"
+ }
+ }
+ },
+ "AzureIaaSVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the VM represented by this backup item.",
+ "type": "string"
+ },
+ "virtualMachineId": {
+ "description": "Fully qualified ARM ID of the virtual machine represented by this item.",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "healthStatus": {
+ "description": "Health status of protected item",
+ "enum": [
+ "Passed",
+ "ActionRequired",
+ "ActionSuggested",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthStatus",
+ "modelAsString": true
+ }
+ },
+ "healthDetails": {
+ "description": "Health details on this backup item.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMHealthDetails"
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "protectedItemDataId": {
+ "description": "Data ID of the protected item.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ },
+ "extendedProperties": {
+ "$ref": "#/definitions/ExtendedProperties"
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaaSVMProtectedItem"
+ },
+ "AzureIaaSVMProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure IaaS VM specific backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies available for this backup item.",
+ "type": "integer"
+ },
+ "policyInconsistent": {
+ "description": "Specifies if backup policy associated with the backup item is inconsistent.",
+ "type": "boolean"
+ }
+ }
+ },
+ "AzureIaaSVMProtectionPolicy": {
+ "description": "IaaS VM workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ },
+ "instantRpRetentionRangeInDays": {
+ "format": "int32",
+ "description": "Instant RP retention policy range in days",
+ "type": "integer"
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaasVM"
+ },
+ "AzureSqlProtectedItem": {
+ "description": "Azure SQL workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "protectedItemDataId": {
+ "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of the backed up item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemState",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "Microsoft.Sql/servers/databases"
+ },
+ "AzureSqlProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure Sql specific protected item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this item in the service.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of available backup copies associated with this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "State of the backup policy associated with this backup item.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureStorageErrorInfo": {
+ "description": "Azure storage specific error information",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer"
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureSqlProtectionPolicy": {
+ "description": "Azure SQL workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy details."
+ }
+ },
+ "x-ms-discriminator-value": "AzureSql"
+ },
+ "AzureStorageJob": {
+ "description": "Azure storage specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureStorageErrorInfo"
+ }
+ },
+ "storageAccountName": {
+ "description": "Specifies friendly name of the storage account.",
+ "type": "string"
+ },
+ "storageAccountVersion": {
+ "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureStorageJobExtendedInfo",
+ "description": "Additional information about the job."
+ }
+ },
+ "x-ms-discriminator-value": "AzureStorageJob"
+ },
+ "AzureStorageJobExtendedInfo": {
+ "description": "Azure Storage workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureStorageJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureStorageJobTaskDetails": {
+ "description": "Azure storage workload specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureVmWorkloadProtectedItem": {
+ "description": "Azure VM workload-specific protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the DB represented by this backup item.",
+ "type": "string"
+ },
+ "serverName": {
+ "description": "Host/Cluster Name for instance or AG",
+ "type": "string"
+ },
+ "parentName": {
+ "description": "Parent name of the DB such as Instance or Availability Group.",
+ "type": "string"
+ },
+ "parentType": {
+ "description": "Parent type of protected item, example: for a DB, standalone server or distributed",
+ "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": "AzureVmWorkloadProtectedItem"
+ },
+ "AzureVmWorkloadProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure Workload for SQL specific backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies available for this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ }
+ }
+ },
+ "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.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase"
+ },
+ "AzureVmWorkloadSQLDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SQL Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase"
+ },
+ "AzureWorkloadErrorInfo": {
+ "description": "Azure storage specific error information",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer"
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "errorTitle": {
+ "description": "Title: Typically, the entity that the error pertains to.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additionalDetails": {
+ "description": "Additional details for above error code.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureWorkloadJob": {
+ "description": "Azure storage specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "workloadType": {
+ "description": "Workload type of the job",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureWorkloadErrorInfo"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureWorkloadJobExtendedInfo",
+ "description": "Additional information about the job."
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadJob"
+ },
+ "AzureWorkloadJobExtendedInfo": {
+ "description": "Azure VM workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureWorkloadJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureWorkloadJobTaskDetails": {
+ "description": "Azure VM workload specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "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",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointTimeInUTC": {
+ "format": "date-time",
+ "description": "UTC time at which recovery point was created",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of restore point",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Log",
+ "Differential"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestorePointType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint"
+ },
+ "AzureWorkloadRestoreRequest": {
+ "description": "AzureWorkload-specific restore.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryType": {
+ "description": "Type of this recovery.",
+ "enum": [
+ "Invalid",
+ "OriginalLocation",
+ "AlternateLocation",
+ "RestoreDisks",
+ "Offline"
+ ],
+ "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"
+ }
+ },
+ "targetInfo": {
+ "$ref": "#/definitions/TargetRestoreInfo",
+ "description": "Details of target database"
+ },
+ "recoveryMode": {
+ "description": "Defines whether the current recovery mode is file restore or database restore",
+ "enum": [
+ "Invalid",
+ "FileRecovery",
+ "WorkloadRecovery"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryMode",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadRestoreRequest"
+ },
+ "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": {
+ "description": "Recovery point specific to PointInTime in SAPHana",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint"
+ },
+ "AzureWorkloadSAPHanaPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest"
+ },
+ "AzureWorkloadSAPHanaRecoveryPoint": {
+ "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint"
+ },
+ "AzureWorkloadSAPHanaRestoreRequest": {
+ "description": "AzureWorkload SAP Hana-specific restore.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest"
+ },
+ "AzureWorkloadSQLPointInTimeRecoveryPoint": {
+ "description": "Recovery point specific to PointInTime",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "timeRanges": {
+ "description": "List of log ranges",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PointInTimeRange"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint"
+ },
+ "AzureWorkloadSQLPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest"
+ },
+ "AzureWorkloadSQLRecoveryPoint": {
+ "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo",
+ "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\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"
+ },
+ "AzureWorkloadSQLRecoveryPointExtendedInfo": {
+ "description": "Extended info class details",
+ "type": "object",
+ "properties": {
+ "dataDirectoryTimeInUTC": {
+ "format": "date-time",
+ "description": "UTC time at which data directory info was captured",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataDirectoryPaths": {
+ "description": "List of data directory paths during restore operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SQLDataDirectory"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AzureWorkloadSQLRestoreRequest": {
+ "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "properties": {
+ "shouldUseAlternateTargetLocation": {
+ "description": "Default option set to true. If this is set to false, alternate data directory must be provided",
+ "type": "boolean"
+ },
+ "isNonRecoverable": {
+ "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried",
+ "type": "boolean"
+ },
+ "alternateDirectoryPaths": {
+ "description": "Data directory details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SQLDataDirectoryMapping"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest"
+ },
+ "BackupResourceVaultConfig": {
+ "description": "Backup resource vault config details.",
+ "type": "object",
+ "properties": {
+ "storageModelType": {
+ "description": "Storage type.",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageType": {
+ "description": "Storage type.",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageTypeState": {
+ "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.",
+ "enum": [
+ "Invalid",
+ "Locked",
+ "Unlocked"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageTypeState",
+ "modelAsString": true
+ }
+ },
+ "enhancedSecurityState": {
+ "description": "Enabled or Disabled.",
+ "enum": [
+ "Invalid",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EnhancedSecurityState",
+ "modelAsString": true
+ }
+ },
+ "softDeleteFeatureState": {
+ "description": "Soft Delete feature state",
+ "enum": [
+ "Invalid",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SoftDeleteFeatureState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BackupResourceVaultConfigResource": {
+ "description": "Backup resource vault config details.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupResourceVaultConfig",
+ "description": "BackupResourceVaultConfigResource properties"
+ }
+ }
+ },
+ "BEKDetails": {
+ "description": "BEK is bitlocker encryption key.",
+ "type": "object",
+ "properties": {
+ "secretUrl": {
+ "description": "Secret is BEK.",
+ "type": "string"
+ },
+ "secretVaultId": {
+ "description": "ID of the Key Vault where this Secret is stored.",
+ "type": "string"
+ },
+ "secretData": {
+ "description": "BEK data.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSRPQueryObject": {
+ "description": "Filters to list backup copies.",
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "format": "date-time",
+ "description": "Backup copies created after this time.",
+ "type": "string"
+ },
+ "endDate": {
+ "format": "date-time",
+ "description": "Backup copies created before this time.",
+ "type": "string"
+ },
+ "restorePointQueryType": {
+ "description": "RestorePoint type",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Log",
+ "Differential",
+ "FullAndDifferential",
+ "All"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestorePointQueryType",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.",
+ "type": "boolean"
+ }
+ }
+ },
+ "DiskExclusionProperties": {
+ "type": "object",
+ "properties": {
+ "diskLunList": {
+ "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.",
+ "type": "array",
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "isInclusionList": {
+ "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.",
+ "type": "boolean"
+ }
+ }
+ },
+ "DiskInformation": {
+ "description": "Disk information",
+ "type": "object",
+ "properties": {
+ "lun": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "DailyRetentionFormat": {
+ "description": "Daily retention format.",
+ "type": "object",
+ "properties": {
+ "daysOfTheMonth": {
+ "description": "List of days of the month.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Day"
+ }
+ }
+ }
+ },
+ "DailyRetentionSchedule": {
+ "description": "Daily retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "Day": {
+ "description": "Day of the week.",
+ "type": "object",
+ "properties": {
+ "date": {
+ "format": "int32",
+ "description": "Date of the month",
+ "type": "integer"
+ },
+ "isLast": {
+ "description": "Whether Date is last date of month",
+ "type": "boolean"
+ }
+ }
+ },
+ "DpmErrorInfo": {
+ "description": "DPM workload-specific error information.",
+ "type": "object",
+ "properties": {
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DpmJob": {
+ "description": "DPM workload-specific job object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for job.",
+ "type": "string"
+ },
+ "dpmServerName": {
+ "description": "DPM server name managing the backup item or backup job.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Name of cluster/server protecting current backup item, if any.",
+ "type": "string"
+ },
+ "containerType": {
+ "description": "Type of container.",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "Type of backup item.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "The state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "The errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DpmErrorInfo"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/DpmJobExtendedInfo",
+ "description": "Additional information for this job."
+ }
+ },
+ "x-ms-discriminator-value": "DpmJob"
+ },
+ "DpmJobExtendedInfo": {
+ "description": "Additional information on the DPM workload-specific job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks associated with this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DpmJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "The job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "DpmJobTaskDetails": {
+ "description": "DPM workload-specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for task.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "DPMProtectedItem": {
+ "description": "Additional information on Backup engine specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the managed item",
+ "type": "string"
+ },
+ "backupEngineName": {
+ "description": "Backup Management server protecting this backup item",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Protection state of the backup engine",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemState",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/DPMProtectedItemExtendedInfo",
+ "description": "Extended info of the backup item."
+ }
+ },
+ "x-ms-discriminator-value": "DPMProtectedItem"
+ },
+ "DPMProtectedItemExtendedInfo": {
+ "description": "Additional information of DPM Protected item.",
+ "type": "object",
+ "properties": {
+ "protectableObjectLoadPath": {
+ "description": "Attribute to provide information on various DBs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "protected": {
+ "description": "To check if backup item is disk protected.",
+ "type": "boolean"
+ },
+ "isPresentOnCloud": {
+ "description": "To check if backup item is cloud protected.",
+ "type": "boolean"
+ },
+ "lastBackupStatus": {
+ "description": "Last backup status information on backup item.",
+ "type": "string"
+ },
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Last refresh time on backup item.",
+ "type": "string"
+ },
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "Oldest cloud recovery point time.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "cloud recovery point count.",
+ "type": "integer"
+ },
+ "onPremiseOldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "Oldest disk recovery point time.",
+ "type": "string"
+ },
+ "onPremiseLatestRecoveryPoint": {
+ "format": "date-time",
+ "description": "latest disk recovery point time.",
+ "type": "string"
+ },
+ "onPremiseRecoveryPointCount": {
+ "format": "int32",
+ "description": "disk recovery point count.",
+ "type": "integer"
+ },
+ "isCollocated": {
+ "description": "To check if backup item is collocated.",
+ "type": "boolean"
+ },
+ "protectionGroupName": {
+ "description": "Protection group name of the backup item.",
+ "type": "string"
+ },
+ "diskStorageUsedInBytes": {
+ "description": "Used Disk storage in bytes.",
+ "type": "string"
+ },
+ "totalDiskStorageSizeInBytes": {
+ "description": "total Disk storage in bytes.",
+ "type": "string"
+ }
+ }
+ },
+ "EncryptionDetails": {
+ "description": "Details needed if the VM was encrypted at the time of backup.",
+ "type": "object",
+ "properties": {
+ "encryptionEnabled": {
+ "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.",
+ "type": "boolean"
+ },
+ "kekUrl": {
+ "description": "Key Url.",
+ "type": "string"
+ },
+ "secretKeyUrl": {
+ "description": "Secret Url.",
+ "type": "string"
+ },
+ "kekVaultId": {
+ "description": "ID of Key Vault where KEK is stored.",
+ "type": "string"
+ },
+ "secretKeyVaultId": {
+ "description": "ID of Key Vault where Secret is stored.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "description": "Error Detail class which encapsulates Code, Message and Recommendations.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error Message related to the Code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendations": {
+ "description": "List of recommendation strings.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ExportJobsOperationResultInfo": {
+ "description": "This class is used to send blob details after exporting jobs.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationResultInfoBase"
+ }
+ ],
+ "properties": {
+ "blobUrl": {
+ "description": "URL of the blob into which the serialized string of list of jobs is exported.",
+ "type": "string"
+ },
+ "blobSasKey": {
+ "description": "SAS key to access the blob. It expires in 15 mins.",
+ "type": "string"
+ },
+ "excelFileBlobUrl": {
+ "description": "URL of the blob into which the ExcelFile is uploaded.",
+ "type": "string"
+ },
+ "excelFileBlobSasKey": {
+ "description": "SAS key to access the blob. It expires in 15 mins.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ExportJobsOperationResultInfo"
+ },
+ "ExtendedProperties": {
+ "description": "Extended Properties for Azure IaasVM Backup.",
+ "type": "object",
+ "properties": {
+ "diskExclusionProperties": {
+ "$ref": "#/definitions/DiskExclusionProperties",
+ "description": "Extended Properties for Disk Exclusion."
+ }
+ }
+ },
+ "GenericProtectionPolicy": {
+ "description": "Azure VM (Mercury) workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "subProtectionPolicy": {
+ "description": "List of sub-protection policies which includes schedule and retention",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubProtectionPolicy"
+ }
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Name of this policy's fabric.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "GenericProtectionPolicy"
+ },
+ "GenericProtectedItem": {
+ "description": "Base class for backup items.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the container.",
+ "type": "string"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "protectedItemId": {
+ "format": "int64",
+ "description": "Data Plane Service ID of the protected item.",
+ "type": "integer"
+ },
+ "sourceAssociations": {
+ "description": "Loosely coupled (type, value) associations (example - parent of a protected item)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "fabricName": {
+ "description": "Name of this backup item's fabric.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "GenericProtectedItem"
+ },
+ "GenericRecoveryPoint": {
+ "description": "Generic backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the backup copy.",
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "description": "Type of the backup copy.",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string"
+ },
+ "recoveryPointAdditionalInfo": {
+ "description": "Additional information associated with this backup copy.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "GenericRecoveryPoint"
+ },
+ "GetProtectedItemQueryObject": {
+ "description": "Filters to list backup items.",
+ "type": "object",
+ "properties": {
+ "expand": {
+ "description": "Specifies if the additional information should be provided for this item.",
+ "type": "string"
+ }
+ }
+ },
+ "IaasVMRecoveryPoint": {
+ "description": "IaaS VM workload specific backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "Type of the backup copy.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryPointAdditionalInfo": {
+ "description": "Additional information associated with this backup copy.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceVMStorageType": {
+ "description": "Storage type of the VM whose backup copy is created.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isSourceVMEncrypted": {
+ "description": "Identifies whether the VM was encrypted when the backup copy is created.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "keyAndSecret": {
+ "$ref": "#/definitions/KeyAndSecretDetails",
+ "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true."
+ },
+ "isInstantIlrSessionActive": {
+ "description": "Is the session to recover items from this backup copy still active.",
+ "type": "boolean"
+ },
+ "recoveryPointTierDetails": {
+ "description": "Recovery point tier information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPointTierInformation"
+ }
+ },
+ "isManagedVirtualMachine": {
+ "description": "Whether VM is with Managed Disks",
+ "type": "boolean"
+ },
+ "virtualMachineSize": {
+ "description": "Virtual Machine Size",
+ "type": "string"
+ },
+ "originalStorageAccountOption": {
+ "description": "Original Storage Account Option",
+ "type": "boolean"
+ },
+ "osType": {
+ "description": "OS type",
+ "type": "string"
+ },
+ "recoveryPointDiskConfiguration": {
+ "$ref": "#/definitions/RecoveryPointDiskConfiguration",
+ "description": "Disk configuration"
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMRecoveryPoint"
+ },
+ "IaasVMRestoreRequest": {
+ "description": "IaaS VM workload-specific restore.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "ID of the backup copy to be recovered.",
+ "type": "string"
+ },
+ "recoveryType": {
+ "description": "Type of this recovery.",
+ "enum": [
+ "Invalid",
+ "OriginalLocation",
+ "AlternateLocation",
+ "RestoreDisks",
+ "Offline"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "Fully qualified ARM ID of the VM which is being recovered.",
+ "type": "string"
+ },
+ "targetVirtualMachineId": {
+ "description": "This is the complete ARM Id of the VM that will be created.\r\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\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.",
+ "type": "string"
+ },
+ "virtualNetworkId": {
+ "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\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\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\nVirtual Machines.",
+ "type": "string"
+ },
+ "region": {
+ "description": "Region in which the virtual machine is restored.",
+ "type": "string"
+ },
+ "affinityGroup": {
+ "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.",
+ "type": "string"
+ },
+ "createNewCloudService": {
+ "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.",
+ "type": "boolean"
+ },
+ "originalStorageAccountOption": {
+ "description": "Original Storage Account Option",
+ "type": "boolean"
+ },
+ "encryptionDetails": {
+ "$ref": "#/definitions/EncryptionDetails",
+ "description": "Details needed if the VM was encrypted at the time of backup."
+ },
+ "restoreDiskLunList": {
+ "description": "List of Disk LUNs for partial restore",
+ "type": "array",
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMRestoreRequest"
+ },
+ "Job": {
+ "description": "Defines workload agnostic properties for a job.",
+ "required": [
+ "jobType"
+ ],
+ "type": "object",
+ "properties": {
+ "entityFriendlyName": {
+ "description": "Friendly name of the entity on which the current job is executing.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Backup management type to execute the current job.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "operation": {
+ "description": "The operation name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Job status.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "activityId": {
+ "description": "ActivityId of job.",
+ "type": "string"
+ },
+ "jobType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "jobType"
+ },
+ "JobQueryObject": {
+ "description": "Filters to list the jobs.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the job.",
+ "enum": [
+ "Invalid",
+ "InProgress",
+ "Completed",
+ "Failed",
+ "CompletedWithWarnings",
+ "Cancelled",
+ "Cancelling"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the job.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "operation": {
+ "description": "Type of operation.",
+ "enum": [
+ "Invalid",
+ "Register",
+ "UnRegister",
+ "ConfigureBackup",
+ "Backup",
+ "Restore",
+ "DisableBackup",
+ "DeleteBackupData",
+ "CrossRegionRestore",
+ "Undelete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobOperationType",
+ "modelAsString": true
+ }
+ },
+ "jobId": {
+ "description": "JobID represents the job uniquely.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Job has started at this time. Value is in UTC.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Job has ended at this time. Value is in UTC.",
+ "type": "string"
+ }
+ }
+ },
+ "JobResource": {
+ "description": "Defines workload agnostic properties for a job.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/Job",
+ "description": "JobResource properties"
+ }
+ }
+ },
+ "JobResourceList": {
+ "description": "List of Job resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResource"
+ }
+ }
+ }
+ },
+ "KEKDetails": {
+ "description": "KEK is encryption key for BEK.",
+ "type": "object",
+ "properties": {
+ "keyUrl": {
+ "description": "Key is KEK.",
+ "type": "string"
+ },
+ "keyVaultId": {
+ "description": "Key Vault ID where this Key is stored.",
+ "type": "string"
+ },
+ "keyBackupData": {
+ "description": "KEK data.",
+ "type": "string"
+ }
+ }
+ },
+ "KeyAndSecretDetails": {
+ "description": "BEK is bitlocker key.\r\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": {
+ "$ref": "#/definitions/KEKDetails",
+ "description": "KEK is encryption key for BEK."
+ },
+ "bekDetails": {
+ "$ref": "#/definitions/BEKDetails",
+ "description": "BEK is bitlocker encryption key."
+ },
+ "encryptionMechanism": {
+ "description": "Encryption mechanism: None/ SinglePass/ DoublePass",
+ "type": "string"
+ }
+ }
+ },
+ "LogSchedulePolicy": {
+ "description": "Log policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "properties": {
+ "scheduleFrequencyInMins": {
+ "format": "int32",
+ "description": "Frequency of the log schedule operation of this policy in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "LogSchedulePolicy"
+ },
+ "LongTermRetentionPolicy": {
+ "description": "Long term retention policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RetentionPolicy"
+ }
+ ],
+ "properties": {
+ "dailySchedule": {
+ "$ref": "#/definitions/DailyRetentionSchedule",
+ "description": "Daily retention schedule of the protection policy."
+ },
+ "weeklySchedule": {
+ "$ref": "#/definitions/WeeklyRetentionSchedule",
+ "description": "Weekly retention schedule of the protection policy."
+ },
+ "monthlySchedule": {
+ "$ref": "#/definitions/MonthlyRetentionSchedule",
+ "description": "Monthly retention schedule of the protection policy."
+ },
+ "yearlySchedule": {
+ "$ref": "#/definitions/YearlyRetentionSchedule",
+ "description": "Yearly retention schedule of the protection policy."
+ }
+ },
+ "x-ms-discriminator-value": "LongTermRetentionPolicy"
+ },
+ "LongTermSchedulePolicy": {
+ "description": "Long term policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "x-ms-discriminator-value": "LongTermSchedulePolicy"
+ },
+ "MabErrorInfo": {
+ "description": "MAB workload-specific error information.",
+ "type": "object",
+ "properties": {
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendations": {
+ "description": "List of localized recommendations.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "MabFileFolderProtectedItem": {
+ "description": "MAB workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of this backup item.",
+ "type": "string"
+ },
+ "computerName": {
+ "description": "Name of the computer associated with this backup item.",
+ "type": "string"
+ },
+ "lastBackupStatus": {
+ "description": "Status of last backup operation.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Protected, ProtectionStopped, IRPending or ProtectionError",
+ "type": "string"
+ },
+ "deferredDeleteSyncTimeInUTC": {
+ "format": "int64",
+ "description": "Sync time for deferred deletion in UTC",
+ "type": "integer"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo",
+ "description": "Additional information with this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "MabFileFolderProtectedItem"
+ },
+ "MabFileFolderProtectedItemExtendedInfo": {
+ "description": "Additional information on the backed up item.",
+ "type": "object",
+ "properties": {
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Last time when the agent data synced to service.",
+ "type": "string"
+ },
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies associated with the backup item.",
+ "type": "integer"
+ }
+ }
+ },
+ "MabJob": {
+ "description": "MAB workload-specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time taken by job to run.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "The state/actions applicable on jobs like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "mabServerName": {
+ "description": "Name of server protecting the DS.",
+ "type": "string"
+ },
+ "mabServerType": {
+ "description": "Server type of MAB container.",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MabServerType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Workload type of backup item.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "errorDetails": {
+ "description": "The errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MabErrorInfo"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/MabJobExtendedInfo",
+ "description": "Additional information on the job."
+ }
+ },
+ "x-ms-discriminator-value": "MabJob"
+ },
+ "MabJobExtendedInfo": {
+ "description": "Additional information for the MAB workload-specific job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MabJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "The job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message specific to this job.",
+ "type": "string"
+ }
+ }
+ },
+ "MabJobTaskDetails": {
+ "description": "MAB workload-specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for task.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "MabProtectionPolicy": {
+ "description": "Mab container-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy details."
+ }
+ },
+ "x-ms-discriminator-value": "MAB"
+ },
+ "MonthlyRetentionSchedule": {
+ "description": "Monthly retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionScheduleFormatType": {
+ "description": "Retention schedule format type for monthly retention policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionScheduleFormat",
+ "modelAsString": true
+ }
+ },
+ "retentionScheduleDaily": {
+ "$ref": "#/definitions/DailyRetentionFormat",
+ "description": "Daily retention format for monthly retention policy."
+ },
+ "retentionScheduleWeekly": {
+ "$ref": "#/definitions/WeeklyRetentionFormat",
+ "description": "Weekly retention format for monthly retention policy."
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "OperationResultInfo": {
+ "description": "Operation result info.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationResultInfoBase"
+ }
+ ],
+ "properties": {
+ "jobList": {
+ "description": "List of jobs created by this operation.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "OperationResultInfo"
+ },
+ "OperationResultInfoBase": {
+ "description": "Base class for operation result info.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "OperationResultInfoBaseResource": {
+ "description": "Base class for operation result info.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationWorkerResponse"
+ }
+ ],
+ "properties": {
+ "operation": {
+ "$ref": "#/definitions/OperationResultInfoBase",
+ "description": "OperationResultInfoBaseResource operation"
+ }
+ }
+ },
+ "OperationWorkerResponse": {
+ "description": "This is the base class for operation result responses.",
+ "type": "object",
+ "properties": {
+ "statusCode": {
+ "description": "HTTP Status Code of the operation.",
+ "enum": [
+ "Continue",
+ "SwitchingProtocols",
+ "OK",
+ "Created",
+ "Accepted",
+ "NonAuthoritativeInformation",
+ "NoContent",
+ "ResetContent",
+ "PartialContent",
+ "MultipleChoices",
+ "Ambiguous",
+ "MovedPermanently",
+ "Moved",
+ "Found",
+ "Redirect",
+ "SeeOther",
+ "RedirectMethod",
+ "NotModified",
+ "UseProxy",
+ "Unused",
+ "TemporaryRedirect",
+ "RedirectKeepVerb",
+ "BadRequest",
+ "Unauthorized",
+ "PaymentRequired",
+ "Forbidden",
+ "NotFound",
+ "MethodNotAllowed",
+ "NotAcceptable",
+ "ProxyAuthenticationRequired",
+ "RequestTimeout",
+ "Conflict",
+ "Gone",
+ "LengthRequired",
+ "PreconditionFailed",
+ "RequestEntityTooLarge",
+ "RequestUriTooLong",
+ "UnsupportedMediaType",
+ "RequestedRangeNotSatisfiable",
+ "ExpectationFailed",
+ "UpgradeRequired",
+ "InternalServerError",
+ "NotImplemented",
+ "BadGateway",
+ "ServiceUnavailable",
+ "GatewayTimeout",
+ "HttpVersionNotSupported"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HttpStatusCode",
+ "modelAsString": false
+ }
+ },
+ "headers": {
+ "description": "HTTP headers associated with this operation.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "PointInTimeRange": {
+ "description": "Provides details for log ranges",
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "Start time of the time range for log recovery.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of the time range for log recovery.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectedItem": {
+ "description": "Base class for backup items.",
+ "type": "object",
+ "properties": {
+ "protectedItemType": {
+ "description": "backup item type.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the backed up item.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Type of workload this item represents.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "containerName": {
+ "description": "Unique name of container",
+ "type": "string"
+ },
+ "sourceResourceId": {
+ "description": "ARM ID of the resource to be backed up.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "ID of the backup policy with which this item is backed up.",
+ "type": "string"
+ },
+ "lastRecoveryPoint": {
+ "format": "date-time",
+ "description": "Timestamp when the last (latest) backup copy was created for this backup item.",
+ "type": "string"
+ },
+ "backupSetName": {
+ "description": "Name of the backup set the backup item belongs to",
+ "type": "string"
+ },
+ "createMode": {
+ "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.",
+ "enum": [
+ "Invalid",
+ "Default",
+ "Recover"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": true
+ }
+ },
+ "deferredDeleteTimeInUTC": {
+ "format": "date-time",
+ "description": "Time for deferred deletion in UTC",
+ "type": "string"
+ },
+ "isScheduledForDeferredDelete": {
+ "description": "Flag to identify whether the DS is scheduled for deferred delete",
+ "type": "boolean"
+ },
+ "deferredDeleteTimeRemaining": {
+ "description": "Time remaining before the DS marked for deferred delete is permanently deleted",
+ "type": "string"
+ },
+ "isDeferredDeleteScheduleUpcoming": {
+ "description": "Flag to identify whether the deferred deleted DS is to be purged soon",
+ "type": "boolean"
+ },
+ "isRehydrate": {
+ "description": "Flag to identify that deferred deleted DS is to be moved into Pause state",
+ "type": "boolean"
+ }
+ },
+ "discriminator": "protectedItemType"
+ },
+ "ProtectedItemQueryObject": {
+ "description": "Filters to list backup items.",
+ "type": "object",
+ "properties": {
+ "healthState": {
+ "description": "Health State for the backed up item.",
+ "enum": [
+ "Passed",
+ "ActionRequired",
+ "ActionSuggested",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthState",
+ "modelAsString": true
+ }
+ },
+ "backupManagementType": {
+ "description": "Backup management type for the backed up item.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "itemType": {
+ "description": "Type of workload this item represents.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "policyName": {
+ "description": "Backup policy name associated with the backup item.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Name of the container.",
+ "type": "string"
+ },
+ "backupEngineName": {
+ "description": "Backup Engine name",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of protected item",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Name of the fabric.",
+ "type": "string"
+ },
+ "backupSetName": {
+ "description": "Name of the backup set.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectedItemResource": {
+ "description": "Base class for backup items.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectedItem",
+ "description": "ProtectedItemResource properties"
+ }
+ }
+ },
+ "ProtectedItemResourceList": {
+ "description": "List of ProtectedItem resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ }
+ }
+ },
+ "ProtectionPolicy": {
+ "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
+ "required": [
+ "backupManagementType"
+ ],
+ "type": "object",
+ "properties": {
+ "protectedItemsCount": {
+ "format": "int32",
+ "description": "Number of items associated with this policy.",
+ "type": "integer"
+ },
+ "backupManagementType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "backupManagementType"
+ },
+ "ProtectionPolicyQueryObject": {
+ "description": "Filters the list backup policies API.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for the backup policy.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "fabricName": {
+ "description": "Fabric name for filter",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "Workload type for the backup policy.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ProtectionPolicyResource": {
+ "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionPolicy",
+ "description": "ProtectionPolicyResource properties"
+ }
+ }
+ },
+ "ProtectionPolicyResourceList": {
+ "description": "List of ProtectionPolicy resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ }
+ }
+ },
+ "RecoveryPoint": {
+ "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "RecoveryPointDiskConfiguration": {
+ "description": "Disk configuration",
+ "type": "object",
+ "properties": {
+ "numberOfDisksIncludedInBackup": {
+ "format": "int32",
+ "description": "Number of disks included in backup",
+ "type": "integer"
+ },
+ "numberOfDisksAttachedToVm": {
+ "format": "int32",
+ "description": "Number of disks attached to the VM",
+ "type": "integer"
+ },
+ "includedDiskList": {
+ "description": "Information of disks included in backup",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskInformation"
+ }
+ },
+ "excludedDiskList": {
+ "description": "Information of disks excluded from backup",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskInformation"
+ }
+ }
+ }
+ },
+ "RecoveryPointResource": {
+ "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPoint",
+ "description": "RecoveryPointResource properties"
+ }
+ }
+ },
+ "RecoveryPointResourceList": {
+ "description": "List of RecoveryPoint resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPointResource"
+ }
+ }
+ }
+ },
+ "RecoveryPointTierInformation": {
+ "description": "Recovery point tier information.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Recovery point tier type.",
+ "enum": [
+ "Invalid",
+ "InstantRP",
+ "HardenedRP"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierType",
+ "modelAsString": false
+ }
+ },
+ "status": {
+ "description": "Recovery point tier status.",
+ "enum": [
+ "Invalid",
+ "Valid",
+ "Disabled",
+ "Deleted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierStatus",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "Resource": {
+ "description": "ARM Resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Resource location.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "eTag": {
+ "description": "Optional ETag.",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceList": {
+ "description": "Base for all lists of resources.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
+ "type": "string"
+ }
+ }
+ },
+ "RestoreFileSpecs": {
+ "description": "Restore file specs like file path, type and target folder path info.",
+ "type": "object",
+ "properties": {
+ "path": {
+ "description": "Source File/Folder path",
+ "type": "string"
+ },
+ "fileSpecType": {
+ "description": "Indicates what the Path variable stands for",
+ "type": "string"
+ },
+ "targetFolderPath": {
+ "description": "Destination folder path in target FileShare",
+ "type": "string"
+ }
+ }
+ },
+ "RestoreRequest": {
+ "description": "Base class for restore request. Workload-specific restore requests are derived from this class.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "RestoreRequestResource": {
+ "description": "Base class for restore request. Workload-specific restore requests are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RestoreRequest",
+ "description": "RestoreRequestResource properties"
+ }
+ }
+ },
+ "RetentionDuration": {
+ "description": "Retention duration.",
+ "type": "object",
+ "properties": {
+ "count": {
+ "format": "int32",
+ "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.",
+ "type": "integer"
+ },
+ "durationType": {
+ "description": "Retention duration type of retention policy.",
+ "enum": [
+ "Invalid",
+ "Days",
+ "Weeks",
+ "Months",
+ "Years"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionDurationType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RetentionPolicy": {
+ "description": "Base class for retention policy.",
+ "required": [
+ "retentionPolicyType"
+ ],
+ "type": "object",
+ "properties": {
+ "retentionPolicyType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "retentionPolicyType"
+ },
+ "SchedulePolicy": {
+ "description": "Base class for backup schedule.",
+ "required": [
+ "schedulePolicyType"
+ ],
+ "type": "object",
+ "properties": {
+ "schedulePolicyType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "schedulePolicyType"
+ },
+ "Settings": {
+ "description": "Common settings field for backup management",
+ "type": "object",
+ "properties": {
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ },
+ "issqlcompression": {
+ "description": "SQL compression flag",
+ "type": "boolean"
+ },
+ "isCompression": {
+ "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.",
+ "type": "boolean"
+ }
+ }
+ },
+ "SimpleRetentionPolicy": {
+ "description": "Simple policy retention.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RetentionPolicy"
+ }
+ ],
+ "properties": {
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of the protection policy."
+ }
+ },
+ "x-ms-discriminator-value": "SimpleRetentionPolicy"
+ },
+ "SimpleSchedulePolicy": {
+ "description": "Simple policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "properties": {
+ "scheduleRunFrequency": {
+ "description": "Frequency of the schedule operation of this policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ScheduleRunType",
+ "modelAsString": true
+ }
+ },
+ "scheduleRunDays": {
+ "description": "List of days of week this schedule has to be run.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "scheduleRunTimes": {
+ "description": "List of times of day this schedule has to be run.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "scheduleWeeklyFrequency": {
+ "format": "int32",
+ "description": "At every number weeks this schedule has to be run.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "SimpleSchedulePolicy"
+ },
+ "SubProtectionPolicy": {
+ "description": "Sub-protection policy which includes schedule and retention",
+ "type": "object",
+ "properties": {
+ "policyType": {
+ "description": "Type of backup policy type",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Differential",
+ "Log",
+ "CopyOnlyFull"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyType",
+ "modelAsString": true
+ }
+ },
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ }
+ }
+ },
+ "SQLDataDirectory": {
+ "description": "SQLDataDirectory info",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of data directory mapping",
+ "enum": [
+ "Invalid",
+ "Data",
+ "Log"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SQLDataDirectoryType",
+ "modelAsString": true
+ }
+ },
+ "path": {
+ "description": "File path",
+ "type": "string"
+ },
+ "logicalName": {
+ "description": "Logical name of the file",
+ "type": "string"
+ }
+ }
+ },
+ "SQLDataDirectoryMapping": {
+ "description": "Encapsulates information regarding data directory",
+ "type": "object",
+ "properties": {
+ "mappingType": {
+ "description": "Type of data directory mapping",
+ "enum": [
+ "Invalid",
+ "Data",
+ "Log"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SQLDataDirectoryType",
+ "modelAsString": true
+ }
+ },
+ "sourceLogicalName": {
+ "description": "Restore source logical name path",
+ "type": "string"
+ },
+ "sourcePath": {
+ "description": "Restore source path",
+ "type": "string"
+ },
+ "targetPath": {
+ "description": "Target path",
+ "type": "string"
+ }
+ }
+ },
+ "TargetAFSRestoreInfo": {
+ "description": "Target Azure File Share Info.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "File share name",
+ "type": "string"
+ },
+ "targetResourceId": {
+ "description": "Target file share resource ARM ID",
+ "type": "string"
+ }
+ }
+ },
+ "TargetRestoreInfo": {
+ "description": "Details about target workload during restore operation.",
+ "type": "object",
+ "properties": {
+ "overwriteOption": {
+ "description": "Can Overwrite if Target DataBase already exists",
+ "enum": [
+ "Invalid",
+ "FailOnConflict",
+ "Overwrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OverwriteOptions",
+ "modelAsString": true
+ }
+ },
+ "containerId": {
+ "description": "Resource Id name of the container in which Target DataBase resides",
+ "type": "string"
+ },
+ "databaseName": {
+ "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana",
+ "type": "string"
+ }
+ }
+ },
+ "ValidateIaasVMRestoreOperationRequest": {
+ "description": "AzureRestoreValidation request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidateRestoreOperationRequest"
+ }
+ ],
+ "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest"
+ },
+ "ValidateOperationRequest": {
+ "description": "Base class for validate operation request.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "ValidateOperationResponse": {
+ "description": "Base class for validate operation response.",
+ "type": "object",
+ "properties": {
+ "validationResults": {
+ "description": "Gets the validation result",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ }
+ },
+ "ValidateOperationsResponse": {
+ "type": "object",
+ "properties": {
+ "validateOperationResponse": {
+ "$ref": "#/definitions/ValidateOperationResponse"
+ }
+ }
+ },
+ "ValidateRestoreOperationRequest": {
+ "description": "AzureRestoreValidation request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidateOperationRequest"
+ }
+ ],
+ "properties": {
+ "restoreRequest": {
+ "$ref": "#/definitions/RestoreRequest",
+ "description": "Sets restore request to be validated"
+ }
+ },
+ "x-ms-discriminator-value": "ValidateRestoreOperationRequest"
+ },
+ "WeeklyRetentionFormat": {
+ "description": "Weekly retention format.",
+ "type": "object",
+ "properties": {
+ "daysOfTheWeek": {
+ "description": "List of days of the week.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "weeksOfTheMonth": {
+ "description": "List of weeks of month.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "First",
+ "Second",
+ "Third",
+ "Fourth",
+ "Last",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WeekOfMonth",
+ "modelAsString": false
+ }
+ }
+ }
+ }
+ },
+ "WeeklyRetentionSchedule": {
+ "description": "Weekly retention schedule.",
+ "type": "object",
+ "properties": {
+ "daysOfTheWeek": {
+ "description": "List of days of week for weekly retention policy.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "YearlyRetentionSchedule": {
+ "description": "Yearly retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionScheduleFormatType": {
+ "description": "Retention schedule format for yearly retention policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionScheduleFormat",
+ "modelAsString": true
+ }
+ },
+ "monthsOfYear": {
+ "description": "List of months of year of yearly retention policy.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MonthOfYear",
+ "modelAsString": false
+ }
+ }
+ },
+ "retentionScheduleDaily": {
+ "$ref": "#/definitions/DailyRetentionFormat",
+ "description": "Daily retention format for yearly retention policy."
+ },
+ "retentionScheduleWeekly": {
+ "$ref": "#/definitions/WeeklyRetentionFormat",
+ "description": "Weekly retention format for yearly retention policy."
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the recovery services vault is present.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "VaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account."
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupPolicies_List.json
new file mode 100644
index 000000000000..4a75aee73193
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupPolicies_List.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2019-05-13",
+ "$filter": "backupManagementType eq 'AzureIaasVM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy",
+ "name": "DefaultPolicy",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ }
+ },
+ "protectedItemsCount": 0
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupProtectedItems_List.json
similarity index 98%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupProtectedItems_List.json
index fc6f16f2f740..85d863d25ac1 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupProtectedItems_List.json
@@ -3,7 +3,7 @@
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "SwaggerTestRg",
"vaultName": "NetSDKTestRsVault",
- "api-version": "2017-07-01",
+ "api-version": "2019-05-13",
"$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'"
},
"responses": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
similarity index 98%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
index c1dfd15bc518..05d4554fbc30 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
@@ -6,7 +6,7 @@
"fabricName": "Azure",
"containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1",
"protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1",
- "api-version": "2016-12-01"
+ "api-version": "2019-05-13"
},
"responses": {
"200": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
similarity index 98%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
index 208c7be624ee..0ca6274f151f 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
@@ -6,7 +6,7 @@
"fabricName": "Azure",
"containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
"protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
- "api-version": "2016-12-01"
+ "api-version": "2019-05-13"
},
"responses": {
"200": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ConfigureProtection.json
similarity index 99%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ConfigureProtection.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ConfigureProtection.json
index 1bf08b3f954a..769b668cdf2e 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ConfigureProtection.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ConfigureProtection.json
@@ -6,7 +6,7 @@
"fabricName": "Azure",
"containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
"protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
- "api-version": "2016-12-01",
+ "api-version": "2019-05-13",
"parameters": {
"properties": {
"protectedItemType": "Microsoft.Compute/virtualMachines",
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectedItemOperationResults.json
similarity index 98%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationResults.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectedItemOperationResults.json
index 0c762abfe85c..cd6891cc3bdd 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationResults.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectedItemOperationResults.json
@@ -7,7 +7,7 @@
"containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
"protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
"operationId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2016-12-01"
+ "api-version": "2019-05-13"
},
"responses": {
"202": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json
new file mode 100644
index 000000000000..89eadde28b86
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json
@@ -0,0 +1,181 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2019-05-13",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "timeZone": "Pacific Standard Time",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleRunDays": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Wednesday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "First",
+ "Third"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "February",
+ "November"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "Fourth"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 4,
+ "durationType": "Years"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunDays": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ],
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Wednesday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "First",
+ "Third"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "February",
+ "November"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "Fourth"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 4,
+ "durationType": "Years"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
similarity index 98%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
index d8dba41bcaed..dfaff12a253e 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
@@ -4,7 +4,7 @@
"resourceGroupName": "SwaggerTestRg",
"vaultName": "NetSDKTestRsVault",
"policyName": "testPolicy1",
- "api-version": "2016-06-01",
+ "api-version": "2019-05-13",
"parameters": {
"properties": {
"backupManagementType": "AzureIaasVM",
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_Get.json
similarity index 97%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Get.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_Get.json
index 6a698287fb6a..1b23850ebc11 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Get.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_Get.json
@@ -4,7 +4,7 @@
"resourceGroupName": "SwaggerTestRg",
"vaultName": "NetSDKTestRsVault",
"policyName": "testPolicy1",
- "api-version": "2016-06-01"
+ "api-version": "2019-05-13"
},
"responses": {
"200": {
@@ -40,4 +40,4 @@
}
}
}
-}
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
similarity index 97%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
index a3dbfc71880a..6fe8240dee89 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
@@ -5,7 +5,7 @@
"vaultName": "NetSDKTestRsVault",
"policyName": "testPolicy1",
"operationId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2016-06-01"
+ "api-version": "2019-05-13"
},
"responses": {
"200": {
@@ -41,4 +41,4 @@
}
}
}
-}
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_Get.json
similarity index 98%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_Get.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_Get.json
index ed014826ff8e..02afdf9cab49 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_Get.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_Get.json
@@ -7,7 +7,7 @@
"containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
"protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
"recoveryPointId": "26083826328862",
- "api-version": "2016-12-01"
+ "api-version": "2019-05-13"
},
"responses": {
"200": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_List.json
similarity index 99%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_List.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_List.json
index 497d446ccfa0..6504b3546ee9 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_List.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_List.json
@@ -6,7 +6,7 @@
"fabricName": "Azure",
"containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
"protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
- "api-version": "2016-12-01"
+ "api-version": "2019-05-13"
},
"responses": {
"200": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/StopProtection.json
similarity index 99%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/StopProtection.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/StopProtection.json
index 0b7b463098e9..d56e6aa4bb0c 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/StopProtection.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/StopProtection.json
@@ -6,7 +6,7 @@
"fabricName": "Azure",
"containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
"protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
- "api-version": "2016-12-01",
+ "api-version": "2019-05-13",
"parameters": {
"properties": {
"protectedItemType": "Microsoft.Compute/virtualMachines",
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_ALR.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_ALR.json
similarity index 98%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_ALR.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_ALR.json
index 59e09648760c..fb8a85232a4c 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_ALR.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_ALR.json
@@ -7,7 +7,7 @@
"containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
"protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
"recoveryPointId": "348916168024334",
- "api-version": "2016-12-01",
+ "api-version": "2019-05-13",
"parameters": {
"properties": {
"objectType": "IaasVMRestoreRequest",
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json
similarity index 98%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json
index 9bdc518fb293..c0156c200bf7 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json
@@ -7,7 +7,7 @@
"containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
"protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
"recoveryPointId": "348916168024334",
- "api-version": "2016-12-01",
+ "api-version": "2019-05-13",
"parameters": {
"properties": {
"objectType": "IaasVMRestoreRequest",
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json
similarity index 97%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json
index 4e4623565cb9..b180346e6f16 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json
@@ -7,7 +7,7 @@
"containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName",
"protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName",
"recoveryPointId": "348916168024334",
- "api-version": "2017-07-01",
+ "api-version": "2019-05-13",
"parameters": {
"objectType": "ValidateIaasVMRestoreOperationRequest",
"restoreRequest": {
@@ -43,4 +43,4 @@
}
}
}
-}
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureWorkload/BackupPolicies_List.json
new file mode 100644
index 000000000000..e8545932fafe
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureWorkload/BackupPolicies_List.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2019-05-13",
+ "$filter": "backupManagementType eq 'AzureWorkload'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup",
+ "name": "HourlyLogBackup",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "workLoadType": "SQLDataBase",
+ "settings": {
+ "timeZone": "UTC",
+ "issqlcompression": false
+ },
+ "subProtectionPolicy": [
+ {
+ "policyType": "Full",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ }
+ }
+ },
+ {
+ "policyType": "Log",
+ "schedulePolicy": {
+ "schedulePolicyType": "LogSchedulePolicy",
+ "scheduleFrequencyInMins": 60
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ }
+ }
+ ],
+ "protectedItemsCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json
new file mode 100644
index 000000000000..23d785b1cb06
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json
@@ -0,0 +1,260 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2019-05-13",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "workLoadType": "SQLDataBase",
+ "settings": {
+ "timeZone": "Pacific Standard Time",
+ "issqlcompression": false
+ },
+ "subProtectionPolicy": [
+ {
+ "policyType": "Full",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleRunDays": [
+ "Sunday",
+ "Tuesday"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday",
+ "Tuesday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Second"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January",
+ "June",
+ "December"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Last"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Years"
+ }
+ }
+ }
+ },
+ {
+ "policyType": "Differential",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleRunDays": [
+ "Friday"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 8,
+ "durationType": "Days"
+ }
+ }
+ },
+ {
+ "policyType": "Log",
+ "schedulePolicy": {
+ "schedulePolicyType": "LogSchedulePolicy",
+ "scheduleFrequencyInMins": 60
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 7,
+ "durationType": "Days"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "workLoadType": "SQLDataBase",
+ "settings": {
+ "timeZone": "Pacific Standard Time",
+ "issqlcompression": false
+ },
+ "subProtectionPolicy": [
+ {
+ "policyType": "Full",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunDays": [
+ "Sunday",
+ "Tuesday"
+ ],
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday",
+ "Tuesday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Second"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January",
+ "June",
+ "December"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Last"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Years"
+ }
+ }
+ }
+ },
+ {
+ "policyType": "Differential",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunDays": [
+ "Friday"
+ ],
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 8,
+ "durationType": "Days"
+ }
+ }
+ },
+ {
+ "policyType": "Log",
+ "schedulePolicy": {
+ "schedulePolicyType": "LogSchedulePolicy",
+ "scheduleFrequencyInMins": 60
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 7,
+ "durationType": "Days"
+ }
+ }
+ }
+ ],
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Get.json
similarity index 81%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Get.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Get.json
index fcb899e0736e..2b7272148657 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Get.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Get.json
@@ -3,7 +3,7 @@
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "SwaggerTestRg",
"vaultName": "SwaggerTest",
- "api-version": "2016-12-01"
+ "api-version": "2019-05-13"
},
"responses": {
"200": {
@@ -12,7 +12,8 @@
"name": "vaultconfig",
"type": "Microsoft.RecoveryServices/vaults/backupconfig",
"properties": {
- "enhancedSecurityState": "Enabled"
+ "enhancedSecurityState": "Enabled",
+ "softDeleteFeatureState": "Enabled"
}
}
}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Patch.json
new file mode 100644
index 000000000000..aa044378b4df
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Patch.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2019-05-13",
+ "parameters": {
+ "properties": {
+ "enhancedSecurityState": "Enabled",
+ "softDeleteFeatureState": "Disabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig",
+ "name": "vaultconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupconfig",
+ "properties": {
+ "enhancedSecurityState": "Enabled",
+ "softDeleteFeatureState": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/CancelJobOperationResult.json
similarity index 95%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/CancelJobOperationResult.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/CancelJobOperationResult.json
index 2420e329a3b1..c9c4de9a3239 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/CancelJobOperationResult.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/CancelJobOperationResult.json
@@ -5,7 +5,7 @@
"vaultName": "NetSDKTestRsVault",
"jobName": "00000000-0000-0000-0000-000000000000",
"operationId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-07-01"
+ "api-version": "2019-05-13"
},
"responses": {
"204": {},
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ExportJobsOperationResult.json
similarity index 97%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ExportJobsOperationResult.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ExportJobsOperationResult.json
index 658857ed4bfe..dfd2371f40e1 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ExportJobsOperationResult.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ExportJobsOperationResult.json
@@ -4,7 +4,7 @@
"resourceGroupName": "SwaggerTestRg",
"vaultName": "NetSDKTestRsVault",
"operationId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-07-01"
+ "api-version": "2019-05-13"
},
"responses": {
"200": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/GetJobDetails.json
similarity index 97%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/GetJobDetails.json
index b6ce62c4e69d..f2ca44612c86 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/GetJobDetails.json
@@ -4,7 +4,7 @@
"resourceGroupName": "SwaggerTestRg",
"vaultName": "NetSDKTestRsVault",
"jobName": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-07-01"
+ "api-version": "2019-05-13"
},
"responses": {
"200": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobs.json
similarity index 98%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobs.json
index 78d9a70b88f3..2fd11a66f8ce 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobs.json
@@ -3,7 +3,7 @@
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "SwaggerTestRg",
"vaultName": "NetSDKTestRsVault",
- "api-version": "2017-07-01"
+ "api-version": "2019-05-13"
},
"responses": {
"200": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithAllSupportedFilters.json
similarity index 97%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithAllSupportedFilters.json
index bd6bdf4a9147..e796396846fb 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithAllSupportedFilters.json
@@ -3,7 +3,7 @@
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "SwaggerTestRg",
"vaultName": "NetSDKTestRsVault",
- "api-version": "2017-07-01",
+ "api-version": "2019-05-13",
"$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'"
},
"responses": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
similarity index 98%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
index dd7bdd1125d6..064e8ce9b8ef 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
@@ -3,7 +3,7 @@
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "SwaggerTestRg",
"vaultName": "NetSDKTestRsVault",
- "api-version": "2017-07-01",
+ "api-version": "2019-05-13",
"$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'"
},
"responses": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ProtectedItem_Delete.json
similarity index 97%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ProtectedItem_Delete.json
index caf0847f389c..10015f9ec309 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ProtectedItem_Delete.json
@@ -6,7 +6,7 @@
"fabricName": "Azure",
"containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
"protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
- "api-version": "2016-12-01"
+ "api-version": "2019-05-13"
},
"responses": {
"202": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerCancelJob.json
similarity index 95%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerCancelJob.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerCancelJob.json
index 4107a8be21ef..097ac0743640 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerCancelJob.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerCancelJob.json
@@ -4,7 +4,7 @@
"resourceGroupName": "SwaggerTestRg",
"vaultName": "NetSDKTestRsVault",
"jobName": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-07-01"
+ "api-version": "2019-05-13"
},
"responses": {
"202": {
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerExportJobs.json
similarity index 94%
rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/TriggerExportJobs.json
rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerExportJobs.json
index 8b01e80dc2f3..d70c8bd6e771 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/TriggerExportJobs.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerExportJobs.json
@@ -3,7 +3,7 @@
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "SwaggerTestRg",
"vaultName": "NetSDKTestRsVault",
- "api-version": "2017-07-01"
+ "api-version": "2019-05-13"
},
"responses": {
"202": {
diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md
index 9315eb24ef73..1512b75d04f2 100644
--- a/specification/recoveryservicesbackup/resource-manager/readme.md
+++ b/specification/recoveryservicesbackup/resource-manager/readme.md
@@ -52,6 +52,7 @@ These settings apply only when `--tag=package-2017-07` is specified on the comma
``` yaml $(tag) == 'package-2017-07'
input-file:
+- Microsoft.RecoveryServices/stable/2019-05-13/bms.json
- Microsoft.RecoveryServices/stable/2017-07-01/bms.json
- Microsoft.RecoveryServices/stable/2016-12-01/bms.json
- Microsoft.RecoveryServices/stable/2016-08-10/operations.json
@@ -152,6 +153,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.RecoveryServices/stable/2019-05-13/bms.json
- $(this-folder)/Microsoft.RecoveryServices/stable/2017-07-01/bms.json
- $(this-folder)/Microsoft.RecoveryServices/stable/2016-12-01/bms.json
- $(this-folder)/Microsoft.RecoveryServices/stable/2016-08-10/operations.json
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/CalculateReservationOrder.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/CalculateReservationOrder.json
index 340a5e23d8f0..7b653eef3672 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/CalculateReservationOrder.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/CalculateReservationOrder.json
@@ -10,6 +10,7 @@
"reservedResourceType": "VirtualMachines",
"billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83",
"term": "P1Y",
+ "billingPlan": "Monthly",
"quantity": "1",
"displayName": "TestReservationOrder",
"appliedScopes": null,
@@ -26,15 +27,42 @@
"properties": {
"billingCurrencyTotal": {
"currencyCode": "USD",
- "amount": 466.0
+ "amount": 46.0
},
"reservationOrderId": "6d9cec54-7de8-abcd-9de7-80f5d634f2d2",
"skuTitle": "Reserved VM Instance, Standard_D1, US West, 1 Year",
"skuDescription": "standard_D1",
"pricingCurrencyTotal": {
"currencyCode": "USD",
- "amount": 466.0
- }
+ "amount": 46.0
+ },
+ "paymentSchedule": [
+ {
+ "dueDate": "2019-05-14",
+ "pricingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 46
+ },
+ "billingCurrencyTotal": {
+ "currencyCode": "EUR",
+ "amount": 40
+ }
+ },
+ {
+ "dueDate": "2019-06-14",
+ "pricingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 46
+ }
+ },
+ {
+ "dueDate": "2019-07-14",
+ "pricingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 46
+ }
+ }
+ ]
}
}
}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetCatalog.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetCatalog.json
index 336b3863dd02..8676291c7d5e 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetCatalog.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetCatalog.json
@@ -15,6 +15,20 @@
"P1Y",
"P3Y"
],
+ "billingPlans": [
+ {
+ "P1Y": [
+ "Upfront",
+ "Monthly"
+ ]
+ },
+ {
+ "P3Y": [
+ "Upfront",
+ "Monthly"
+ ]
+ }
+ ],
"locations": [
"eastus"
],
@@ -49,6 +63,20 @@
"P1Y",
"P3Y"
],
+ "billingPlans": [
+ {
+ "P1Y": [
+ "Upfront",
+ "Monthly"
+ ]
+ },
+ {
+ "P3Y": [
+ "Upfront",
+ "Monthly"
+ ]
+ }
+ ],
"locations": [
"eastus"
],
@@ -98,6 +126,20 @@
"P1Y",
"P3Y"
],
+ "billingPlans": [
+ {
+ "P1Y": [
+ "Upfront",
+ "Monthly"
+ ]
+ },
+ {
+ "P3Y": [
+ "Upfront",
+ "Monthly"
+ ]
+ }
+ ],
"locations": [
"eastus"
],
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationDetails.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationDetails.json
index 4956a8ec4b00..39020e6878a8 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationDetails.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationDetails.json
@@ -25,6 +25,7 @@
"renewDestination": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7",
"billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a",
"appliedScopeType": "Single",
+ "billingPlan": "Monthly",
"quantity": 3,
"provisioningState": "Succeeded",
"expiryDate": "2018-09-22",
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationOrderDetails.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationOrderDetails.json
index c0cf7b3e07ba..7c6fe5fd45bf 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationOrderDetails.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationOrderDetails.json
@@ -16,6 +16,7 @@
"createdDateTime": "2017-08-30T03:51:49.8083758Z",
"expiryDate": "2018-08-30",
"term": "P1Y",
+ "billingPlan": "Monthly",
"provisioningState": "Succeeded",
"reservations": [
{
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationOrderDetailsWithExpandPlanInformation.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationOrderDetailsWithExpandPlanInformation.json
new file mode 100644
index 000000000000..b8c8fba5e972
--- /dev/null
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationOrderDetailsWithExpandPlanInformation.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "api-version": "2019-04-01",
+ "reservationOrderId": "a075419f-44cc-497f-b68a-14ee811d48b9",
+ "$expand": "schedule"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa",
+ "type": "Microsoft.Capacity/reservationOrders",
+ "name": "1f14354c-dc12-4c8d-8090-6f295a3a34aa",
+ "etag": 7,
+ "properties": {
+ "displayName": "cabri",
+ "requestDateTime": "2019-08-30T03:49:19Z",
+ "createdDateTime": "2019-08-30T03:51:49Z",
+ "expiryDate": "2018-08-30",
+ "term": "P1Y",
+ "billingPlan": "Monthly",
+ "provisioningState": "Succeeded",
+ "reservations": [
+ {
+ "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6"
+ }
+ ],
+ "originalQuantity": 7,
+ "planInformation": {
+ "pricingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 466
+ },
+ "startDate": "2019-08-30",
+ "nextPaymentDueDate": "2019-09-30",
+ "transactions": [
+ {
+ "dueDate": "2019-09-30",
+ "paymentDate": "2019-09-30",
+ "status": "Succeeded",
+ "pricingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 466
+ },
+ "billingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 466
+ },
+ "billingAccount": "23456"
+ },
+ {
+ "dueDate": "2019-10-30",
+ "paymentDate": "2019-10-30",
+ "status": "Failed",
+ "pricingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 466
+ },
+ "billingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 466
+ },
+ "extendedStatusInfo": {
+ "statusCode": "PaymentDeclined",
+ "message": "Credit card charge failed."
+ },
+ "billingAccount": "23456"
+ },
+ {
+ "dueDate": "2019-10-31",
+ "paymentDate": "2019-10-31",
+ "status": "Succeeded",
+ "pricingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 466
+ },
+ "billingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 466
+ },
+ "billingAccount": "23456"
+ },
+ {
+ "dueDate": "2019-11-30",
+ "paymentDate": "2019-11-30",
+ "status": "Succeeded",
+ "pricingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 466
+ },
+ "billingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 466
+ },
+ "billingAccount": "23456"
+ },
+ {
+ "dueDate": "2019-07-14",
+ "paymentDate": "2019-06-14",
+ "status": "Scheduled",
+ "pricingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 466
+ },
+ "billingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 466
+ },
+ "billingAccount": "23456"
+ },
+ {
+ "dueDate": "2019-06-14",
+ "paymentDate": "2019-08-14",
+ "status": "Scheduled",
+ "pricingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 466
+ },
+ "billingCurrencyTotal": {
+ "currencyCode": "USD",
+ "amount": 466
+ },
+ "billingAccount": "23456"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationOrders.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationOrders.json
index 9da256509b19..63729d2c7691 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationOrders.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationOrders.json
@@ -17,6 +17,7 @@
"createdDateTime": "2017-08-29T21:22:56.8541664Z",
"expiryDate": "2018-08-29",
"term": "P1Y",
+ "billingPlan": "Monthly",
"provisioningState": "Succeeded",
"reservations": [
{
@@ -37,6 +38,7 @@
"createdDateTime": "2017-08-30T12:58:20.526Z",
"expiryDate": "2018-08-30",
"term": "P1Y",
+ "billingPlan": "Monthly",
"provisioningState": "Succeeded",
"reservations": [
{
@@ -57,6 +59,7 @@
"createdDateTime": "2017-08-30T03:51:49.8083758Z",
"expiryDate": "2018-08-30",
"term": "P1Y",
+ "billingPlan": "Monthly",
"provisioningState": "Succeeded",
"reservations": [
{
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationRevisions.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationRevisions.json
index 5d39f4459ce8..645065f95057 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationRevisions.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservationRevisions.json
@@ -23,6 +23,7 @@
"provisioningState": "Succeeded",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T23:57:48.1891638Z",
"lastUpdatedDateTime": "2017-09-22T23:57:54.3768768Z",
"reservedResourceType": "VirtualMachines",
@@ -54,6 +55,7 @@
"provisioningState": "Succeeded",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T22:46:32.7632798Z",
"extendedStatusInfo": {
"statusCode": "Pending",
@@ -89,6 +91,7 @@
"provisioningState": "Succeeded",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T22:46:32.7632798Z",
"lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z",
"reservedResourceType": "VirtualMachines",
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservations.json
index 7d4e8a335f80..ee1a0d7acadc 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservations.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetReservations.json
@@ -27,6 +27,7 @@
"provisioningState": "Cancelled",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T01:00:30.9253826Z",
"extendedStatusInfo": {
"statusCode": "Split",
@@ -64,6 +65,7 @@
"provisioningState": "Cancelled",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T22:46:32.7632798Z",
"extendedStatusInfo": {
"statusCode": "Merged",
@@ -101,6 +103,7 @@
"provisioningState": "Cancelled",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T22:46:32.7632798Z",
"extendedStatusInfo": {
"statusCode": "Merged",
@@ -138,6 +141,7 @@
"provisioningState": "Succeeded",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T22:46:32.7632798Z",
"lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z",
"reservedResourceType": "VirtualMachines",
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/MergeReservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/MergeReservations.json
index f5b46e7e3bd7..d898b0b83cd3 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/MergeReservations.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/MergeReservations.json
@@ -34,6 +34,7 @@
"provisioningState": "Cancelled",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T22:46:32.7632798Z",
"extendedStatusInfo": {
"statusCode": "Merged",
@@ -71,6 +72,7 @@
"provisioningState": "Cancelled",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T22:46:32.7632798Z",
"extendedStatusInfo": {
"statusCode": "Merged",
@@ -108,6 +110,7 @@
"provisioningState": "Succeeded",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T22:46:32.7632798Z",
"lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z",
"reservedResourceType": "VirtualMachines",
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/PurchaseReservationOrder.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/PurchaseReservationOrder.json
index 7ca424b72af8..1666a037a0cb 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/PurchaseReservationOrder.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/PurchaseReservationOrder.json
@@ -11,6 +11,7 @@
"reservedResourceType": "VirtualMachines",
"billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83",
"term": "P1Y",
+ "billingPlan": "Monthly",
"quantity": "1",
"displayName": "TestReservationOrder",
"appliedScopes": null,
@@ -35,6 +36,7 @@
"createdDateTime": "2017-08-30T03:51:49.8083758Z",
"expiryDate": "2018-08-30",
"term": "P1Y",
+ "billingPlan": "Monthly",
"provisioningState": "Succeeded",
"reservations": [
{
@@ -53,6 +55,7 @@
"etag": 7,
"properties": {
"displayName": "cabri",
+ "billingPlan": "Monthly",
"requestDateTime": "2017-08-30T03:49:19.0252126Z",
"createdDateTime": "2017-08-30T03:51:49.8083758Z",
"expiryDate": "2018-08-30",
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/SplitReservation.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/SplitReservation.json
index e16d637755a0..3d658842b477 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/SplitReservation.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/SplitReservation.json
@@ -35,6 +35,7 @@
"provisioningState": "Succeeded",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T01:00:30.9253826Z",
"lastUpdatedDateTime": "2017-09-22T01:00:36.3191627Z",
"reservedResourceType": "VirtualMachines",
@@ -65,6 +66,7 @@
"provisioningState": "Succeeded",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T01:00:30.9253826Z",
"lastUpdatedDateTime": "2017-09-22T01:00:36.3191627Z",
"reservedResourceType": "VirtualMachines",
@@ -95,6 +97,7 @@
"provisioningState": "Cancelled",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T01:00:30.9253826Z",
"extendedStatusInfo": {
"statusCode": "Split",
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/UpdateReservation.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/UpdateReservation.json
index 107ebee173db..c54e744d1ebe 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/UpdateReservation.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/UpdateReservation.json
@@ -29,6 +29,7 @@
"provisioningState": "Succeeded",
"expiryDate": "2018-09-22",
"displayName": "cabri_test",
+ "billingPlan": "Monthly",
"effectiveDateTime": "2017-09-22T23:57:48.1891638Z",
"lastUpdatedDateTime": "2017-09-22T23:57:54.3768768Z",
"reservedResourceType": "VirtualMachines",
diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json
index f57d4440c5bc..cb97e39ac050 100644
--- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json
+++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json
@@ -119,7 +119,7 @@
"/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/appliedReservations": {
"get": {
"summary": "Get list of applicable `Reservation`s.",
- "description": "Get applicable `Reservation`s that are applied to this subscription.",
+ "description": "Get applicable `Reservation`s that are applied to this subscription or a resource group under this subscription.",
"operationId": "GetAppliedReservationList",
"x-ms-examples": {
"AppliedReservationList": {
@@ -283,6 +283,9 @@
"x-ms-examples": {
"GetReservation": {
"$ref": "./examples/GetReservationOrderDetails.json"
+ },
+ "GetReservationWithExpandPayments": {
+ "$ref": "./examples/GetReservationOrderDetailsWithExpandPlanInformation.json"
}
},
"parameters": [
@@ -291,6 +294,13 @@
},
{
"$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the planInformation.",
+ "in": "query",
+ "required": false,
+ "type": "string"
}
],
"tags": [
@@ -323,6 +333,9 @@
}
},
"x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
"parameters": [
{
"$ref": "#/parameters/ReservationOrderIdParameter"
@@ -370,6 +383,9 @@
}
},
"x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
"parameters": [
{
"$ref": "#/parameters/ReservationOrderIdParameter"
@@ -720,6 +736,25 @@
"description": "The name of SKU",
"readOnly": true
},
+ "billingPlans": {
+ "type": "array",
+ "description": "The billing plan options available for this SKU.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/ReservationTerm",
+ "description": "The term for the billing SKU is available for."
+ }
+ },
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReservationBillingPlan"
+ }
+ }
+ }
+ },
"terms": {
"type": "array",
"readOnly": true,
@@ -813,6 +848,18 @@
}
}
},
+ "ReservationBillingPlan": {
+ "type": "string",
+ "description": "Represent the billing plans.",
+ "enum": [
+ "Upfront",
+ "Monthly"
+ ],
+ "x-ms-enum": {
+ "name": "ReservationBillingPlan",
+ "modelAsString": true
+ }
+ },
"ReservationTerm": {
"type": "string",
"description": "Represent the term of Reservation.",
@@ -825,6 +872,80 @@
"modelAsString": true
}
},
+ "PaymentStatus": {
+ "type": "string",
+ "description": "Describes whether the payment is completed, failed, cancelled or scheduled in the future.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Scheduled",
+ "Cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "PaymentStatus",
+ "modelAsString": true
+ }
+ },
+ "PaymentDetail": {
+ "type": "object",
+ "description": "Information about payment related to a reservation order.",
+ "properties": {
+ "dueDate": {
+ "type": "string",
+ "format": "date",
+ "description": "Date when the payment needs to be done."
+ },
+ "paymentDate": {
+ "type": "string",
+ "format": "date",
+ "description": "Date when the transaction is completed. Is null when it is scheduled."
+ },
+ "pricingCurrencyTotal": {
+ "$ref": "#/definitions/Price",
+ "description": "Amount in pricing currency. Tax not included."
+ },
+ "billingCurrencyTotal": {
+ "$ref": "#/definitions/Price",
+ "description": "Amount charged in Billing currency. Tax not included. Is null for future payments"
+ },
+ "billingAccount": {
+ "type": "string",
+ "description": "Shows the Account that is charged for this payment."
+ },
+ "status": {
+ "$ref": "#/definitions/PaymentStatus"
+ },
+ "extendedStatusInfo": {
+ "$ref": "#/definitions/ExtendedStatusInfo"
+ }
+ }
+ },
+ "ReservationOrderBillingPlanInformation": {
+ "type": "object",
+ "description": "Information describing the type of billing plan for this reservation.",
+ "properties": {
+ "pricingCurrencyTotal": {
+ "$ref": "#/definitions/Price",
+ "description": "Amount of money to be paid for the Order. Tax is not included."
+ },
+ "startDate": {
+ "type": "string",
+ "format": "date",
+ "description": "Date when the billing plan has started."
+ },
+ "nextPaymentDueDate": {
+ "type": "string",
+ "format": "date",
+ "description": "For recurring billing plans, indicates the date when next payment will be processed. Null when total is paid off."
+ },
+ "transactions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PaymentDetail"
+ }
+ }
+ }
+ },
"ReservationOrderProperties": {
"type": "object",
"properties": {
@@ -857,6 +978,12 @@
"type": "string",
"description": "Current state of the reservation."
},
+ "billingPlan": {
+ "$ref": "#/definitions/ReservationBillingPlan"
+ },
+ "planInformation": {
+ "$ref": "#/definitions/ReservationOrderBillingPlanInformation"
+ },
"reservations": {
"type": "array",
"items": {
@@ -982,6 +1109,12 @@
"type": "number"
}
}
+ },
+ "paymentSchedule": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PaymentDetail"
+ }
}
}
},
@@ -1034,6 +1167,9 @@
"extendedStatusInfo": {
"$ref": "#/definitions/ExtendedStatusInfo"
},
+ "billingPlan": {
+ "$ref": "#/definitions/ReservationBillingPlan"
+ },
"splitProperties": {
"$ref": "#/definitions/ReservationSplitProperties"
},
@@ -1106,6 +1242,9 @@
"term": {
"$ref": "#/definitions/ReservationTerm"
},
+ "billingPlan": {
+ "$ref": "#/definitions/ReservationBillingPlan"
+ },
"quantity": {
"$ref": "#/definitions/ReservationQuantity"
},
@@ -1484,6 +1623,19 @@
"name": "ReservedResourceType",
"modelAsString": true
}
+ },
+ "Price": {
+ "type": "object",
+ "properties": {
+ "currencyCode": {
+ "type": "string",
+ "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record."
+ },
+ "amount": {
+ "type": "number",
+ "format": "double"
+ }
+ }
}
},
"parameters": {
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2018-09-01-preview/examples/OperationsList.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2018-09-01-preview/examples/OperationsList.json
index 2970577f27fc..0d4bfecccfbb 100644
--- a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2018-09-01-preview/examples/OperationsList.json
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2018-09-01-preview/examples/OperationsList.json
@@ -7,7 +7,16 @@
"body": {
"value": [
{
- "name": "Microsoft.ResourceGraph/resources/action",
+ "name": "Microsoft.ResourceGraph/operations/read",
+ "display": {
+ "provider": "Microsoft Resource Graph",
+ "resource": "Operation",
+ "operation": "Get Operations",
+ "description": "Gets the list of supported operations"
+ }
+ },
+ {
+ "name": "Microsoft.ResourceGraph/resources/read",
"display": {
"provider": "Microsoft Resource Graph",
"resource": "Resources",
@@ -16,12 +25,48 @@
}
},
{
- "name": "Microsoft.ResourceGraph/queries/action",
+ "name": "Microsoft.ResourceGraph/resourceChanges/read",
+ "display": {
+ "provider": "Microsoft Resource Graph",
+ "resource": "Resource Changes",
+ "operation": "Query resource changes",
+ "description": "Lists changes to a resource for a given time interval"
+ }
+ },
+ {
+ "name": "Microsoft.ResourceGraph/resourceChangeDetails/read",
+ "display": {
+ "provider": "Microsoft Resource Graph",
+ "resource": "Resource Change Details",
+ "operation": "Query resource change details",
+ "description": "Gets the details of the specified resource change"
+ }
+ },
+ {
+ "name": "Microsoft.ResourceGraph/queries/read",
+ "display": {
+ "provider": "Microsoft Resource Graph",
+ "resource": "Resource Graph Queries",
+ "operation": "Read resource graph queries",
+ "description": "Gets the specified graph query"
+ }
+ },
+ {
+ "name": "Microsoft.ResourceGraph/queries/delete",
+ "display": {
+ "provider": "Microsoft Resource Graph",
+ "resource": "Resource Graph Queries",
+ "operation": "Delete resource graph queries",
+ "description": "Deletes the specified graph query"
+ }
+ },
+ {
+ "name": "Microsoft.ResourceGraph/queries/write",
"display": {
"provider": "Microsoft Resource Graph",
- "resource": "Queries",
- "operation": "CRUD operations of graph queries",
- "description": "Create/Update/Retrieve a query within specified subscription and resource group."
+ "resource": "Resource Graph Queries",
+ "operation": "Create/Update resource graph queries",
+ "description": "Creates/Updates the specified graph query"
}
}
]
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/OperationsList.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/OperationsList.json
index c3d1cfb273da..290553699aa6 100644
--- a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/OperationsList.json
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/OperationsList.json
@@ -7,7 +7,16 @@
"body": {
"value": [
{
- "name": "Microsoft.ResourceGraph/resources/action",
+ "name": "Microsoft.ResourceGraph/operations/read",
+ "display": {
+ "provider": "Microsoft Resource Graph",
+ "resource": "Operation",
+ "operation": "Get Operations",
+ "description": "Gets the list of supported operations"
+ }
+ },
+ {
+ "name": "Microsoft.ResourceGraph/resources/read",
"display": {
"provider": "Microsoft Resource Graph",
"resource": "Resources",
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/ResourceHealth.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/ResourceHealth.json
new file mode 100644
index 000000000000..ae1f68e94f85
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/ResourceHealth.json
@@ -0,0 +1,1120 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-07-01",
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ViewParameter"
+ }
+ ],
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ViewParameter"
+ }
+ ],
+ "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/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"
+ }
+ }
+ },
+ "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"
+ },
+ "occurredTime": {
+ "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
+ }
+ }
+ },
+ "MetadataEntityListResult": {
+ "description": "The list of metadata entities",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of metadata entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataEntity"
+ }
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of metadata.",
+ "type": "string"
+ }
+ }
+ },
+ "MetadataEntity": {
+ "description": "The metadata entity contract.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MetadataEntityProperties",
+ "description": "The metadata entity properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "MetadataEntityProperties": {
+ "description": "The metadata entity properties",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "description": "The display name.",
+ "type": "string"
+ },
+ "dependsOn": {
+ "description": "The list of keys on which this entity depends on.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "applicableScenarios": {
+ "description": "The list of scenarios applicable to this metadata entity.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Alerts"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Scenario",
+ "modelAsString": true
+ }
+ }
+ },
+ "supportedValues": {
+ "description": "The list of supported values.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataSupportedValueDetail"
+ }
+ }
+ }
+ },
+ "MetadataSupportedValueDetail": {
+ "description": "The metadata supported value detail.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The display name.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "ViewParameter": {
+ "name": "view",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "setting view=full expands the article parameters"
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/AvailabilityStatus_GetByResource.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/AvailabilityStatus_GetByResource.json
new file mode 100644
index 000000000000..6f4a11e5f023
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/AvailabilityStatus_GetByResource.json
@@ -0,0 +1,40 @@
+{
+ "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",
+ "occurredTime": "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"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/AvailabilityStatuses_List.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/AvailabilityStatuses_List.json
new file mode 100644
index 000000000000..c2113bfbc52b
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/AvailabilityStatuses_List.json
@@ -0,0 +1,60 @@
+{
+ "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",
+ "occurredTime": "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",
+ "occurredTime": "2016-03-28T16:23:00Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/AvailabilityStatuses_ListByResourceGroup.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/AvailabilityStatuses_ListByResourceGroup.json
new file mode 100644
index 000000000000..304f8af24afb
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/AvailabilityStatuses_ListByResourceGroup.json
@@ -0,0 +1,73 @@
+{
+ "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",
+ "occurredTime": "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",
+ "occurredTime": "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}"
+ }
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/AvailabilityStatuses_ListBySubscriptionId.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/AvailabilityStatuses_ListBySubscriptionId.json
new file mode 100644
index 000000000000..279e15c29ae3
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/AvailabilityStatuses_ListBySubscriptionId.json
@@ -0,0 +1,72 @@
+{
+ "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",
+ "occurredTime": "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",
+ "occurredTime": "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}"
+ }
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/Events_ListBySingleResource.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/Events_ListBySingleResource.json
new file mode 100644
index 000000000000..344b1d11a36f
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-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/stable/2018-07-01/examples/Events_ListBySubscriptionId.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/Events_ListBySubscriptionId.json
new file mode 100644
index 000000000000..11c578ca672a
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-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/readme.md b/specification/resourcehealth/resource-manager/readme.md
index 76e2d028cb4d..7ab9b0ae9535 100644
--- a/specification/resourcehealth/resource-manager/readme.md
+++ b/specification/resourcehealth/resource-manager/readme.md
@@ -58,6 +58,15 @@ input-file:
- Microsoft.ResourceHealth/preview/2018-08-01/ResourceHealth.json
```
+### Tag: package-2018-07-01
+
+These settings apply only when `--tag=package-2018-07-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-07-01'
+input-file:
+- Microsoft.ResourceHealth/stable/2018-07-01/ResourceHealth.json
+```
+
---
# Code Generation
@@ -106,6 +115,7 @@ batch:
- tag: package-2017-07
- tag: package-2015-01
- tag: package-2018-08-preview
+ - tag: package-2018-07-01
```
### Tag: package-2017-07 and java
@@ -145,6 +155,18 @@ java:
regenerate-manager: true
generate-interface: true
```
+### Tag: package-2018-07-01 and java
+
+These settings apply only when `--tag=package-2018-07-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2018-07-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.resourcehealth.v2018_08_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/resourcehealth/resource-manager/v2018_08_01_preview
+regenerate-manager: true
+generate-interface: true
+```
## Multi-API/Profile support for AutoRest v3 generators
@@ -162,6 +184,7 @@ input-file:
- $(this-folder)/Microsoft.ResourceHealth/stable/2017-07-01/resourcehealth.json
- $(this-folder)/Microsoft.ResourceHealth/stable/2015-01-01/resourcehealth.json
- $(this-folder)/Microsoft.ResourceHealth/preview/2018-08-01/ResourceHealth.json
+ - $(this-folder)/Microsoft.ResourceHealth/stable/2018-07-01/ResourceHealth.json
```
diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json
new file mode 100644
index 000000000000..77547dde71bf
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json
@@ -0,0 +1,892 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "DeploymentScriptsClient",
+ "description": "The APIs listed in this specification can be used to manage Deployment Scripts resource through the Azure Resource Manager.",
+ "version": "2019-10-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.Resources/deploymentScripts/{scriptName}": {
+ "put": {
+ "tags": [
+ "DeploymentScripts"
+ ],
+ "operationId": "DeploymentScripts_Create",
+ "description": "Creates a deployment script.",
+ "x-ms-examples": {
+ "DeploymentScriptsCreate": {
+ "$ref": "./examples/DeploymentScripts_Create.json"
+ },
+ "DeploymentScriptsCreate_MinCreate": {
+ "$ref": "./examples/DeploymentScripts_Min_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScriptNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "deploymentScript",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeploymentScript"
+ },
+ "description": "Deployment script supplied to the operation."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created -- Deployment script created.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentScript"
+ }
+ },
+ "200": {
+ "description": "OK -- Deployment script is updated.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentScript"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DeploymentScripts"
+ ],
+ "operationId": "DeploymentScripts_Update",
+ "description": "Updates a deployment script.",
+ "x-ms-examples": {
+ "DeploymentScriptsUpdate": {
+ "$ref": "./examples/DeploymentScripts_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScriptNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "deploymentScript",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/DeploymentScriptUpdateParameter"
+ },
+ "description": "Updated deployment script supplied to the operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Deployment script is updated.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentScript"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DeploymentScripts"
+ ],
+ "operationId": "DeploymentScripts_Get",
+ "description": "Gets a deployment script with a given name.",
+ "x-ms-examples": {
+ "DeploymentScriptsGet": {
+ "$ref": "./examples/DeploymentScripts_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScriptNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Returns information about the deployment script.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentScript"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DeploymentScripts"
+ ],
+ "operationId": "DeploymentScripts_Delete",
+ "description": "Deletes a deployment script. When operation completes, status code 200 returned without content.",
+ "x-ms-examples": {
+ "DeploymentScriptsDelete": {
+ "$ref": "./examples/DeploymentScripts_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScriptNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Deployment script deleted."
+ },
+ "204": {
+ "description": "Deployment script does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deploymentScripts": {
+ "get": {
+ "tags": [
+ "DeploymentScripts"
+ ],
+ "operationId": "DeploymentScripts_ListBySubscription",
+ "description": "Lists all deployment scripts for a given subscription.",
+ "x-ms-examples": {
+ "DeploymentScriptsListBySubscription": {
+ "$ref": "./examples/DeploymentScripts_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Returns a list of deployment scripts.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentScriptListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deploymentScripts/{scriptName}/logs": {
+ "get": {
+ "tags": [
+ "DeploymentScripts"
+ ],
+ "operationId": "DeploymentScripts_GetLogs",
+ "description": "Gets deployment script logs for a given deployment script name.",
+ "x-ms-examples": {
+ "DeploymentScriptsGetLogs": {
+ "$ref": "./examples/DeploymentScripts_GetLogs.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScriptNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Returns deployment script logs if available.",
+ "schema": {
+ "$ref": "#/definitions/ScriptLogsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deploymentScripts/{scriptName}/logs/default": {
+ "get": {
+ "tags": [
+ "DeploymentScripts"
+ ],
+ "operationId": "DeploymentScripts_GetLogsDefault",
+ "description": "Gets deployment script logs for a given deployment script name.",
+ "x-ms-examples": {
+ "DeploymentScriptsGetLogs": {
+ "$ref": "./examples/DeploymentScripts_GetLogsDefault.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScriptNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Returns deployment script logs if available.",
+ "schema": {
+ "$ref": "#/definitions/ScriptLog"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deploymentScripts": {
+ "get": {
+ "tags": [
+ "DeploymentScripts"
+ ],
+ "operationId": "DeploymentScripts_ListByResourceGroup",
+ "description": "Lists deployments scripts.",
+ "x-ms-examples": {
+ "DeploymentScriptsList": {
+ "$ref": "./examples/DeploymentScripts_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Returns a list of deployment scripts.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentScriptListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DeploymentScript": {
+ "required": [
+ "identity",
+ "location",
+ "kind"
+ ],
+ "type": "object",
+ "description": "Deployment script object.",
+ "discriminator": "kind",
+ "properties": {
+ "identity": {
+ "description": "Managed identity to be used for this deployment script. Currently, only user-assigned MSI is supported.",
+ "$ref": "#/definitions/ManagedServiceIdentity"
+ },
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [ "read", "create" ],
+ "description": "The location of the ACI and the storage account for the deployment script."
+ },
+ "tags": {
+ "type": "object",
+ "description": "Resource tags.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "Type of the script.",
+ "enum": [
+ "AzurePowerShell",
+ "AzureCLI"
+ ],
+ "x-ms-enum": {
+ "name": "ScriptType",
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureResourceBase"
+ }
+ ]
+ },
+ "DeploymentScriptUpdateParameter": {
+ "type": "object",
+ "description": "Deployment script parameters to be updated. ",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "description": "Resource tags to be updated.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureResourceBase"
+ }
+ ]
+ },
+ "AzurePowerShellScript": {
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "x-ms-discriminator-value": "AzurePowerShell",
+ "description": "Object model for the Azure PowerShell script.",
+ "properties": {
+ "properties": {
+ "description": "Properties of the Azure PowerShell script object.",
+ "$ref": "#/definitions/AzurePowerShellScriptProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeploymentScript"
+ }
+ ]
+ },
+ "AzurePowerShellScriptProperties": {
+ "required": [
+ "azPowershellVersion"
+ ],
+ "type": "object",
+ "description": "Properties of the Azure PowerShell script object.",
+ "properties": {
+ "azPowershellVersion": {
+ "type": "string",
+ "description": "Azure PowerShell module version to be used."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeploymentScriptPropertiesBase"
+ },
+ {
+ "$ref": "#/definitions/ScriptConfigurationBase"
+ }
+ ]
+ },
+ "AzureCliScript": {
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "x-ms-discriminator-value": "AzureCLI",
+ "description": "Object model for the Azure CLI script.",
+ "properties": {
+ "properties": {
+ "description": "Properties of the Azure CLI script object.",
+ "$ref": "#/definitions/AzureCliScriptProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeploymentScript"
+ }
+ ]
+ },
+ "AzureCliScriptProperties": {
+ "required": [
+ "azCliVersion"
+ ],
+ "type": "object",
+ "description": "Properties of the Azure CLI script object.",
+ "properties": {
+ "azCliVersion": {
+ "type": "string",
+ "description": "Azure CLI module version to be used."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeploymentScriptPropertiesBase"
+ },
+ {
+ "$ref": "#/definitions/ScriptConfigurationBase"
+ }
+ ]
+ },
+ "ScriptConfigurationBase": {
+ "required": [
+ "retentionInterval"
+ ],
+ "type": "object",
+ "x-ms-external": true,
+ "description": "Common configuration settings for both Azure PowerShell and Azure CLI scripts.",
+ "properties": {
+ "primaryScriptUri": {
+ "type": "string",
+ "description": "Uri for the script. This is the entry point for the external script."
+ },
+ "supportingScriptUris": {
+ "type": "array",
+ "description": "Supporting files for the external script.",
+ "items": {
+ "type": "string",
+ "description": "Supporting file Uri."
+ }
+ },
+ "scriptContent": {
+ "type": "string",
+ "maxLength": 32000,
+ "description": "Script body."
+ },
+ "arguments": {
+ "type": "string",
+ "description": "Command line arguments to pass to the script. Arguments are seperated by spaces. ex: -Name blue* -Location 'West US 2' "
+ },
+ "environmentVariables": {
+ "description": "The environment variables to pass over to the script.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentVariable"
+ }
+ },
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "Gets or sets how the deployment script should be forced to execute even if the script resource has not changed. Can be current time stamp or a GUID."
+ },
+ "retentionInterval": {
+ "type": "string",
+ "format": "duration",
+ "description": "Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week)."
+ },
+ "timeout": {
+ "type": "string",
+ "format": "duration",
+ "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H"
+ }
+ }
+ },
+ "DeploymentScriptPropertiesBase": {
+ "type": "object",
+ "x-ms-external": true,
+ "description": "Common properties for the deployment script.",
+ "properties": {
+ "containerSettings": {
+ "type": "object",
+ "description": "Container settings.",
+ "$ref": "#/definitions/ContainerConfiguration"
+ },
+ "cleanupPreference": {
+ "type": "string",
+ "description": "The clean up preference when the script execution gets in a terminal state. Default setting is 'Always'.",
+ "enum": [
+ "Always",
+ "OnSuccess",
+ "OnExpiration"
+ ],
+ "x-ms-enum": {
+ "name": "cleanupOptions",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "State of the script execution. This only appears in the response.",
+ "enum": [
+ "Creating",
+ "ProvisioningResources",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ScriptProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "type": "object",
+ "readOnly": true,
+ "description": "Contains the results of script execution.",
+ "$ref": "#/definitions/ScriptStatus"
+ },
+ "outputs": {
+ "description": "List of script outputs.",
+ "type": "object",
+ "readOnly": true,
+ "additionalProperties": {
+ "type": "object",
+ "description": "Script output in pair."
+ }
+ }
+ }
+ },
+ "ContainerConfiguration": {
+ "type": "object",
+ "description": "Settings to customize ACI container instance.",
+ "properties": {
+ "networkProfile": {
+ "type": "string",
+ "description": "Network profile information for ACI."
+ }
+ }
+ },
+ "ScriptStatus": {
+ "type": "object",
+ "description": "Generic object modeling results of script execution.",
+ "properties": {
+ "containerInstanceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ACI resource Id."
+ },
+ "storageAccountId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Storage account resource Id."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Start time of the script execution."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "End time of the script execution."
+ },
+ "expirationTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Time the deployment script resource will expire."
+ }
+ }
+ },
+ "ManagedServiceIdentity": {
+ "type": "object",
+ "description": "Managed identity generic object.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Type of the managed identity.",
+ "enum": [
+ "UserAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedServiceIdentityType",
+ "modelAsString": true
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "EnvironmentVariable": {
+ "description": "The environment variable to pass to the script in the container instance.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable."
+ },
+ "secureValue": {
+ "type": "string",
+ "description": "The value of the secure environment variable."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "DeploymentScriptListResult": {
+ "description": "List of deployment scripts.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeploymentScript"
+ },
+ "description": "An array of deployment scripts."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ }
+ },
+ "ScriptLogsList": {
+ "description": "Deployment script execution logs.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScriptLog"
+ },
+ "description": "Deployment scripts logs."
+ }
+ }
+ },
+ "ScriptLog": {
+ "type": "object",
+ "description": "Script execution log object.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/LogProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureResourceBase"
+ }
+ ]
+ },
+ "LogProperties": {
+ "type": "object",
+ "description": "Script log properties.",
+ "properties": {
+ "log": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Script execution logs in text format."
+ }
+ }
+ },
+ "AzureResourceBase": {
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "description": "Common properties for all Azure resources.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "String Id used to locate any resource on Azure."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of this resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of this resource."
+ }
+ }
+ },
+ "DefaultErrorResponse": {
+ "description": "The details of the error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "One of a server-defined set of error codes.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human-readable representation of the error.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target of the particular error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Detailed errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "description": "Subscription Id which forms part of the URI for every service call."
+ },
+ "ScriptNameParameter": {
+ "name": "scriptName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the deployment script.",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "description": "Client Api version."
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Create.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Create.json
new file mode 100644
index 000000000000..55c22b2add2a
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Create.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "script-rg",
+ "scriptName": "MyDeploymentScript",
+ "deploymentScript": {
+ "kind": "AzurePowerShell",
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {}
+ }
+ },
+ "properties": {
+ "azPowerShellVersion": "1.7.0",
+ "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
+ "arguments": "-Location 'westus' -Name \"*rg2\"",
+ "supportingScriptUris": [
+ "https://uri1.to.supporting.script",
+ "https://uri2.to.supporting.script"
+ ],
+ "retentionInterval": "PT7D",
+ "timeout": "PT1H",
+ "containerSettings": {
+ "networkProfile": "script-network-profile-name"
+ },
+ "cleanupPreference": "Always"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "kind": "AzurePowerShell",
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {}
+ }
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "azPowerShellVersion": "1.7.0",
+ "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
+ "arguments": "-Location 'westus' -Name \"*rg2\"",
+ "supportingScriptUris": [
+ "https://uri1.to.supporting.script",
+ "https://uri2.to.supporting.script"
+ ],
+ "retentionInterval": "P7D",
+ "timeout": "PT1H",
+ "containerSettings": {
+ "networkProfile": "script-network-profile-name"
+ },
+ "cleanupPreference": "Always",
+ "status": {
+ "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage",
+ "startTime": "2018-11-13T15:19:45-08:00",
+ "endTime": "2018-11-13T15:19:45-08:00",
+ "expirationTime": "2018-11-13T15:19:45-08:00"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "kind": "AzurePowerShell",
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {}
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "azPowerShellVersion": "1.7.0",
+ "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
+ "arguments": "-Location 'westus' -Name \"*rg2\"",
+ "supportingScriptUris": [
+ "https://uri1.to.supporting.script",
+ "https://uri2.to.supporting.script"
+ ],
+ "retentionInterval": "P7D",
+ "timeout": "PT1H",
+ "containerSettings": {
+ "networkProfile": "script-network-profile-name"
+ },
+ "cleanupPreference": "Always",
+ "status": {
+ "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage",
+ "startTime": "2018-11-13T15:19:45-08:00",
+ "endTime": "2018-11-13T15:19:45-08:00",
+ "expirationTime": "2018-11-13T15:19:45-08:00"
+ },
+ "outputs": {
+ "output1": "value1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Delete.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Delete.json
new file mode 100644
index 000000000000..a724dcf8d5f6
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Delete.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "script-rg",
+ "scriptName": "MyDeploymentScript",
+ "deploymentScript": {
+ "kind": "AzurePowerShell",
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {}
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "azPowerShellVersion": "1.7.0",
+ "scriptContent": "user script body",
+ "arguments": "user script arguments",
+ "supportingScriptUris": [
+ "https://uri1.to.supporting.script",
+ "https://uri2.to.supporting.script"
+ ],
+ "retentionInterval": "PT7D",
+ "timeout": "PT1H",
+ "containerSettings": {
+ "osType": "Linux",
+ "restartPolicy": "Never",
+ "cpu": 2.0,
+ "memoryInGB": 2.0,
+ "networkProfile": "script-network-profile-name"
+ },
+ "cleanupPreference": "Always",
+ "results": {
+ "aciId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage",
+ "startTime": "2018-11-13T15:19:45-08:00",
+ "endTime": "2018-11-13T15:19:45-08:00",
+ "expirationTime": "2018-11-13T15:19:45-08:00"
+ },
+ "outputs": {
+ "output1": "value1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Get.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Get.json
new file mode 100644
index 000000000000..43996aea6fbe
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Get.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "script-rg",
+ "scriptName": "MyDeploymentScript"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kind": "AzurePowerShell",
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {}
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "azPowerShellVersion": "1.7.0",
+ "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
+ "arguments": "-Location 'westus' -Name \"*rg2\"",
+ "retentionInterval": "PT7D",
+ "timeout": "PT1H",
+ "containerSettings": {
+ "networkProfile": "script-network-profile-name"
+ },
+ "cleanupPreference": "Always",
+ "status": {
+ "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage",
+ "startTime": "2018-11-13T15:19:45-08:00",
+ "endTime": "2018-11-13T15:19:45-08:00",
+ "expirationTime": "2018-11-13T15:19:45-08:00"
+ },
+ "outputs": {
+ "output1": "value1"
+ }
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_GetLogs.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_GetLogs.json
new file mode 100644
index 000000000000..8d8367c9c069
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_GetLogs.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "script-rg",
+ "scriptName": "MyDeploymentScript"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "log": "script execution stdout/stderr logs"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
+
diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_GetLogsDefault.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_GetLogsDefault.json
new file mode 100644
index 000000000000..86afac3c5038
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_GetLogsDefault.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "script-rg",
+ "scriptName": "MyDeploymentScript"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "log": "script execution stdout/stderr logs"
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_ListByResourceGroup.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_ListByResourceGroup.json
new file mode 100644
index 000000000000..b15487a61c80
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_ListByResourceGroup.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "script-rg",
+ "scriptName": "MyDeploymentScript"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "kind": "AzurePowerShell",
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {}
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "azPowerShellVersion": "1.7.0",
+ "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
+ "arguments": "-Location 'westus' -Name \"*rg2\"",
+ "supportingScriptUris": [
+ "https://uri1.to.supporting.script",
+ "https://uri2.to.supporting.script"
+ ],
+ "retentionInterval": "P7D",
+ "timeout": "PT1H",
+ "containerSettings": {
+ "networkProfile": "script-network-profile-name"
+ },
+ "cleanupPreference": "Always",
+ "status": {
+ "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage",
+ "startTime": "2018-11-13T15:19:45-08:00",
+ "endTime": "2018-11-13T15:19:45-08:00",
+ "expirationTime": "2018-11-13T15:19:45-08:00"
+ },
+ "outputs": {
+ "output1": "value1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_ListBySubscription.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_ListBySubscription.json
new file mode 100644
index 000000000000..517338ce6b1b
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_ListBySubscription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "kind": "AzurePowerShell",
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai":
+ {}
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "azPowerShellVersion": "1.7.0",
+ "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
+ "arguments": "-Location 'westus' -Name \"*rg2\"",
+ "retentionInterval": "PT7D",
+ "timeout": "PT1H",
+ "containerSettings": {
+ "networkProfile": "script-network-profile-name"
+ },
+ "cleanupPreference": "Always",
+ "status": {
+ "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage",
+ "startTime": "2018-11-13T15:19:45-08:00",
+ "endTime": "2018-11-13T15:19:45-08:00",
+ "expirationTime": "2018-11-13T15:19:45-08:00"
+ },
+ "outputs": {
+ "output1": "value1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Min_Create.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Min_Create.json
new file mode 100644
index 000000000000..dc4436f997b4
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Min_Create.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "script-rg",
+ "scriptName": "MyDeploymentScript",
+ "deploymentScript": {
+ "kind": "AzurePowerShell",
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {}
+ }
+ },
+ "properties": {
+ "azPowerShellVersion": "1.7.0",
+ "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
+ "arguments": "-Location 'westus' -Name \"*rg2\"",
+ "retentionInterval": "P7D"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "kind": "AzurePowerShell",
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {}
+ }
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "azPowerShellVersion": "1.7.0",
+ "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
+ "arguments": "-Location 'westus' -Name \"*rg2\"",
+ "retentionInterval": "P7D",
+ "timeout": "PT1H",
+ "cleanupPreference": "Always",
+ "status": {
+ "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage",
+ "startTime": "2018-11-13T15:19:45-08:00",
+ "endTime": "2018-11-13T15:19:45-08:00",
+ "expirationTime": "2018-11-13T15:19:45-08:00"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "kind": "AzurePowerShell",
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {}
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "azPowerShellVersion": "1.7.0",
+ "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
+ "arguments": "-Location 'westus' -Name \"*rg2\"",
+ "retentionInterval": "P7D",
+ "timeout": "PT1H",
+ "cleanupPreference": "Always",
+ "status": {
+ "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage",
+ "startTime": "2018-11-13T15:19:45-08:00",
+ "endTime": "2018-11-13T15:19:45-08:00",
+ "expirationTime": "2018-11-13T15:19:45-08:00"
+ },
+ "outputs": {
+ "output1": "value1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Update.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Update.json
new file mode 100644
index 000000000000..c164ad91b084
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Update.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "script-rg",
+ "scriptName": "MyDeploymentScript",
+ "deploymentScript": {
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "azPowerShellVersion": "1.7.0",
+ "scriptContent":
+ "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
+ "arguments": "-Location 'westus' -Name \"*rg2\"",
+ "supportingScriptUris": [
+ "https://uri1.to.supporting.script",
+ "https://uri2.to.supporting.script"
+ ],
+ "retentionInterval": "P7D",
+ "timeout": "PT1H",
+ "containerSettings": {
+ "networkProfile": "script-network-profile-name"
+ },
+ "cleanupPreference": "Always",
+ "status": {
+ "containerInstanceId":
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer",
+ "storageAccountId":
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage",
+ "startTime": "2018-11-13T15:19:45-08:00",
+ "endTime": "2018-11-13T15:19:45-08:00",
+ "expirationTime": "2018-11-13T15:19:45-08:00"
+ },
+ "outputs": {
+ "output1": "value1"
+ }
+ },
+ "kind": "AzurePowerShell",
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai":
+ {}
+ }
+ },
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/examples/PostDeploymentWhatIfOnResourceGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/examples/PostDeploymentWhatIfOnResourceGroup.json
new file mode 100644
index 000000000000..63347c21e6c0
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/examples/PostDeploymentWhatIfOnResourceGroup.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000001",
+ "resourceGroupName": "myResourceGroup",
+ "deploymentName": "exampleDeploymentName",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "properties": {
+ "templateLink": "https://example.com/exampleTemplate.json",
+ "parameters": {},
+ "mode": "Incremental"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "properties": {
+ "changes": [
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
+ "changeType": "Modify",
+ "before": {
+ "apiVersion": "2018-11-30",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
+ "name": "myExistingIdentity",
+ "location": "westus2"
+ },
+ "after": {
+ "apiVersion": "2018-11-30",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
+ "name": "myExistingIdentity",
+ "location": "westus2",
+ "tags": {
+ "myNewTag": "my tag value"
+ }
+ },
+ "delta": [
+ {
+ "path": "tags.myNewTag",
+ "propertyChangeType": "Create",
+ "after": "my tag value"
+ }
+ ]
+ },
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity",
+ "changeType": "Create",
+ "after": {
+ "apiVersion": "2018-11-30",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity",
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
+ "name": "myNewIdentity",
+ "location": "eastus",
+ "tags": {
+ "myOtherNewTag": "another new tag value"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "/subscriptions/4d0ca63b-7939-4c9c-afbe-5fafae501724/operationresults/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/examples/PostDeploymentWhatIfOnSubscription.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/examples/PostDeploymentWhatIfOnSubscription.json
new file mode 100644
index 000000000000..26bdad7165e0
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/examples/PostDeploymentWhatIfOnSubscription.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000001",
+ "deploymentName": "exampleDeploymentName",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "templateLink": "https://example.com/exampleTemplate.json",
+ "parameters": {},
+ "mode": "Incremental"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "properties": {
+ "changes": [
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
+ "changeType": "Modify",
+ "before": {
+ "apiVersion": "2018-11-30",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
+ "name": "myExistingIdentity",
+ "location": "westus2"
+ },
+ "after": {
+ "apiVersion": "2018-11-30",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
+ "name": "myExistingIdentity",
+ "location": "westus2",
+ "tags": {
+ "myNewTag": "my tag value"
+ }
+ },
+ "delta": [
+ {
+ "path": "tags.myNewTag",
+ "propertyChangeType": "Create",
+ "after": "my tag value"
+ }
+ ]
+ },
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity",
+ "changeType": "Create",
+ "after": {
+ "apiVersion": "2018-11-30",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity",
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
+ "name": "myNewIdentity",
+ "location": "eastus",
+ "tags": {
+ "myOtherNewTag": "another new tag value"
+ }
+ }
+ },
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup2",
+ "changeType": "Create",
+ "after": {
+ "apiVersion": "2019-03-01",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup2",
+ "type": "Microsoft.Resources/resourceGroups",
+ "name": "myResourceGroup2",
+ "location": "{location3}"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "/subscriptions/4d0ca63b-7939-4c9c-afbe-5fafae501724/operationresults/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/resources.json
index ec66c90890be..6386e7426269 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-07-01/resources.json
@@ -1228,6 +1228,71 @@
}
}
},
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_WhatIfAtSubscriptionScope",
+ "description": "Returns changes that will be made by the deployment if executed at the scope of the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeploymentWhatIf"
+ },
+ "description": "Parameters to What If."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns What-If operation status",
+ "schema": {
+ "$ref": "#/definitions/WhatIfOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted - Returns URL in Location header to query for long-running operation status.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "URL to get status of this long-running operation."
+ },
+ "Retry-After": {
+ "type": "string",
+ "description": "Number of seconds to wait before polling for status."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Predict template changes at subscription scope": {
+ "$ref": "./examples/PostDeploymentWhatIfOnSubscription.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": {
"post": {
"tags": [
@@ -1610,6 +1675,81 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_WhatIf",
+ "description": "Returns changes that will be made by the deployment if executed at the scope of the resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group the template will be deployed to. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeploymentWhatIf"
+ },
+ "description": "Parameters to validate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns What-If operation status",
+ "schema": {
+ "$ref": "#/definitions/WhatIfOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted - Returns URL in Location header to query for long-running operation status.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "URL to get status of this long-running operation."
+ },
+ "Retry-After": {
+ "type": "string",
+ "description": "Number of seconds to wait before polling for status."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Predict template changes at resource group scope": {
+ "$ref": "./examples/PostDeploymentWhatIfOnResourceGroup.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": {
"post": {
"tags": [
@@ -4015,6 +4155,53 @@
},
"description": "The deployment export result. "
},
+ "DeploymentWhatIf": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location to store the deployment data."
+ },
+ "properties": {
+ "$ref": "#/definitions/DeploymentWhatIfProperties",
+ "description": "The deployment properties."
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Deployment What-if operation parameters."
+ },
+ "DeploymentWhatIfProperties": {
+ "properties": {
+ "whatIfSettings": {
+ "$ref": "#/definitions/DeploymentWhatIfSettings",
+ "description": "Optional What-If operation settings."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeploymentProperties"
+ }
+ ],
+ "description": "Deployment What-if properties."
+ },
+ "DeploymentWhatIfSettings": {
+ "properties": {
+ "resultFormat": {
+ "type": "string",
+ "description": "The format of the What-If results",
+ "enum": [
+ "ResourceIdOnly",
+ "FullResourcePayloads"
+ ],
+ "x-ms-enum": {
+ "name": "WhatIfResultFormat",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Deployment What-If operation settings."
+ },
"CloudError": {
"x-ms-external": true,
"properties": {
@@ -4983,6 +5170,166 @@
"description": "The template hash."
}
}
+ },
+ "WhatIfPropertyChange": {
+ "required": [
+ "path",
+ "propertyChangeType"
+ ],
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path of the property."
+ },
+ "propertyChangeType": {
+ "type": "string",
+ "description": "The type of property change.",
+ "enum": [
+ "Create",
+ "Delete",
+ "Modify",
+ "Array"
+ ],
+ "x-ms-enum": {
+ "name": "PropertyChangeType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Create",
+ "description": "The property does not exist in the current state but is present in the desired state. The property will be created when the deployment is executed."
+ },
+ {
+ "value": "Delete",
+ "description": "The property exists in the current state and is missing from the desired state. It will be deleted when the deployment is executed."
+ },
+ {
+ "value": "Modify",
+ "description": "The property exists in both current and desired state and is different. The value of the property will change when the deployment is executed."
+ },
+ {
+ "value": "Array",
+ "description": "The property is an array and contains nested changes."
+ }
+ ]
+ }
+ },
+ "before": {
+ "type": "object",
+ "description": "The value of the property before the deployment is executed."
+ },
+ "after": {
+ "type": "object",
+ "description": "The value of the property after the deployment is executed."
+ },
+ "children": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WhatIfPropertyChange"
+ },
+ "description": "Nested property changes."
+ }
+ },
+ "description": "The predicted change to the resource property."
+ },
+ "WhatIfChange": {
+ "description": "Information about a single resource change predicted by What-If operation.",
+ "required": [
+ "resourceId",
+ "changeType"
+ ],
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "Resource ID"
+ },
+ "changeType": {
+ "type": "string",
+ "description": "Type of change that will be made to the resource when the deployment is executed.",
+ "enum": [
+ "Create",
+ "Delete",
+ "Ignore",
+ "Deploy",
+ "NoChange",
+ "Modify"
+ ],
+ "x-ms-enum": {
+ "name": "ChangeType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Create",
+ "description": "The resource does not exist in the current state but is present in the desired state. The resource will be created when the deployment is executed."
+ },
+ {
+ "value": "Delete",
+ "description": "The resource exists in the current state and is missing from the desired state. The resource will be deleted when the deployment is executed."
+ },
+ {
+ "value": "Ignore",
+ "description": "The resource exists in the current state and is missing from the desired state. The resource will not be deployed or modified when the deployment is executed."
+ },
+ {
+ "value": "Deploy",
+ "description": "The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource may or may not change."
+ },
+ {
+ "value": "NoChange",
+ "description": "The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource will not change."
+ },
+ {
+ "value": "Modify",
+ "description": "The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource will change."
+ }
+ ]
+ }
+ },
+ "before": {
+ "type": "object",
+ "description": "The snapshot of the resource before the deployment is executed."
+ },
+ "after": {
+ "type": "object",
+ "description": "The predicted snapshot of the resource after the deployment is executed."
+ },
+ "delta": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WhatIfPropertyChange"
+ },
+ "description": "The predicted changes to resource properties."
+ }
+ }
+ },
+ "WhatIfOperationProperties": {
+ "description": "Deployment operation properties.",
+ "properties": {
+ "changes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WhatIfChange"
+ },
+ "description": "List of resource changes predicted by What-If operation."
+ }
+ }
+ },
+ "WhatIfOperationResult": {
+ "description": "Result of the What-If operation. Contains a list of predicted changes and a URL link to get to the next set of results.",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Status of the What-If operation."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WhatIfOperationProperties",
+ "description": "What-If operation properties."
+ },
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse",
+ "description": "Error when What-If operation fails."
+ }
+ }
}
},
"parameters": {
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/examples/PostDeploymentWhatIfOnResourceGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/examples/PostDeploymentWhatIfOnResourceGroup.json
new file mode 100644
index 000000000000..a9d2e9e48872
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/examples/PostDeploymentWhatIfOnResourceGroup.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000001",
+ "resourceGroupName": "myResourceGroup",
+ "deploymentName": "exampleDeploymentName",
+ "api-version": "2019-08-01",
+ "parameters": {
+ "properties": {
+ "templateLink": "https://example.com/exampleTemplate.json",
+ "parameters": {},
+ "mode": "Incremental"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "properties": {
+ "changes": [
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
+ "changeType": "Modify",
+ "before": {
+ "apiVersion": "2018-11-30",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
+ "name": "myExistingIdentity",
+ "location": "westus2"
+ },
+ "after": {
+ "apiVersion": "2018-11-30",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
+ "name": "myExistingIdentity",
+ "location": "westus2",
+ "tags": {
+ "myNewTag": "my tag value"
+ }
+ },
+ "delta": [
+ {
+ "path": "tags.myNewTag",
+ "propertyChangeType": "Create",
+ "after": "my tag value"
+ }
+ ]
+ },
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity",
+ "changeType": "Create",
+ "after": {
+ "apiVersion": "2018-11-30",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity",
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
+ "name": "myNewIdentity",
+ "location": "eastus",
+ "tags": {
+ "myOtherNewTag": "another new tag value"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "/subscriptions/4d0ca63b-7939-4c9c-afbe-5fafae501724/operationresults/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/examples/PostDeploymentWhatIfOnSubscription.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/examples/PostDeploymentWhatIfOnSubscription.json
new file mode 100644
index 000000000000..4a1d63fdd07b
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/examples/PostDeploymentWhatIfOnSubscription.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000001",
+ "deploymentName": "exampleDeploymentName",
+ "api-version": "2019-08-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "templateLink": "https://example.com/exampleTemplate.json",
+ "parameters": {},
+ "mode": "Incremental"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "properties": {
+ "changes": [
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
+ "changeType": "Modify",
+ "before": {
+ "apiVersion": "2018-11-30",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
+ "name": "myExistingIdentity",
+ "location": "westus2"
+ },
+ "after": {
+ "apiVersion": "2018-11-30",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
+ "name": "myExistingIdentity",
+ "location": "westus2",
+ "tags": {
+ "myNewTag": "my tag value"
+ }
+ },
+ "delta": [
+ {
+ "path": "tags.myNewTag",
+ "propertyChangeType": "Create",
+ "after": "my tag value"
+ }
+ ]
+ },
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity",
+ "changeType": "Create",
+ "after": {
+ "apiVersion": "2018-11-30",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity",
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
+ "name": "myNewIdentity",
+ "location": "eastus",
+ "tags": {
+ "myOtherNewTag": "another new tag value"
+ }
+ }
+ },
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup2",
+ "changeType": "Create",
+ "after": {
+ "apiVersion": "2019-03-01",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup2",
+ "type": "Microsoft.Resources/resourceGroups",
+ "name": "myResourceGroup2",
+ "location": "{location3}"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "/subscriptions/4d0ca63b-7939-4c9c-afbe-5fafae501724/operationresults/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json
index cc3f05489187..ef78bef03d25 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json
@@ -285,6 +285,12 @@
"$ref": "#/definitions/DeploymentValidateResult"
}
},
+ "400": {
+ "description": "Returns the validation result.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentValidateResult"
+ }
+ },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -580,6 +586,12 @@
"$ref": "#/definitions/DeploymentValidateResult"
}
},
+ "400": {
+ "description": "Returns the validation result.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentValidateResult"
+ }
+ },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -887,6 +899,12 @@
"$ref": "#/definitions/DeploymentValidateResult"
}
},
+ "400": {
+ "description": "Returns the validation result.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentValidateResult"
+ }
+ },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -1195,12 +1213,83 @@
"$ref": "#/definitions/DeploymentValidateResult"
}
},
+ "400": {
+ "description": "Returns the validation result.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentValidateResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_WhatIfAtSubscriptionScope",
+ "description": "Returns changes that will be made by the deployment if executed at the scope of the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeploymentWhatIf"
+ },
+ "description": "Parameters to What If."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns What-If operation status",
+ "schema": {
+ "$ref": "#/definitions/WhatIfOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted - Returns URL in Location header to query for long-running operation status.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "URL to get status of this long-running operation."
+ },
+ "Retry-After": {
+ "type": "string",
+ "description": "Number of seconds to wait before polling for status."
+ }
+ }
+ },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "#/definitions/CloudError"
}
}
+ },
+ "x-ms-examples": {
+ "Predict template changes at subscription scope": {
+ "$ref": "./examples/PostDeploymentWhatIfOnSubscription.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
}
}
},
@@ -1571,12 +1660,93 @@
"$ref": "#/definitions/DeploymentValidateResult"
}
},
+ "400": {
+ "description": "Returns the validation result.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentValidateResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_WhatIf",
+ "description": "Returns changes that will be made by the deployment if executed at the scope of the resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group the template will be deployed to. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeploymentWhatIf"
+ },
+ "description": "Parameters to validate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns What-If operation status",
+ "schema": {
+ "$ref": "#/definitions/WhatIfOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted - Returns URL in Location header to query for long-running operation status.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "URL to get status of this long-running operation."
+ },
+ "Retry-After": {
+ "type": "string",
+ "description": "Number of seconds to wait before polling for status."
+ }
+ }
+ },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "#/definitions/CloudError"
}
}
+ },
+ "x-ms-examples": {
+ "Predict template changes at resource group scope": {
+ "$ref": "./examples/PostDeploymentWhatIfOnResourceGroup.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
}
}
},
@@ -3985,6 +4155,53 @@
},
"description": "The deployment export result. "
},
+ "DeploymentWhatIf": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location to store the deployment data."
+ },
+ "properties": {
+ "$ref": "#/definitions/DeploymentWhatIfProperties",
+ "description": "The deployment properties."
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Deployment What-if operation parameters."
+ },
+ "DeploymentWhatIfProperties": {
+ "properties": {
+ "whatIfSettings": {
+ "$ref": "#/definitions/DeploymentWhatIfSettings",
+ "description": "Optional What-If operation settings."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeploymentProperties"
+ }
+ ],
+ "description": "Deployment What-if properties."
+ },
+ "DeploymentWhatIfSettings": {
+ "properties": {
+ "resultFormat": {
+ "type": "string",
+ "description": "The format of the What-If results",
+ "enum": [
+ "ResourceIdOnly",
+ "FullResourcePayloads"
+ ],
+ "x-ms-enum": {
+ "name": "WhatIfResultFormat",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Deployment What-If operation settings."
+ },
"CloudError": {
"x-ms-external": true,
"properties": {
@@ -4270,6 +4487,10 @@
},
"DeploymentValidateResult": {
"properties": {
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse",
+ "description": "The deployment validation error."
+ },
"properties": {
"$ref": "#/definitions/DeploymentPropertiesExtended",
"description": "The template deployment properties."
@@ -4949,6 +5170,166 @@
"description": "The template hash."
}
}
+ },
+ "WhatIfPropertyChange": {
+ "required": [
+ "path",
+ "propertyChangeType"
+ ],
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path of the property."
+ },
+ "propertyChangeType": {
+ "type": "string",
+ "description": "The type of property change.",
+ "enum": [
+ "Create",
+ "Delete",
+ "Modify",
+ "Array"
+ ],
+ "x-ms-enum": {
+ "name": "PropertyChangeType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Create",
+ "description": "The property does not exist in the current state but is present in the desired state. The property will be created when the deployment is executed."
+ },
+ {
+ "value": "Delete",
+ "description": "The property exists in the current state and is missing from the desired state. It will be deleted when the deployment is executed."
+ },
+ {
+ "value": "Modify",
+ "description": "The property exists in both current and desired state and is different. The value of the property will change when the deployment is executed."
+ },
+ {
+ "value": "Array",
+ "description": "The property is an array and contains nested changes."
+ }
+ ]
+ }
+ },
+ "before": {
+ "type": "object",
+ "description": "The value of the property before the deployment is executed."
+ },
+ "after": {
+ "type": "object",
+ "description": "The value of the property after the deployment is executed."
+ },
+ "children": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WhatIfPropertyChange"
+ },
+ "description": "Nested property changes."
+ }
+ },
+ "description": "The predicted change to the resource property."
+ },
+ "WhatIfChange": {
+ "description": "Information about a single resource change predicted by What-If operation.",
+ "required": [
+ "resourceId",
+ "changeType"
+ ],
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "Resource ID"
+ },
+ "changeType": {
+ "type": "string",
+ "description": "Type of change that will be made to the resource when the deployment is executed.",
+ "enum": [
+ "Create",
+ "Delete",
+ "Ignore",
+ "Deploy",
+ "NoChange",
+ "Modify"
+ ],
+ "x-ms-enum": {
+ "name": "ChangeType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Create",
+ "description": "The resource does not exist in the current state but is present in the desired state. The resource will be created when the deployment is executed."
+ },
+ {
+ "value": "Delete",
+ "description": "The resource exists in the current state and is missing from the desired state. The resource will be deleted when the deployment is executed."
+ },
+ {
+ "value": "Ignore",
+ "description": "The resource exists in the current state and is missing from the desired state. The resource will not be deployed or modified when the deployment is executed."
+ },
+ {
+ "value": "Deploy",
+ "description": "The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource may or may not change."
+ },
+ {
+ "value": "NoChange",
+ "description": "The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource will not change."
+ },
+ {
+ "value": "Modify",
+ "description": "The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource will change."
+ }
+ ]
+ }
+ },
+ "before": {
+ "type": "object",
+ "description": "The snapshot of the resource before the deployment is executed."
+ },
+ "after": {
+ "type": "object",
+ "description": "The predicted snapshot of the resource after the deployment is executed."
+ },
+ "delta": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WhatIfPropertyChange"
+ },
+ "description": "The predicted changes to resource properties."
+ }
+ }
+ },
+ "WhatIfOperationProperties": {
+ "description": "Deployment operation properties.",
+ "properties": {
+ "changes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WhatIfChange"
+ },
+ "description": "List of resource changes predicted by What-If operation."
+ }
+ }
+ },
+ "WhatIfOperationResult": {
+ "description": "Result of the What-If operation. Contains a list of predicted changes and a URL link to get to the next set of results.",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Status of the What-If operation."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WhatIfOperationProperties",
+ "description": "What-If operation properties."
+ },
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse",
+ "description": "Error when What-If operation fails."
+ }
+ }
}
},
"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 e798146ac944..4d40f56a8518 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
@@ -1328,7 +1328,7 @@
},
"type": {
"$ref": "#/definitions/ApplianceArtifactType",
- "description": "The the appliance artifact type."
+ "description": "The appliance artifact type."
}
},
"description": "Appliance artifact."
diff --git a/specification/resources/resource-manager/readme.go.md b/specification/resources/resource-manager/readme.go.md
index d92100bcc165..f64ecf56f7a9 100644
--- a/specification/resources/resource-manager/readme.go.md
+++ b/specification/resources/resource-manager/readme.go.md
@@ -42,6 +42,7 @@ batch:
- tag: package-resources-2016-07
- tag: package-resources-2016-02
- tag: package-resources-2015-11
+ - tag: package-subscriptions-2019-06
- tag: package-subscriptions-2018-06
- tag: package-subscriptions-2016-06
- tag: package-subscriptions-2015-11
@@ -49,6 +50,17 @@ batch:
- tag: package-managedapplications-2018-06
- tag: package-managedapplications-2017-09
- tag: package-managedapplications-2016-09
+ - tag: package-resources-2019-07
+```
+
+### Tag: package-resources-2019-07 and go
+
+These settings apply only when `--tag=package-resources-2019-07 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-resources-2019-07' && $(go)
+namespace: features
+output-folder: $(go-sdk-folder)/services/resources/mgmt/2019-07-01/$(namespace)
```
### Tag: package-features-2015-12 and go
@@ -251,6 +263,16 @@ namespace: resources
output-folder: $(go-sdk-folder)/services/resources/mgmt/2015-11-01/resources
```
+### Tag: package-subscriptions-2019-06 and go
+
+These settings apply only when `--tag=package-subscriptions-2019-06 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-subscriptions-2019-06' && $(go)
+namespace: subscriptions
+output-folder: $(go-sdk-folder)/services/resources/mgmt/2019-06-01/subscriptions
+```
+
### Tag: package-subscriptions-2018-06 and go
These settings apply only when `--tag=package-subscriptions-2018-06 --go` is specified on the command line.
diff --git a/specification/resources/resource-manager/readme.java.md b/specification/resources/resource-manager/readme.java.md
new file mode 100644
index 000000000000..c55819b454fe
--- /dev/null
+++ b/specification/resources/resource-manager/readme.java.md
@@ -0,0 +1,286 @@
+## 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.resources
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-resources
+```
+
+### Java multi-api
+
+Generate all API versions currently shipped for this package
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-features-2015-12
+ - tag: package-locks-2016-09
+ - tag: package-policy-2019-06
+ - tag: package-policy-2019-01
+ - tag: package-policy-2018-05
+ - tag: package-policy-2018-03
+ - tag: package-policy-2016-12
+ - tag: package-resources-2019-08
+ - tag: package-resources-2019-07
+ - tag: package-resources-2019-0510
+ - tag: package-resources-2019-05
+ - tag: package-resources-2019-03
+ - tag: package-resources-2018-02
+ - tag: package-resources-2016-09
+ - tag: package-subscriptions-2019-06
+ - tag: package-subscriptions-2018-06
+ - tag: package-subscriptions-2016-06
+```
+
+### Tag: package-features-2015-12 and java
+
+These settings apply only when `--tag=package-features-2015-12 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-features-2015-12' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.features.v2015_12_01
+ output-folder: $(azure-libraries-for-java-folder)/features/resource-manager/v2015_12_01
+regenerate-manager: true
+generate-interface: true
+fconfig: '{"moduleName": "Features"}'
+```
+
+### Tag: package-locks-2016-09 and java
+
+These settings apply only when `--tag=package-locks-2016-09 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-locks-2016-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.locks.v2016_09_01
+ output-folder: $(azure-libraries-for-java-folder)/locks/resource-manager/v2016_09_01
+regenerate-manager: true
+generate-interface: true
+fconfig: '{"moduleName": "Locks"}'
+```
+
+### Tag: package-policy-2019-06 and java
+
+These settings apply only when `--tag=package-policy-2019-06 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-policy-2019-06' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.policy.v2019_06_01
+ output-folder: $(azure-libraries-for-java-folder)/policy/resource-manager/v2019_06_01
+regenerate-manager: true
+generate-interface: true
+fconfig: '{"moduleName": "Policy"}'
+directive:
+ from: policyAssignments.json
+ where: $.definitions.PolicyAssignmentProperties.properties.scope
+ transform: $['x-ms-client-name'] = 'scopeProperty'
+```
+
+### Tag: package-policy-2019-01 and java
+
+These settings apply only when `--tag=package-policy-2019-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-policy-2019-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.policy.v2019_01_01
+ output-folder: $(azure-libraries-for-java-folder)/policy/resource-manager/v2019_01_01
+regenerate-manager: true
+generate-interface: true
+fconfig: '{"moduleName": "Policy"}'
+directive:
+ from: policyAssignments.json
+ where: $.definitions.PolicyAssignmentProperties.properties.scope
+ transform: $['x-ms-client-name'] = 'scopeProperty'
+```
+
+### Tag: package-policy-2018-05 and java
+
+These settings apply only when `--tag=package-policy-2018-05 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-policy-2018-05' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.policy.v2018_05_01
+ output-folder: $(azure-libraries-for-java-folder)/policy/resource-manager/v2018_05_01
+regenerate-manager: true
+generate-interface: true
+fconfig: '{"moduleName": "Policy"}'
+directive:
+ from: policyAssignments.json
+ where: $.definitions.PolicyAssignmentProperties.properties.scope
+ transform: $['x-ms-client-name'] = 'scopeProperty'
+```
+
+### Tag: package-policy-2018-03 and java
+
+These settings apply only when `--tag=package-policy-2018-03 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-policy-2018-03' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.policy.v2018_03_01
+ output-folder: $(azure-libraries-for-java-folder)/policy/resource-manager/v2018_03_01
+regenerate-manager: true
+generate-interface: true
+fconfig: '{"moduleName": "Policy"}'
+directive:
+ from: policyAssignments.json
+ where: $.definitions.PolicyAssignmentProperties.properties.scope
+ transform: $['x-ms-client-name'] = 'scopeProperty'
+```
+
+### Tag: package-policy-2016-12 and java
+
+These settings apply only when `--tag=package-policy-2016-12 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-policy-2016-12' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.policy.v2016_12_01
+ output-folder: $(azure-libraries-for-java-folder)/policy/resource-manager/v2016_12_01
+regenerate-manager: true
+generate-interface: true
+fconfig: '{"moduleName": "Policy"}'
+directive:
+ from: policyAssignments.json
+ where: $.definitions.PolicyAssignmentProperties.properties.scope
+ transform: $['x-ms-client-name'] = 'scopeProperty'
+```
+
+### Tag: package-resources-2019-08 and java
+
+These settings apply only when `--tag=package-resources-2019-08 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-resources-2019-08' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.resources.v2019_08_01
+ output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2019_08_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-resources-2019-07 and java
+
+These settings apply only when `--tag=package-resources-2019-07 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-resources-2019-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.resources.v2019_07_01
+ output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2019_07_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-resources-2019-0510 and java
+
+These settings apply only when `--tag=package-resources-2019-0510 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-resources-2019-0510' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.resources.v2019_05_10
+ output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2019_05_10
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-resources-2019-05 and java
+
+These settings apply only when `--tag=package-resources-2019-05 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-resources-2019-05' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.resources.v2019_05_01
+ output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2019_05_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-resources-2019-03 and java
+
+These settings apply only when `--tag=package-resources-2019-03 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-resources-2019-03' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.resources.v2019_03_01
+ output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2019_03_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-resources-2018-02 and java
+
+These settings apply only when `--tag=package-resources-2018-02 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-resources-2018-02' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.resources.v2018_02_01
+ output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2018_02_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-resources-2016-09 and java
+
+These settings apply only when `--tag=package-resources-2016-09 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-resources-2016-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.resources.v2016_09_01
+ output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2016_09_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-subscriptions-2019-06 and java
+
+These settings apply only when `--tag=package-subscriptions-2019-06 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-subscriptions-2019-06' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.resources.v2019_06_01
+ output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2019_06_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-subscriptions-2018-06 and java
+
+These settings apply only when `--tag=package-subscriptions-2018-06 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-subscriptions-2018-06' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.resources.v2018_06_01
+ output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2018_06_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-subscriptions-2016-06 and java
+
+These settings apply only when `--tag=package-subscriptions-2016-06 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-subscriptions-2016-06' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.resources.v2016_06_01
+ output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2016_06_01
+regenerate-manager: true
+generate-interface: true
+```
diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md
index 88ea43b5333c..96de4985ec6b 100644
--- a/specification/resources/resource-manager/readme.md
+++ b/specification/resources/resource-manager/readme.md
@@ -40,16 +40,12 @@ tag: package-locks-2016-09
tag: package-policy-2019-06
```
-``` yaml $(package-policy)
-tag: package-policy-2019-01
-```
-
``` yaml $(package-resources)
tag: package-resources-2019-08
```
``` yaml $(package-subscriptions)
-tag: package-subscriptions-2018-06
+tag: package-subscriptions-2019-06
```
``` yaml $(package-links)
@@ -57,18 +53,9 @@ tag: package-links-2016-09
```
``` yaml $(package-managedapplications)
-tag: package-2019-06
+tag: package-managedapplications-2018-06
```
-
-### Tag: package-2019-06
-
-These settings apply only when `--tag=package-2019-06` is specified on the command line.
-
-```yaml $(tag) == 'package-2019-06'
-input-file:
- - Microsoft.Resources/stable/2019-06-01/subscriptions.json
-```
### Tag: package-features-2015-12
These settings apply only when `--tag=package-features-2015-12` is specified on the command line.
@@ -325,6 +312,15 @@ input-file:
- Microsoft.Resources/stable/2015-11-01/resources.json
```
+### Tag: package-subscriptions-2019-06
+
+These settings apply only when `--tag=package-subscriptions-2019-06` is specified on the command line.
+
+``` yaml $(tag) == 'package-subscriptions-2019-06'
+input-file:
+- Microsoft.Resources/stable/2019-06-01/subscriptions.json
+```
+
### Tag: package-subscriptions-2018-06
These settings apply only when `--tag=package-subscriptions-2018-06` is specified on the command line.
@@ -490,276 +486,7 @@ 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.resources
-license-header: MICROSOFT_MIT_NO_CODEGEN
-payload-flattening-threshold: 1
-output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-resources
-```
-
-### Java multi-api
-
-Generate all API versions currently shipped for this package
-
-``` yaml $(java) && $(multiapi)
-batch:
- - tag: package-features-2015-12
- - tag: package-locks-2016-09
- - tag: package-policy-2019-06
- - tag: package-policy-2019-01
- - tag: package-policy-2018-05
- - tag: package-policy-2018-03
- - tag: package-policy-2016-12
- - tag: package-resources-2019-08
- - tag: package-resources-2019-07
- - tag: package-resources-2019-0510
- - tag: package-resources-2019-05
- - tag: package-resources-2019-03
- - tag: package-resources-2018-02
- - tag: package-resources-2016-09
- - tag: package-subscriptions-2018-06
- - tag: package-subscriptions-2016-06
-```
-
-### Tag: package-features-2015-12 and java
-
-These settings apply only when `--tag=package-features-2015-12 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-features-2015-12' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.features.v2015_12_01
- output-folder: $(azure-libraries-for-java-folder)/features/resource-manager/v2015_12_01
-regenerate-manager: true
-generate-interface: true
-fconfig: '{"moduleName": "Features"}'
-```
-
-### Tag: package-locks-2016-09 and java
-
-These settings apply only when `--tag=package-locks-2016-09 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-locks-2016-09' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.locks.v2016_09_01
- output-folder: $(azure-libraries-for-java-folder)/locks/resource-manager/v2016_09_01
-regenerate-manager: true
-generate-interface: true
-fconfig: '{"moduleName": "Locks"}'
-```
-
-### Tag: package-policy-2019-06 and java
-
-These settings apply only when `--tag=package-policy-2019-06 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-policy-2019-06' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.policy.v2019_06_01
- output-folder: $(azure-libraries-for-java-folder)/policy/resource-manager/v2019_06_01
-regenerate-manager: true
-generate-interface: true
-fconfig: '{"moduleName": "Policy"}'
-directive:
- from: policyAssignments.json
- where: $.definitions.PolicyAssignmentProperties.properties.scope
- transform: $['x-ms-client-name'] = 'scopeProperty'
-```
-
-### Tag: package-policy-2019-01 and java
-
-These settings apply only when `--tag=package-policy-2019-01 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-policy-2019-01' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.policy.v2019_01_01
- output-folder: $(azure-libraries-for-java-folder)/policy/resource-manager/v2019_01_01
-regenerate-manager: true
-generate-interface: true
-fconfig: '{"moduleName": "Policy"}'
-directive:
- from: policyAssignments.json
- where: $.definitions.PolicyAssignmentProperties.properties.scope
- transform: $['x-ms-client-name'] = 'scopeProperty'
-```
-
-### Tag: package-policy-2018-05 and java
-
-These settings apply only when `--tag=package-policy-2018-05 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-policy-2018-05' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.policy.v2018_05_01
- output-folder: $(azure-libraries-for-java-folder)/policy/resource-manager/v2018_05_01
-regenerate-manager: true
-generate-interface: true
-fconfig: '{"moduleName": "Policy"}'
-directive:
- from: policyAssignments.json
- where: $.definitions.PolicyAssignmentProperties.properties.scope
- transform: $['x-ms-client-name'] = 'scopeProperty'
-```
-
-### Tag: package-policy-2018-03 and java
-
-These settings apply only when `--tag=package-policy-2018-03 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-policy-2018-03' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.policy.v2018_03_01
- output-folder: $(azure-libraries-for-java-folder)/policy/resource-manager/v2018_03_01
-regenerate-manager: true
-generate-interface: true
-fconfig: '{"moduleName": "Policy"}'
-directive:
- from: policyAssignments.json
- where: $.definitions.PolicyAssignmentProperties.properties.scope
- transform: $['x-ms-client-name'] = 'scopeProperty'
-```
-
-### Tag: package-policy-2016-12 and java
-
-These settings apply only when `--tag=package-policy-2016-12 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-policy-2016-12' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.policy.v2016_12_01
- output-folder: $(azure-libraries-for-java-folder)/policy/resource-manager/v2016_12_01
-regenerate-manager: true
-generate-interface: true
-fconfig: '{"moduleName": "Policy"}'
-directive:
- from: policyAssignments.json
- where: $.definitions.PolicyAssignmentProperties.properties.scope
- transform: $['x-ms-client-name'] = 'scopeProperty'
-```
-
-### Tag: package-resources-2019-08 and java
-
-These settings apply only when `--tag=package-resources-2019-08 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-resources-2019-08' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.resources.v2019_08_01
- output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2019_08_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-resources-2019-07 and java
-
-These settings apply only when `--tag=package-resources-2019-07 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-resources-2019-07' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.resources.v2019_07_01
- output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2019_07_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-resources-2019-0510 and java
-
-These settings apply only when `--tag=package-resources-2019-0510 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-resources-2019-0510' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.resources.v2019_05_10
- output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2019_05_10
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-resources-2019-05 and java
-
-These settings apply only when `--tag=package-resources-2019-05 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-resources-2019-05' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.resources.v2019_05_01
- output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2019_05_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-resources-2019-03 and java
-
-These settings apply only when `--tag=package-resources-2019-03 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-resources-2019-03' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.resources.v2019_03_01
- output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2019_03_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-resources-2018-02 and java
-
-These settings apply only when `--tag=package-resources-2018-02 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-resources-2018-02' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.resources.v2018_02_01
- output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2018_02_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-resources-2016-09 and java
-
-These settings apply only when `--tag=package-resources-2016-09 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-resources-2016-09' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.resources.v2016_09_01
- output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2016_09_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-subscriptions-2018-06 and java
-
-These settings apply only when `--tag=package-subscriptions-2018-06--java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=